Version 8.1 of Altova MobileTogether was announced on January 25, 2023. Learn about all the new features below and update to the latest version.
|MobileTogether 8.1 (January 25, 2023)|
|Major updates for no-code development using RecordsManager|
|UI compatibility mode between clients|
|Asynchronous progress update|
|Deployment of very large server-side files|
|Support for EXCLUSIVE transactions in SQLite databases|
|Option to not save child tables|
|New Actions: copy/paste to clipboard|
|New button image: Web|
|Strikethrough font for additional controls|
|Support for Android 13|
|Support for PostgreSQL 14.5, MariaDB 10.9.2, SQLite 3.39.2|
Altova RecordsManager is a no-code solution for creating custom database apps in MobileTogether Designer.
When you first open MobileTogether Designer, have the option to create a classic MobileTogether solution — or create an app with an intuitive, purely visual design interface using Altova RecordsManager.
MobileTogether 8.1 introduces new features in RecordsManager 2.0 including:
Learn more about RecordsManager and the new features in RecordsManager 2.0.
MobileTogether automatically creates apps for iOS, Android, Windows, and the web simultaneously, based on your single design. However, the look and feel of default elements — such as default fonts and colors, button looks, margins and padding, and so on — often differs among operating systems. When a MobileTogether developer wants an app to look as close to the same as possible across all platforms instead of using the native look-and-feel of each, it is now possible to enable this automatically using the new UI Compatibility Mode option.
When this option is set to True, MobileTogether will make the default style values in your project as similar as possible. This saves developers a tremendous amount of time previously spent on fine tuning styles per OS.
Developers now have the option to display a progress bar to app users while longer server actions execute, such as a lengthy database update. The progress indicator and behavior are defined as a subpage that appears when the server actions start to be executed. The progress subpage closes automatically when execution of the server actions is completed—or when the user cancels execution. An example of a progress indicator is shown below, though developers can implement it as desired.
The new progress indicator functionality is accompanied by a tutorial in the MobileTogether Designer Help Manual explaining the new actions, variables, and functions for implementation.
SQLite databases offer the option to restrict database connections to a single user during critical changes, such as modification of the table structure to add new fields or additional tables, rename items, etc. Allowing a single connection for a short period of time for critical changes helps preserve database integrity and consistency.
MobileTogether developers now have the ability to use this option on the DB Begin Transaction Action. When connecting to a SQLite database, a timeout (in seconds) property becomes available, allowing the developer to specify a waiting period for the write-lock. When the EXCLUSIVE transaction is active, other connections are not able to read or write to the DB and get a message that the DB is currently locked.
When a database is loaded hierarchically, it can be useful to make sure that only modifications to the top table are saved and child tables are not modified. For instance, when editing data in a parent table and the app loads data in its child table(s) for display purposes, it’s useful to ensure that only changes in the parent table are saved. This helps with editing concurrency when multiple users are editing data in different tables.
|MobileTogether 8.0 (June 1, 2022)|
|Option to create a no-code database app with Altova RecordsManager|
|New Database Wizard & support for hierarchical DB read/write|
|Support for modularization|
|Ability to restrict logging in MobileTogether Designer|
|Server side solution files|
|New lock/unlock Action|
|New Action to rename file/folder|
|New Action copies file/folder to another location on the same device/server|
|Option to move deleted files to Trash|
|New option to switch theme via an Action|
|Comments in page sources|
|Switching database connection during execution|
|Support for additional database versions|
|Support for iOS 15 and Android 12|
|Support for Windows 11|
|Support for macOS Big Sur, macOS Monterey, and Linux Debian 11 (MobileTogether Server)|
Altova RecordsManager is a brand new solution for creating custom database apps in MobileTogether.
Starting with Version 8.0, when you open MobileTogether Designer you will have the option to create a classic MobileTogether solution — or start with Altova RecordsManager. RecordsManager has a visual interface for quickly building business database apps for desktop and mobile users.
One of the biggest advantages of RecordsManager is that app creators don’t need to build the database backend themselves. They simply focus on the objects they want to model, and RecordsManager takes care of the rest. This saves an incredible amount of time and work and allows system administrators or developers of all skill levels to easily create effective apps.
Check out this video to see RecordsManager in action.
Previously, working with backend data in relational databases required quite a bit of hand-written SQL work to perform commonly required tasks. For instance, including data from two tables in a single form required two separate database queries. As such, saving the same data back to the database was also complicated.
MobileTogether 8.0 takes an entirely new approach that lets developers more readily build a query that returns hierarchical data and write the data back in hierarchical form. The new Database Wizard provides an easy way to build SELECT statements visually, and any parameter to the SQL query can now be directly expressed using an XPath statement, i.e., there is no longer a need to explicitly declare parameters.
The Database Wizard also lets developers add tables connected via foreign keys to the result – all in a single step. This means an entire hierarchy can be retrieved at once.
Any changes made during app execution will be intelligently written back to the relationally linked database at once. When saving hierarchical data, the app developer can choose whether to save modifications only or to replace all the data for the current record. This decision can be made on each level independently. Data replacement is the preferred option when multiple users are allowed to edit the same record at the same time.
The new approach to working with hierarchical data in otherwise flat relational databases in MobileTogether will prove to be a huge time saver that makes app development that much simpler.
MobileTogether 8.0 introduces the ability to modularize the app design file so that multiple developers can work on the same project. This also adds the ability to reuse parts of projects in other projects.
To facilitate refactoring of existing projects, there is a new option to extract part of an existing project as a new sub project. This enables a wide range of components that are defined in a project to be re-used across multiple projects. One subproject can include another subproject.
A new Refactor menu provides options for working with subprojects. Subprojects included in a particular design file are displayed in the Files pane.
Modularization is also implemented with a new Modules pane, which organizes design components into logical parts.
The Modules pane provides a single location for managing modules, which are grouped automatically based on their names. This way, you can tell at a glance which functions and actions go with which pages, and you can navigate to them automatically from the modules listing. Modules are organized by name using dot notation ( i.e., ModuleName.ComponentName, etc.). For example, see the Edit Field module in the screenshot below that includes all the related variables, Action Groups, pages, XPath functions, subpages, etc., grouped together by name.
You can move unassigned items into modules by renaming them. Or, you can move or re-assign items manually, and MobileTogether Designer will automatically rename them accordingly and update all references across the project.
Adding a custom color to a module highlights the module items in that color across the project for easy identification.
When a subproject is extracted from a project, all components of the project will, by default, be exported to the subproject. If you want to export only a subset of components, then you can group them in a module and set the Export property of the module to either Exported or Not Exported, as appropriate.
The Modules pane automatically organizes large projects and helps you find things more easily to immediately understand how and where each item is used. Items that belong together are grouped together logically, making the entire project easier to understand. This is also extremely helpful when a project is inherited or worked on by multiple developers.
Refactoring and modularization offer numerous advantages from reducing development time and enabling teamwork to supporting fast, flexible updates and maintenance.
Server Libraries are a new type of MobileTogether design file. When an app or solution utilizes a Server Library, the library can be exchanged at any time without needing to redeploy the app. This allows for much quicker roll-out of app updates and changes, especially for complied apps – which no longer need to be recompiled and sent through the app store approval process.
A Server Library is a MobileTogether design file that contains one or more Action Groups, and its functionality is limited to processing these Action Groups. At runtime, a solution can send a call to a Server Library with or without parameters. The Server Library processes the specified Action Group and returns the result to the calling solution.
Server Libraries are well suited for situations, for example, in which data is retrieved from a data structure that is outside of the developer’s control and that changes arbitrarily and at irregular intervals. It might be difficult to modify and deploy a new main solution and update already downloaded solutions each time this data structure changes. However, a Server Library could deal with the modifications of the data structure outside the main solution, process the modified data structure, and return data to the main solution so that the returned data conforms to the structure expected by the solution. Server Libraries are also helpful for efficiently addressing issues with internal data processing.
Advantages of this approach include:
Use of Server Libraries requires MobileTogether Server Advanced Edition.
When simulating an app in MobileTogether Designer, it is now possible to restrict logging functionality to reporting only errors. This allows the app to function much as it will in the real world, giving developers a better idea of how fast their app or enterprise solution will perform.
It is now possible to add a list of files to be deployed with a MobileTogether design to the MobileTogether Server directly in the design file itself - instead of copying the files manually. On deployment, the developer can choose to overwrite the files if they already exist on the server. Server-side solution files are specified on the Files tab.
This new Action enables clients running a solution to be locked from access to the MobileTogether Server while critical server-side changes are being carried out on the Server. After that, the developer can simply unlock server access and let clients continue their work or require all running clients to restart.
Please note that this Action requires MobileTogether Server Advanced Edition.
MobileTogether apps and solutions support switching themes, such as between dark and light displays, either defined during development in the project settings or based on the device’s default setting. Now there is a new Action for changing themes that will allow the end user to select the desired theme inside the app itself.
It is now possible to choose the database file behind your app at runtime using a new Action called DB Switch Connection. This gives the developer the option to let the end user decide which database to use. The connection can be changed as many times as required.
This feature requires MobileTogether Server Advanced Edition.
Starting with Version 7.3, you can enable in-app purchases in the native iOS, Android, and Windows apps you create in MobileTogether. Support is available for both one-time purchases and subscriptions.
This is a powerful new feature that allows you to monetize any apps you create with MobileTogether using the native App Store purchasing process on each platform.
In your MobileTogether design, you will define the interactions between your app and the app store to correctly transact an in-app purchase.
Features supporting in-app purchasing include new MobileTogether Actions and extension functions for defining what can be purchased, configuring events to occur when purchase states change, and querying available products.
The main interface between the MobileTogether design and app stores is the new In-App-Purchase Page Source, which can dynamically hold app store data about products and purchases that can then be used by your app.
MobileTogether 7.3 ships with a tutorial and sample app to get you started implementing in-app purchases in your apps quickly and easily.
The ability to include in-app purchasing in the apps you create in MobileTogether gives you even more options for building sophisticated, feature-rich apps that meet your business objectives while providing users with premium content and features.
It is now possible to integrate one or more MobileTogether solutions in a Universal Windows Platform (UWP) application using the universal MobileTogether Windows client. This way you can take advantage of MobileTogether for quick, easy development of sophisticated functionality and then integrate it seamlessly in another application.
This is a must for building more complex enterprise solutions on the Windows platform and gives you the ability to extend the functionality of your solution if the built-in controls and views provided by MobileTogether are not sufficient for your particular use-case.
A MobileTogether solution is placed in a UWP app via a new SolutionView control that Altova has introduced specially for this purpose. Each UWP app can integrate more than one MobileTogether solution, all of which can run at the same time.
To help you get started, the MobileTogether Designer installation contains an example C# project that shows how to use the SolutionView control in a simple UWP app.
When developing an app in MobileTogether you can now assign tooltips to controls such as buttons, labels, check boxes, etc., to provide end users with information before using the control. Tooltips are displayed to the end user on long-click on mobile devices and mouse-over on desktop devices.
Tooltips are defined in the Styles & Properties window of the control.
Version 7.2 of Altova MobileTogether was announced on December 15, 2020. Learn about all the new features below and update to the latest version.
|MobileTogether 7.2 (December 15, 2020)|
|Ability for users to switch themes (light/dark) in MobileTogether client|
|New Action to add log entry|
|New button image: View|
|Setting to change colors for pre-defined buttons|
|Additional styles for slider controls|
|New function: mt-server-variable|
|New function: mt-page-stack|
|Support for dragging message/dialog boxes in web client|
|Padding setting for table cells|
|Syslog support (MobileTogether Server Advanced Edition)|
|Backup/restore support for SQLite (MobileTogether Server Advanced Edition)|
The new Log Message Action makes it possible to log a customized message on the MobileTogether Server or client during the execution of an Action. This helps the developer analyze app behavior at a specific point.
A log entry can be generated based on the selected severity: info, warning, or error.
Syslog is a standard protocol used to send system log or event messages to a specific server, called a syslog server. Developers often use a syslog server to collect logs from various machines in a central location for further analysis.
This is now supported as an option on MobileTogether Server Advanced Edition.
For apps that connect to SQLite databases, a new Backup/Restore SQLite DB Action allows you to back up the SQLite database multiple times to a folder you designate. You can subsequently restore the SQLite database from one of these backups if required.
This functionality requires MobileTogether Server Advanced Edition.
Version 7.0 of Altova MobileTogether was announced on July 14, 2020.
|MobileTogether 7.0 (July 14, 2020)|
|All new MobileTogether Debugger|
|Overwriting Control Template styles and actions at any instance|
|New Action: Update Variable|
|New scroll-to options|
|Support for new units: dp/sp|
|New pre-defined button looks|
|Padding settings for table rows/columns|
|Edit Fields - new option to trigger control actions after time interval|
|Button image resizing to correspond to text size|
|Localization of Services|
|New XPath function: Chart|
|Support for Android 10|
Because MobileTogether is capable of building highly complex, elegant solutions, developers need the ability to troubleshoot during development to understand and debug app behavior.
Now, MobileTogether Designer offers full-featured debugging of both the execution flow inside action trees AND the results of XPath/XQuery functions called inside those trees. This is accomplished with two debugging views:
The MobileTogether Debugger runs during app simulation. A new toolbar in the Simulator window lets you enable debugging to stop at the next error, next breakpoint, or next Action during the simulation. Breakpoints can be configured prior to or during a debugging session and can be set on any number of Actions or XPath expressions.
When a stop point is reached, the appropriate debugging view opens and you can step through the execution of the Action or XPath expression.
During debugging, you can view the callstack of Actions, view how the values of variables are updated during the execution of Actions, and set watch expressions to test or investigate aspects of the Action execution.
The new debugger in MobileTogether Designer gives developers the power to test and debug their apps with precision to immediately understand any app behavior - all directly in the low-code design environment.
Introduced in MobileTogether 6.0, Control Templates are powerful design components that allow you to design and group multiple controls to be easily reused in different locations across the various pages and subpages of an app development project. Place Holder controls are used to add a Control Template in a desired location.
In this release Control Templates are even more flexible: it is now possible not only to reuse the templates, but to override or modify their behavior at different instances. The ability to reuse the existing template but modify it slightly saves tons of work and by letting you take advantage of existing resources.
You can modify the behavior of a Template Control in a specific location by selecting the corresponding Placeholder Control and then selecting Template Control Event Overrides from the right-click menu. This opens the Actions window, where you can modify the Control Template Actions for this particular instance only.
The ability to modify Control Template behavior makes this powerful functionality even more flexible for efficiently re-using work to define sophisticated app functionality.
See an indepth how-to on working with control templates.
The new Update Variable action makes it possible for user-defined variables to be given new values during solution execution.
This offers more flexibility for data provided during app execution (calculations, user input, etc.) to be used as the values of variables. Previously these were stored in XML trees, but using variables is advantageous for many tasks because they can keep and modify maps, arrays, and other XQuery structures.
Device-independent pixels (dp) and scale-independent pixels (sp) are now supported as the default units of measurement in MobileTogether designs. Apps built in MobileTogether will be used on a variety of OSes and devices of various sizes and resolutions, and these units allow for this, as well as users’ device settings, ensuring a consistent look and feel on any device.
Specifying size in dp makes it possible to define a display of the same size across devices that have different resolutions. Scale-independent pixels are the same as dp with an additional scaling factor that is based on the font size that the user selects in the device's system settings - as such, sp are used only as a unit for text-size.
In addition to support for dp/sp units, a new function called mt-convert-units lets you to convert between pixels and dp/sp.
MobileTogether Designer includes a host of pre-defined button looks that make it quick and easy for developers to add attractive icons for common tasks to their apps. This latest release includes several additional options:
Certain actions can be triggered based on data input by users. Now, to allow the app to more efficiently respond to what the user is typing, the developer can specify an interval of time, the default value being 500 ms, to wait after the last character is entered before executing the action. This allows the user to type easily without interruptions.
A MobileTogether Service is a set of MobileTogether actions deployed to MobileTogether Server that can execute independently of any app running on a mobile device, based on a variety of triggers. For instance, a service could query a database based on some external criteria and perform an action such as sending a notification or an email.
With this release, the same localization options available for enterprise and app store apps have been extended to Services. Languages supported for localization include English, French, German, Japanese, and Spanish.
MobileTogether Server Advanced Edition is required for services.
Version 6.0 of Altova MobileTogether was announced on November 19, 2019.
|Control Templates and Placeholder Controls|
|Support for dark/light modes|
|Ability to call Action Groups via XPath|
|Subpages now have parameters|
|Local variables in Action Groups, Sub Pages, Templates|
|New Action to execute a FlowForce job|
|New Action: Break loop|
|Option to install MobileTogether Server without sample apps|
|Option to deploy package via MobileTogether Server command line|
|New option for restarting apps/solutions|
|Support for split-screen on Android|
|Resizing of RichEdit control based on content|
|New XPath functions to convert JSON trees to/from string|
|New image buttons for Undo/Redo, Cut/Copy/Paste|
|Ability to specify order of database commands on save (delete, update, insert)|
|Support for additional database versions|
|Support for strikethrough text in Labels|
A major breakthrough in dynamic design for MobileTogether apps, Control Templates and Placeholder Controls facilitate design reuse and make it easy to implement efficient, flexible options for various scenarios.
A Control Template is a new design component that allows you to design and group several other controls in a way that makes this group of controls easily reusable on multiple other pages. Control Templates support parameters, and each template can be reused in different locations across the various pages and subpages of an app development project.
Control Templates provide flexibility by allowing you to:
A Placeholder Control is used to place a Control Template at a desired location on a page. You can use multiple Placeholder Controls to place a Control Template at multiple locations.
There are countless ways this new functionality can be applied. For example, you can show an edit field for editable content and a read-only label for the same content, based on the app user permissions. This removes the necessity to design different input forms for different users - the form itself can change. Or, you can show different Controls at the same location, depending on the situation.
The simple example below shows a Control Template that defines a set of dynamic horizontal radio buttons. This portion of the app asks users to first select their continent, followed by their country and city, values for which are shown dynamically based on the previous selection.
Control Templates and Placeholder Controls represent a major step forward in elegant app design by enabling easy reuse and enhancing flexibility.
To help developers get started quickly with these powerful features, MobileTogether Designer 6.0 ships with four example projects that highlight defining, implementing, and reusing Control Templates and Placeholder Controls.
With the release of Android 10 and iOS 13, dark mode is enjoying a resurgence in popularity for a variety of reasons, from increased battery life to decreased eye strain caused by bright screens.
MobileTogether 6.0 gives app developers the ability to force light or dark mode for their apps, or detect the user’s preferred mode based on the device system settings.
MobileTogether Action Groups define a series of actions to execute with an app. Once defined, an Action Group can be reused throughout a project. With the ability to pass Action Group names and parameters via XPath, the Action Group to be executed in a particular scenario can be determined dynamically at run time (for example, by getting the name of the Action Group to execute from a page-source node, based on the device OS, desktop vs. mobile devices, and so on), providing additional flexibility for closely customizing app behavior.
You can now pass parameters to the sub-page to control how the subpage performs in various conditions, helping to further enable efficient dynamic design. Since subpages can include all UI features, parameters essentially help the developer treat a subpage like an Action Group call with a UI.
You can declare parameters and variables for a subpage by clicking its Add Parameters/Variables button.
Now, in addition to global variables, MobileTogether supports local variables that only exist within the scope of the current function for calculations you don’t need elsewhere.
Support for local variables in Action Groups, subpages, and templates is another feature added to this release that offers advanced programming functionality to MobileTogether developers.
Through integration among Altova high-performance server software offerings, FlowForce Server jobs can be triggered by MobileTogether apps. For instance, a FlowForce job might execute a complex data mapping that calculates real-time sales report figures, then delivers the report instantly to the MobileTogether app user in a beautiful, native-client form.
Now, in addition to specifying a FlowForce job as a data source, developers can execute such jobs via Actions. This simplifies calling FlowForce, especially when passing parameters.
This new Action makes it easier to break a loop during execution of an action script. Previously, the Break-loop-if Action required the developer to specify conditions for breaking a loop. Now, it’s possible to break a loop immediately and proceed to the next statement following the loop.
There is a new extension to the Solution Execution Action that allows the developer to specify when to restart a solution – for example when switching languages or databases – without requiring user intervention. For browser-based solutions, the app can either be restarted completely or a new copy can be started in a new tab.
On devices running Android 7 or higher, apps can be shown in split screen mode, e.g., with one app running in the top half of the device screen and another in the bottom half. MobileTogether apps now support running in this manner.
App designers can add custom icons and images to any button, and MobileTogether also ships with a collection of ready-made images for the most common button operations (e.g., email, fast forward, calendar, etc.).
In Version 6.0 new, easily recognizable images are available for undo/redo, cut, copy, and paste.
MobileTogether apps can connect to all popular relational databases. In this release support has been updated to include the latest versions of several, as follows:
Version 5.4 of Altova MobileTogether was announced on June 12, 2019.
Adding to existing geolocation functionality in MobileTogether, a new Geolocation Map control lets developers display a map directly in their app. The map can display the street, satellite, or hybrid view of the specified geographic area. Points of interest in the area can be shown by different colored markers in the map.
Viewport, Control Width, and Control Height properties provide flexibility for controlling how the map is displayed.
The control has a OnGeoMapMarkerClicked event, which lets the app developer define actions to perform when a particular marker is clicked by the user.
New variables and extension functions have been created to support map functionality:
The new Record-video Action makes it possible to record video from a MobileTogether app.
Developers can define triggers that start the device’s video recording app and specify:
Video recording adds to existing functionality for playing videos in an app built with MobileTogether.
Starting with MobileTogether 5.1, developers have an option to automatically display web page URLs and email addresses in Labels as live links. Clicking or tapping the link opens the targeted website page in a browser or a new email in the device's email app.
Automatic link detection is configured in the Styles & Properties pane and can be set to:
The OnPageRefresh event of each page in an app now has a new option: refresh due to orientation or size change.
This makes it possible to define actions to occur when the user changes the orientation (portrait/landscape) of the device, as well as when the he/she re-sizes the app window. (The latter is only applicable to devices that support resizing the app window, such as a desktop or laptop running a MobileTogether Windows client.)
Now, in addition to retrieving a list of files and sub folders from a folder on the MobileTogether Server or client at runtime, options have been added to allow:
MobileTogether supports secured SSL connections between MobileTogether Server and client devices running MobileTogether apps. Now, in addition to allowing you to upload a certificate purchased from a certificate authority, MobileTogether Server makes it easy to obtain and auto-renew a free SSL certificate from Let’s Encrypt directly in the MobileTogether Server admin interface.
Let’s Encrypt is a certificate authority created by the Internet Security Research Group (ISRG) to provide free digital certificates to enable HTTPS (SSL/TLS) connections. With the stated goal to create a more secure Internet, the IRSG provides certificates at no charge and strives to make the process as easy as possible. As such, software running on a web server can interact with Let’s Encrypt to obtain a certificate, securely configure it for use, and automatically renew the certificate when required. Let’s Encrypt certificates are valid for 90 days and may be renewed at any time during that period.
A new dialog makes it easy to request a free SSL certificate from Let’s Encrypt, directly in the MobileTogether Server admin interface. Once the certificate is obtained and installed, MobileTogether Server will automatically renew the certificate every two months.
We've prepared a short demo video showing how easy it is to request an SSL certificate from Let's Encrypt in MobileTogether Server.
Version 5.0 of Altova MobileTogether was announced on November 7, 2018. Learn about all the new features below.
|New UI design options|
|Support for padding|
|Support for borders in tables|
|Buttons with images and text|
|Options for text auto-fit|
|Ellipsis display for long text|
|Copy/Paste for project stylesheets|
|Ability to write (not only read) to XPath targets via variable|
|Update more than one node at once|
|Load/Save to/from text files|
|Support for sending files and binary data via REST interface|
|New database functionality|
|Database structure retrieval|
|Load/Save file actions with page sources determined at runtime|
|Support for additional database versions|
|Global find & replace|
|Support for authentication via any LDAP server|
|Automated backup of the MobileTogether Server internal database (Advanced Edition)|
In MobileTogether 5.0, the web browser client has been completely rewritten with a fresh, modern look. Controls and icons have been redesigned, and overall the UI of your web apps will be more crisp, clean, and attractive.
While MobileTogether is best known as a rapid mobile application development (RMAD) framework for iOS, Android, and Windows apps, the platform is equally well suited for building sophisticated web applications.
Because MobileTogether lets you build apps very quickly using a low code approach, it makes it possible for in-house web developers, citizen developers, and power users to rapidly build data-intensive web apps and deploy them instantly over enterprise intranets or the Internet.
Opting for a web app has numerous benefits. Because the app is available in any web browser, users don’t need to have a client app pre-installed on their device or computer, making deployment easy in large organizations as well as for customer-facing apps. There’s nothing to download: users simply access your app via URL. Of course, security options are available as required. All of these factors make life easier for enterprise IT departments and end-users alike.
Because a single design in MobileTogether Designer generates native apps for all platforms as well as a web app, the same functionality and sophistication available for building custom, feature-rich mobile apps is extended to developing web apps for any industry or purpose.
MobileTogether provides numerous options for tables, including new support for adding borders to tables, rows, columns and cells.
There are two ways to define border properties: in the Styles and Properties entry helper window or in a new Border Settings window that makes it easy to configure multiple border properties at once using familiar formatting menus and buttons. As you work, affected table elements are highlighted and you can see the result of every change immediately.
This frequently-requested functionality makes it easier to define and style tables with flexible options.
In addition to defining margins, MobileTogether developers can now add padding to relevant controls. Padding adds space between a control’s content and the inside edge of the control. Using the Styles and Properties entry helper, you can set padding for a control with a single value for all sides of the control’s content or configure it separately for left, right, top, and bottom.
To bring even more flexibility to UI design, you can now assign both an image and text to any button control. To add an image to a button, choose from a collection of predefined images or upload your own. You can also configure the image to be to the right or left of the button text.
It is now possible to set the text size to automatically fit the text, which means that the font will be made smaller automatically if the text doesn't fit the available width. This way, developers can ensure that apps will be readable and attractive on a wide variety of devices and screen resolutions. It is also possible to group multiple controls on a page to have the same automatically-determined text size, so that the overall design is adapted consistently.
In addition to the text auto-fit option described above, developers can configure controls that have text to display an ellipsis if the text doesn’t fit the width of the control. This again ensures that the UI will look good on all form factors and also helps account for differences in localized versions of your app, where some words may be longer or shorter depending on the current language.
MobileTogether Designer includes project stylesheets that make it easy to define global styles that can be applied at the project, page, table, and control level. It is now possible to copy an existing stylesheet and paste it into a new one, which makes it faster and easier to start a new stylesheet based on previously defined styles.
You can paste stylesheets to copy styles in the same app or in another app design file – a huge time saver.
MobileTogether 5.0 introduces several new functions for designing sophisticated app behavior, described below.
When creating new data trees or their parts, it is now possible to use the definition of a page source to create the structure automatically.
This function creates a hash string from any text using different hashing algorithms. This is important, for example, to avoid saving user passwords in plain text.
mt-table-rowgroup-count & mt-table-rowgroup-index
These new functions can be used in tables with repeating rows, for example, to display the table with alternate row colors based on the index, as shown to the right.
mt-called-by-enter-key & mt-called-by-escape-key
In certain scenarios it’s useful for the developer to determine app behavior based on whether a button was activated with a touch on a mobile device or by the user pressing the escape or enter key on his/her keyboard. Now, it's easy to design app behavior for any of these scenarios.
It is now possible to retrieve a database structure during runtime.
A new action, DB Read Structure, enables the structure of a database to be read and for data in the database to be stored in a new $MT_DBSTRUCTURE page source. Data in this page source can be used in the same way as data in any other page source.
This functionality makes it possible to create sophisticated apps that read the database structures of unknown databases on the fly and is most applicable to IT-focused apps.
To make developing and refactoring complex apps easier, MobileTogether 5.0 introduces a new Find & Replace Pane for searching for and/or replacing strings in XPath expressions, functions, and action groups in a design. Searching using regular expressions is also supported.
For quick navigation, search results are hyperlinked to the relevant objects in your design.
|Support for services (UI-less solutions that run on the server)|
|Read / write to device calendars|
|Ability to use Outlook contacts and calendar during simulation|
|Rich text control|
|New action: Save/restore Page Sources|
|New action: Delete Append Node|
|New property: Text Size Auto-fit|
|Multi-select combo box|
|New style: Enforce light theme|
|Ability to specify tab ordering for Windows and Web clients|
|Defining a default action for Enter/Escape buttons on Windows and Web clients|
|Automated tests per user / device|
|Support for additional databases: Teradata and MariaDB|
|New XPath functions|
|64-bit support for Android|
|New in MobileTogether Server|
|New MobileTogether Server Advanced Edition with services support|
|New predefined “admin” user role|
|Ability to move/rename existing containers and solutions in WebUI|
|Logging of server settings changes|
Services are solutions with no UI that are built in MobileTogether Designer and run on the customer’s MobileTogether Server to provide background functionality to other apps.
Once a service is deployed to the customer’s MobileTogether Server, various triggers such as time, file system events, and so forth can be defined to trigger the service to run. For instance, a service could be defined to monitor the Orders table in a sales database and trigger an action - such as sending a notification in an app, sending email to one or more recipients, and so forth - when an order arrives in the table. Another example is using a service to check XML feeds from a web site and send a notification to users when updates or changes are available.
Services offer MobileTogether developers another layer of sophistication for adding real-time functionality to their data-driven apps.
Please note that services require use of the new MobileTogether Server Advanced Edition, described in more detail below.
For developing apps that include scheduling functionality, this new calendar action provides rich integration with the calendar(s) on the user’s device. Support is provided for accessing multiple calendars to read events as well as to write events to a calendar. Specific functionality includes:
When the Access Calendar action is added to an app design, the $MT_CALENDAR data source tree is automatically added, allowing the app developer access to information for detecting scheduling conflicts and enabling the user to seamlessly add events to his device calendars.
During app simulation in MobileTogether Designer, it’s now possible to use the Outlook contacts manager for testing apps with email sending functionality. Outlook Calendars may also be used during simulation of the new Calendar action described above.
This new control allows developers to implement solutions that support rich text: text that includes formatting such as font sizes, bold, and italics. This support is especially important for MobileTogether solutions used in the Windows 8/10 client and the web browser, where users can enter and format rich text. For Android, iOS, and Windows Phone devices, the rich text control is read-only.
Rich text support was the final requirement for customers successfully transitioning their Altova Authentic Browser Edition solutions to MobileTogether for desktop and web browser access.
Authentic has long been available as a browser plug-in in addition to a desktop application. However, the more recent versions of popular browsers are discontinuing support for NPAPI and ActiveX and are in the process of ending support for browser plug-ins altogether.
Luckily, customers have a path to continue using existing Authentic forms built in StyleVision by exporting a StyleVision design file to a MobileTogether design as the starting point for a new app. Completed MobileTogether solutions can be accessed easily in a web browser – but without the need for a plug-in.
With added support for rich text, Authentic developers and end users will have access to all the same functionality - and more - using MobileTogether.
Often times it makes sense to deliver a notification or let an end user complete a simple task via a pop-up dialog window that doesn’t interrupt the user’s progress by taking up the whole device screen.
This new support makes configuring a pop up window as easy as defining a sub-page as a modal dialog in the app design. The app developer specifies the height and width of the pop-up window in the “Go to Subpage” action. During app execution, the pop-up will open in a window on top of the main page, allowing the user to receive the notification or complete the dialog before proceeding.
This new action makes it much easier to define when and how data is changed by a user’s input, and to roll back to the previously saved data when necessary. The developer can now easily define when to save a page source temporarily, and then to accept or discard further modifications depending on a user’s subsequent actions.
For instance, as an end user is filling in a mobile form, the app can save page sources before entering a sub page. Then, depending on what happens next, the app can continue with the changed data (and therefore discard the saved page sources) or roll back to restore the previously saved page sources.
This is helpful, for example, when a user decides to cancel before submitting a completed form or abandons a process before it’s complete.
This new action also allows developers to implement a transaction mechanism similar to transactions in a database.
A combo box normally offers a choice of multiple options, of which only one may be selected. In MobileTogether 4.1, the combo box control has been enhanced with the option to allow an end user to select multiple values at once.
This is easily configured by setting the multi-select property to "true" in the Properties entry helper window.
Newer Android and Windows devices now have their default theme set to the light background with dark text long used by iPhones and iPads. The new Enforce Light Theme style in MobileTogether helps developers easily extend this theme to older Android and Windows Phone clients. This saves significant development time and results in better performance because the styles don’t have to be applied individually at runtime.
Simply set Enforce Light Theme to true in the Styles & Properties entry helper to apply the theme project-wide. When Ensure Light Theme is set to false, the default theme of the user’s device is used.
This makes it possible to specify the order in which controls are selected when a user taps the Tab button.
Users on desktop and laptop devices are used to hitting Tab to move to the next field in a form, for instance, and this gives developers better control for creating the expected user experience and controlling how they navigate through a page.
Controls that have an OnClicked event (buttons, charts, images, and labels) can have their click events triggered via the client's Enter or Escape key in a Windows app or web browser.
Like defining Tab behavior described above, app developers can specify which control should be activated when a user presses Enter or Escape.
Version 4.1 includes a new edition of MobileTogether Server that provides additional features for the most sophisticated app development scenarios.
The debut release of MobileTogether Server Advanced Edition provides support for managing and running services, which, as described at the top of this page, are solutions with no UI that run in the background according to predefined triggers.
Once a service is defined in MobileTogether Designer, it is deployed to the customer’s MobileTogether Server, where the administrator can configure the service to start automatically according to a customizable system of triggers. These include including time triggers, file system triggers, HTTP triggers, or a combination of multiple criteria.
Version 4.0 of Altova MobileTogether was announced on November 7, 2017. Learn about all the new features below.
|Support for Push Notifications|
|Support for embedding a MobileTogether solution in a web application|
|New action: Load/Save String|
|New action: Read Folder|
|New action: Set Language|
|New action: MapForce Transfer|
|Updated Android support for Android 6.0, 7.0, 7.1|
|Support for PostgreSQL 9.6|
|Server usage statistics app|
MobileTogether 4.0 introduces the ability to send push notifications to one or multiple devices running MobileTogether apps. Users are familiar with receiving push notifications that provide information, such as news related to the app, and they can also be used to drive actions, such as accepting invitations, linking to a website, or modifying a database.
MobileTogether push notifications can include a short message, a “big” message, and a payload consisting of data structured as key–value pairs. Typically, the short message is what is displayed on the device when the notification is received. When the user taps the short notification, the big message is displayed in the notification area.
Messages can have buttons that allow the user to determine what action to take when the message is received. The payload of the notification is transferred to a data tree on the device and can be used by other actions; this enables new data related to the notification event to be freely processed by the whole range of MobileTogether actions and used with MobileTogether controls.
Deciding which devices receive a particular push notification is highly configurable. For instance, it can be sent to specific users (defined by name or role) or all users of an app. It may also be sent to users that have subscribed to receive news about specific topics (e.g., news, travel, etc.).
These flexible options for implementing push notifications give MobileTogether app developers yet another tool for building today’s most sophisticated apps.
The MobileTogether solution itself interacts with MobileTogether Server as usual and receives data that can then be communicated back and forth with the web application.
MobileTogether apps are embedded via an iFrame element in the HTML code of the web page, and multiple options for user or device authentication are available, if required.
This functionality has been requested by several customers and now makes MobileTogether even more useful for browser deployment and web development.
This new action pair is particularly applicable for use when embedding MobileTogether app solutions in other web applications, as described above. The Load from String action can take the XML or JSON string and generate a page source. Conversely, an XML/JSON page source can be serialized to a string with the Save to String action and stored in a page source node.
This new action makes it possible to retrieve a list of files and sub folders from a folder on the MobileTogether Server or client at runtime. This is important when the folder structure is not known to the app.
When a MobileTogether app is available in multiple languages, the language selection is set based on the default language of the device operating system. This new action makes it possible for the language of the app to be manually changed by the user. This way, the app can be restarted in an alternative language when desired, for instance, if you’re traveling abroad or communicating in an app with users who don’t speak the same language you’re using on your device.
You can see this action already in use in the Altova Group & Gather app, which is available in five languages. Users can switch back and forth as needed.
Altova MapForce Server provides high-speed automation of data mapping projects defined in the MapForce data integration tool. With this new action, it is now possible to call MapForce Server directly from MobileTogether Server to perform data transformations required by an app.
The MapForce Transfer action enables one set of data structures to be converted (mapped) to a second set of data structures. Each data structure of the output set can be written to a file or to a node of a page data source in the MobileTogether app design.
Because MapForce supports EDI, XBRL, flat files, Excel, Web services, and other data formats in addition to XML, JSON, and relational databases, this new action lets MobileTogether apps now utilize a wider range of legacy and other back end data sources.
To enable this functionality, MapForce Server must be installed on the same machine as the customer’s MobileTogether Server.
The MobileTogether Server 4.0 installation includes a powerful app for the server administrator that displays various statistics about individual solutions running on that server.
The Statistics app presents stats and charts on numbers of users, devices, app starts, server requests, and more, in a selected time frame. Granular filters allow you to view these stats per operating system, device type, or manufacturer; per app; and so on. You can also see stats on request counts and app starts.
The app has three tabs:
Each tab provides filters that let you customize the report.
This new app makes it easy to get an accurate view of the usage and popularity of each app on your MobileTogether Server.
Learn about all the additional capabilities that have been added in each MobileTogether release.
|Version 3.2 (May 10, 2017)|
|Near Field Communication:|
|Support for NFC messages|
|Ability to access mobile device contacts|
|Text to speech|
|Wait cursor and optional message|
|Actions for date and time pickers|
|Get file info|
|View and image full screen|
|Enhancements to Existing Actions:|
|Pre-defined sounds for common scenarios|
|Support for reply-to in emails|
|Significantly extended scroll-to action|
|Goto page/subpage via XPath|
|New Features for Tables:|
|Dynamic table growth: left to right|
|On-demand loading of tables|
|New pre-defined button looks|
|Support for JSON5|
|Numerous chart enhancements|
|Improvements in Browser execution|
|Single-thread execution option for MobileTogether Server|
|Version 3.0 (October 10, 2016)|
|Support for barcodes|
|Multi-level style sheets|
|Automated testing facility - to record and re-run tests in Designer and on clients|
|New action: print to PDF, Word, or RTF from client|
|Ability to open files (e.g., PDF) on client|
|Significant speed increase for Windows and Windows Phone client|
|Completely re-written browser client|
|Version 2.1 (April 4, 2016)|
|Completely new pricing|
|New control: Slider|
|New control: Vertical line|
|New button looks: Share and Email|
|New action: Share. Familiar option for sharing via Facebook, Email, Messaging, etc. apps|
|New action: DB Bulk Insert Into. For quickly inserting multiple rows into a database at once – speeds up to 100x faster *|
|New action: Let. Allows definition of temporary variables in action trees|
|New action: Return. Allows an action group to return a result of any complexity; action group can act as a programming subroutine|
|Subpages: possibility to return result on close (in conjunction with Let action)|
|Action groups: possibility to pass parameters (and even other action groups) to an action group|
|New action: Try/Catch. For sophisticated error handling and recovery|
|New action: Throw. As part of the Try/Catch action, Throw allows definition of exception conditions|
|New action: Cancel Action Execution. For example, at a validation error in user-entered data|
|New action: Scroll to Table Bottom. For example, when adding new rows to a scrollable table|
|New action: Load Image. Load an image for further processing, for instance to transfer to a database|
|New action: Show Route. Adds to geolocation functionality; show a route between two points|
|New Action: Loading/saving files on client devices. Users can save files / share between apps on device|
|Creating folders automatically when saving files on client or server. When saving to a folder that doesn't exist, it can be created|
|New action: Delete Files/Folders. As permitted by the client operating system or server administrator|
|New action: Restart/Stop Page Timer. Interrupt the page timer and even reset the timer interval|
|New action: User Cancel Behavior. More flexibility for letting user cancel at predefined safe locations|
|Flexibility to set some existing properties via XPath|
|New property: text size in pixels|
|New XPath function: mt-connected-via-wifi|
|New XPath function: mt-font-height|
|New XPath function: mt-control-width|
|New XPath function: mt-user-tried-to-cancel-actions|
|Quick search in XPath function dialog|
|New option to hide page title bar|
|Customizable login/index page for browser client|
|Speed up of app starts when connection is slow|
|New keyboard style: Visible Password|
|New demo app: MyCollections|
|Version 2.0 (November 10, 2015)|
|Build your own AppStore Apps|
|New server licensing option: per server core|
|Support for REST and SOAP Web services|
|Support for JSON data|
|Support for Firebird databases|
|Other supported databases updated to include newest versions|
|Parallel processing of multiple solutions|
|Signature / simple drawing control|
|Load/save files with filename calculated via XPath|
|Simulate missing Server access|
|Support for Windows 10|
|Support for Windows 10 Edge Browser|
|New XPath functions for color handling|
|Support for multiple languages: English, German, French, Japanese, Spanish|
|New flag for source trees: Keep data on client|
|New page action: OnServerConnectionError|
|Version 1.5 (April 28, 2015)|
|Send emails to one or more recipients and optionally include attachments|
|Action loops for repeated execution of a sequence of actions|
|Start app solution via a link that includes parameters (can also send link via email functionality above)|
|OnClick vs. OnLongClick|
|Update display during execution of a series of actions|
|Automatic save for database tables without primary keys|
|Execute actions on typing in the Browser|
|Support for Radio Buttons as an alternative to On/Off Switch controls|
|New horizontal line properties for dashed and dotted lines|
|Button Look properties to add symbols to buttons|
|Support for user CSS and font files for solutions running in Web browser windows|
|A property to set any control width as a percent of screen width|
|Unified data types for relational database tables|
|Optionally remove source nodes that are inserted by Append/Insert node action|
|Multiple versions of the same solution may coexist on server to accommodate outdated client apps|
|MobileTogether Client configuration may be sent via email link to simplify set-up for end users|
|Several convenient and time-saving editing shortcuts have been added to the MobileTogether Designer|
|Version 1.4 (February 2, 2015)|
|Robust support for geolocation services|
|Support for Android version 5.0|
|Support for XPath and XQuery 3.1 (adds to support for previous versions)|
|String localization (enhances existing support for localization)|
|Support for additional specific headers in HTTP requests|
|Feature allowing one MobileTogether solution to start another solution when it terminates|
|iOS 7/8 rendering in the Simulator portion of the MobileTogether Designer|
|Ability to edit the XML tree directly in the Simulator|
|Additional refactoring support|
|Display versions of connected clients on the MobileTogether Server|
|MobileTogether Commercial Release (November 10, 2014)|
|MobileTogether Server available for Linux and MacOS, in addition to Windows|
|New action: Let User Choose Image from gallery or camera|
|New action: Save Image to File|
|New action: Execute on Server/Client|
|New XPath functions for image processing|
|New XPath functions for geolocation processing|
|Additional new XPath functions|
|MobileTogether Beta 2 (September 17, 2014)|
|Support for SQLite databases|
|Support for dynamic SELECT statements fully generated with XPath/XQuery)|
|Automatic retrieval of auto-number primary key after Save action to database|
|Support for data retrieval in DB Execute action|
|Support for user authentication via Windows Active Directory|
|Support for user to choose his/her own password in client|
|Support for user to change his/her password on first login|
|Auto-correcting HTML parser|
|Mobile Apps translated to German, Spanish, Japanese|
|New variables: $MT_ButtonBackgroundColor, $MT_ButtonTextColor, $MT_EditFieldBackgroundColor, $MT_EditFieldTextColor, $MT_LabelBackgroundColor, $MT_DBExecute_Result, $MT_SimulationMode|
|New functions: mt-has-serveraccess, mt-refresh-userroles, mt-external-error-code, mt-external-error-text|