Introducing Convertigo 7.3

Convertigo 7.3 is a major release of the leading Open Source Enterprise Mobility Platform combining a powerful MBaaS (Mobile Back end as a Service) and an integrated MADP (Mobile application development platform).

This document will list the major features brought in this new version.
You can Download now Convertigo 7.3 here.

Schema management


In 7.3 we changed the way data is described by schemas. Previous versions where making the assumption that addressing an XML node with an XPath in the sequencer would automatically address the text node under it. For example having a data structure as is:
  
<parent>
	<node>data</node>
</parent>
To select the content of the “node” element you will now have to use :
parent/node/text()
in 7.3 instead of
parent/node
in previous versions.
To help you with this, the Source picker now displays TXT elements under nodes so you can drag and drop them on the targets. This will automatically generate a /text() suffix to the XPaths.




So you probably ask yourself how can my previous projects work in 7.3 as I did not use the /text() suffix in my XPaths ? Don’t panic, there is a setting in the project properties defining if your project is working in the new mode or in the previous mode. All new projects created in 7.3 will use the “Strict mode” to true. Any other projects imported from a previous version will work in “legacy mode”. (Strict mode to false).



In this way compatibility with previous projects is preserved. You may also ask yourself why we changed such a behavior. This is because now, you can send much easier complex data to sequences and transactions.

When you source a “CallTransactions” variable to a target text node, the node value as a string will be sent to the target transaction. If you source it to a node, the node itself as an object will be sent to the transaction. This gives the opportunity to pass complex data models to transactions and not any more simple strings like in the previous version. In this sample :

null

The complete item object with all the sub elements will be sent to the target transaction. This feature is also very important for the new FullSync connector described later in this document.


Full Sync


In Convertigo 7.3 we introduce a very important feature called FullSync. This enables mobile applications to handle off line data and to synchronize this data when the network is available.

FullSync is designed on top of standard NoSQL technologies and replication protocols based of Apache CouchDB. The FullSync feature is implemented in Convertigo by a new Connector, the FullSync connector, and by an enhanced client framework handling the local NoSQL databases.



FullSync projects basically pulls data from back ends applications and pushes it to a master CouchDB database. Then, this data is synchronized on the mobile devices. Mobile applications can query, modify, delete and add data to the local NoSQL database and data will be replicated back to the master CouchDB database. If data is modified by the mobile device, a Server sequence will be triggered automatically to give the opportunity to update this data on the backend applications.


1. Sequence pulls data out from the back end from a back-end connector, and pushes it to a Full Sync database tagged with a target UserID
2. Data gets replicated to the mobile devices only for this UserID
3. User Interacts locally with the mobile NoSQL database
4. Any modifications are replicated back to the Full Sync database
5. Data modifications in Full Sync database triggers update sequences
6. Sequence pushes back data to back-end trough the connectors

More information about FullSync can be found here:

http://www.convertigo.com/document/next/7-3-0/reference-manual/convertigo-full-sync-architecture/

Convertigo Store


This new feature enables developers to publish their apps to a panel of testers or pilot users before publishing the apps in the public applications stores such as the App Store or Google Play

Convertigo store can be accessed from the test platform or directly from an url :


http:///convertigo/store/index.html

Publish this URL to your users by mail, social network or any other media, and they will be able to browse all the mobile apps available on your Convertigo server. This app is by default localized using the user’s locale, for example here is the French Version.




To install the mobile applications on their smartphones, the users will need to use the Convertigo Player mobile app available on the App Store, Google play and Windows Phone Store.




Clicking on an app’s download button will display a QR code to be flashed by the Convertigo Player App and the selected Convertigo Mobile applications will be downloaded in installed on the user’s mobile device.


New Polymer and AngularJS/Ionic support


By Default Convertigo Hybrid mobile projects are developed using the jQuery Mobile framework and CTF (Convertigo Template Framework). AngularJS and Polymer are becoming more and more popular, we included the support of those frameworks for those who are experienced with these frameworks. This is done by providing a project template including all you need to start an AngularJS or a Polymer project



You can more information about these projects on our technical blog.

http://www.convertigo.com/using-polymer-framework-with-convertigo/
and
http://www.convertigo.com/using-angularjs-with-convertigo/

Custom HTTP Verbs


Nowadays many REST Web services are using custom HTTP verbs, previous versions of Convertigo had a preset defined list of verbs. You can now use any custom verb by configuring them in this new transaction properties.




Preserve JSON data types


In previous version of Convertigo, JSON data read by a connector was automatically typed as string, long Boolean arrays etc.., in the internal XML schema. Unfortunalty, the JSON requester (Call Convertigo from a mobile device) was losing this this type information giving back untyped “verbose” JSON to the caller.

In Convertigo 7.3, you may now configure the project to preserve JSON type information. By default, all new projects will have this setting set to “Use Type attributes”, If you import in 7.3 a project from an old version, the setting will be automatically set to “Verbose” mode to preserve compatibility.




Quick Access to log settings from Convertigo Studio.





Changing log levels in the Engine log console is much easier now. Simply click the log settings button and configure your logs levels.




Windows Universal Apps support



Convertigo 7.3 local build now supports the Windows Universal App Cordova platform. This will enable developers to target the Windows 8.1 and Windows 10 Store apps from the same common code base.





Even though the icon is marked Windows 8, this represents the Cordova “windows” platform. See this link about Cordova for Windows

http://cordova.apache.org/docs/en/4.0.0/guide_platforms_win8_index.md.html#Windows%20Platform%20Guide



Google Analytics Events



Convertigo 7.3 now interfaces with Google analytics to provide event information. To enable this feature, configure your server with the admin console by checking the appropriate check box and by configuring the GAnalytics ID :





If your server has access to the internet, and if proxys are correctly configured, each time a sequence or a transaction is executed in the server, a Google Analytics event will be reported to the GA. This will enable to you to monitor your projects execution and see where you mobile users are coming from. Use all the power of the GAnalytics platform to monitor your Convertigo server !

Mapping is done this way:



GA Measurement protocol value
(see https://developers.google.com/analytics/devguides/collection
/protocol/v1/parameters#events)
Convertigo
uid The know user id set by the,setAuthenticatedUser step
uip The mobile device IP address
t Set to “event”
an The Convertigo project name
ec The Convertigo project name
ea The requestable name in this form
“project.sequence” or “project.connector.transaction”
ev The execution time of this requestable in ms
ua The mobile device user agent

You can Download now Convertigo 7.3 here