UserGuide

Xojo Cloud General Information

From Xojo Documentation

Statistics

You can get statistics for your Xojo Cloud Server and its running apps from the Xojo IDE (2018r1 or later). To display the Statistics window, open any Web project, select Xojo Cloud in the Build Settings, select your Server and then click the Show button next to the Statistics property. This displays a window like this:

Use the drop-down in the window to show stats for the apps you have running on the server.

You may need to first deploy an app to Xojo Cloud before statistics will be available.

Firewall

When using classes that have to communicate outside the server (database or socket classes, for example), you need to use the XojoCloud.FirewallPort class to first open the port.

Dim fwp As New XojoCloud.FirewallPort(587, XojoCloud.FirewallPort.Direction.Outgoing)
fwp.Open() // This call is synchronous
If fwp.isOpen() Then
// Do what you need to do
fwp.Close() // Close port when done
End If

Installing Fonts

To install your own fonts, use SFTP to copy them to the Fonts folder of the home directory.

Domain Name Redirection

When you sign up for a Xojo Cloud account, you are assigned an IP address for your server. To point a domain at it, you have to go to the registrar for you domain and add an "A" record to the DNS settings and point it to your server's IP address. The specific steps for this vary depending on your registrar.

Once this change propagates (which can take several hours depending on a variety of factors), you'll be able to access your server using your domain name. Currently Xojo Cloud web apps require the directory of the web app in the URL. This means that the even after mapping the domain name, the actual URL will have to look like something like this:

   http://demos.xojo.com/EEWeb


But with a little bit of HTML, you can redirect the main domain to a specific web app.

For example, say you want http://demos.xojo.com to automatically display the EEWeb app. You can create an index.html file with this HTML:

<html><head><meta http-equiv="refresh" content="0; url=http://demos.xojo.com/EEWeb"></head></html>


Use SFTP to upload it to the "Web Applications" location on your Xojo Cloud server.

Now, the url http://demos.xojo.com automatically displays the EEWeb example. Note that after the redirect, the full URL (including the directory) will appear in the browser address bar.

Alternatively, you can use JavaScript in an index.html page to redirect similarly:

<SCRIPT language="JavaScript">
     window.location="http://app1.mydomain.com/red";
</SCRIPT>


You can only use this technique to redirect to a single web app.

Server Date and Time

All Xojo cloud servers are GMT 0 and do not use daylight savings time.

Available Memory

You can check the available memory for the Xojo Cloud server by installing the CloudTop app on your server and connecting to it. It uses the "top" terminal command to report back memory usage.

You can build the CloudTop app using the project included with Xojo here:

Examples/Xojo Cloud/CloudTop

Xojo Cloud Specific Code

You can use the TargetXojoCloud constant to isolate code that should only run when the web app is running on Xojo Cloud. For example:

#If TargetXojoCloud Then
// Running on Xojo Cloud
#Else
// Not on Xojo Cloud
#End If

File Access

Use the SpecialFolder module to get access to specific folders in Xojo Cloud. These are the valid methods (all others return Nil on Xojo Cloud):

  • Fonts
  • SharedDocuments: The web server Shared_Documents folder.
  • Documents: The Documents folder within the web app folder.
  • Temporary: The web server tmp folder.

For example, to get to a file in the Share_Documents folder:

Dim myFile As FolderItem = SpecialFolder.SharedDocuments.Child("MyFile.txt")

Using External Apps and Libraries

If you have an external (command-line) app that you'd like to use with your deployed web app, you can copy it to the Shared_Documents folder (SpecialFolder.SharedDocuments) using SFTP, set its permissions to "execute" and then launch it using a Shell from your Xojo web app. This external app must be compiled to work with 32-bit CentOS and must be self-contained in order for it to run on Xojo Cloud.

You can also install Linux libraries (32-bit, CentOS) into the Shared_Documents folder so that you can call them using the Declare command.

Static Content

Xojo Cloud uses the Apache web server so it can also serve up static content such as images and HTML. Any static content should be placed in the web folder on the Xojo Cloud server in order for it to be accessible.

Updates

Xojo Cloud is a transparent maintenance service. There is a support and SLA policy, but all security updates, firewall configuration, etc. are done for you. Upstream providers are white labeled, and may change in the future. As a transparent maintenance service, Xojo Cloud does not offer a general change log or upstream provider communication chain.