After you have completed the design of your project in MobileTogether Designer, the project (or design) is ready to be deployed to one or more MobileTogether Servers. In order to deploy the project to a MobileTogether Server, you need to have an HTTP connection to the machine on which the targeted MobileTogether Server is running. Once the project is deployed, it is available as a MobileTogether solution that MobileTogether Client applications running on mobile devices can access.
Access to a solution can be controlled on two levels: (i) accessibility of the server where the solution is deployed; (ii) a client device's access to a server.
•Deployment to in-house servers behind a firewall automatically restricts access to internal users, for example, to the employees of a company.
•Deployment to servers that allow external access allow external end users to access MobileTogether solutions, for example, the customers or clients of a company.
For each server a set of users can be defined that have access to that server. Access will be available only to those client devices that submit the appropriate user-name and password. The users of a server and their privileges are defined in settings of MobileTogether Server. See the user manual of MobileTogether Server for details of how to define users, roles, and user privileges.
The following files are deployed when the project is deployed with the File | Deploy to Server command:
•The project (.mtd) file, which is deployed to the server. This is the solution file that will be accessed by the MobileTogether Client app on the client device.
•Deployable files in the Files Pane that have their check boxes selected. These files will be read-only and typically are image files and data files. They can be deployed to the server or client or both. If a file is deployed to the client, then it is transferred from the server to the client once, when the solution is started. If a file is looked up frequently, then it might be better to deploy it to the client. This would save the time required to transfer it from the server each time the file is called.
|Note:||Audio and video files cannot be deployed to MobileTogether Server via the MobileTogether Designer project's Deploy to Server mechanism. You can, however, copy audio/video files manually to the server, although you cannot stream them from there via a URL. If you wish to stream audio/video files that are located on your MobileTogether Server, then do the following: (i) use the Load Binary action to load the binary audio/video data to a page source node; (ii) use the Save Binary action to save the data in this node to a file on the client device; (iii) use audio/video playback actions to play the file that is now saved on the client device. Alternatively, you can save audio/video files to a web server—instead of saving to MobileTogether Server—and use a URL to stream the audio/video file from the web server.|
|Note:||If you are deploying a MobileTogether package—and not a MobileTogether solution—then you do not have to select deployable files. All required resources are contained in the package and will be deployed automatically to the server.|
Deployed files are read-only. If there is a Save action defined for a deployed file, then the design will be invalid—since the deployed file is read-only and cannot be written to. Deployed files should be used to display information or visuals (images, charts, etc) or to read data.
If you want to save data to a file or database, then store the file at a location in the Server Side Solution's Working Directory and reference the file correctly in the design. To build a correct reference to the file, (i) specify the file's location when it is added, and (ii) make sure that the Server Side Solution's Working Directory is correctly set in MobileTogether Server. See the section Location of Project Files | A directory on the server for more information.
A project is deployed to the server with the File | Deploy to Server command. This command displays the Deploy to MobileTogether Server dialog (screenshot below), in which you specify the server connection details and whether the server uses SSL communication.
|Note:||The Automated test runs pane displays the test cases that have been saved to the design. It appears only if at least one test case has been saved to the design.|
Updating server settings on client devices
In order for a client device to run a solution, the server's access settings must be configured on that device. If the server settings change—for example, if the MobileTogether Server is moved to another machine that has a different IP address—then the server settings on client devices must be modified accordingly. The MobileTogether function mt-server-config-url generates a URL that contains the new server settings and looks something like this: mobiletogether://mt/change-settings?settings=<json encoded settings>. This URL can be sent as an email link to the MobileTogether Client device. When the link is tapped, server settings on the client are automatically updated.
The JSON-encoded server settings that are contained in the URL are provided by the argument of the mt-server-config-url function (described here). For an example of how to use this function, see the example solution ClientConfiguration.mtd in the MobileTogetherExamples/SimpleApps folder of your MobileTogether Designer installation.
|Note:||Links to update server settings do not work in Gmail and some other email applications, but they work in popular clients such as AquaMail, K9, and MailWise. They have been tested in AquaMail and K9 and work correctly in these applications.|