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.
Deployment and access control
The available deployment options provide you with considerable flexibility in controlling access to solutions. There are two broad levels of access control.
On a first level, access can be controlled at the server level, according to the kind of server access (internal/external) that is allowed:
•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.
On a second level, for each server a set of users can be defined that have access to the solutions on 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.
How to deploy a project
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.|
What is deployed?
The following files are deployed when the project is deployed with the File | Deploy to Server command:
•The project file (aka design or MTD file), which has the .mtd extension, is deployed to the server. This file is the solution that will be accessed by the MobileTogether Client app.
•All the deployable files in the Files Pane that have their check boxes selected. These files are typically image files and the default files of page sources. Note: If you are deploying from a MobileTogether package—and not a MobileTogether design directly—then you do not have to select deployable files; all resources that are to be deployed are contained in the package and will be deployed automatically to the server.
All deployed files will be stored on the server and will automatically be correctly accessed by the solution file. This is very convenient because you do not have to worry about file paths being correct. Note, however, that these files are read-only. So, any files that need to be written to cannot be deployed, but must be saved manually on the server. The server and the design file must then be correctly configured to access the writable file. See the section Location of Project Files | A directory on the server for details of how to do this.
|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.|
Deployed files and the locations of project files
Deployed files are read-only. If there is a Save action defined for a file that is marked for deployment (in the Files Pane), then the design will be invalid—since the file will be read-only when deployed and cannot be written to. Deployed files are saved in the design and are read from there.
Files that are not deployable must be stored at a server location that is correctly referenced in the design. To build a correct reference to the file, you must correctly configure (i) the file's location when it is added, and (ii) MobileTogether Server's Server Side Solution's Working Directory setting. See the section Location of Project Files | A directory on the server for more information.
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.|