Hyper Open Edge Cloud

How To ERP5SyncML Mobile Synchronization

How To showing how to synchronize data between SyncML Client and Server.
  • Last Update:2016-02-09
  • Version:001
  • Language:en

ERPSyncML is a tool for synchronize data between SyncML Client and Server. It's usefull for synchornize data between two ERP5 sites. Now, it's possible to use it to synchronize Person from ERP5 site with the contact of a mobile phone.

Table of Contents

How to install

You must have a working ERP5SyncML module, see HowToUseERP5SyncMLTool.

The mobile phones communicate by using wbxml (wich is a binary representation of xml), so if we want to synchronize ERP5 with a mobile phone, we must be able to translate wbxml in xml format (and conversely). The library libwbxml does it, but it is not very well maintained, perhaps you will have to do some modifications on it to make it working.

Currently, it is necessary to have a small server which plays the part of proxy to establish the communication. The server, called ERP5SyncMLMobileServer.py is on the svn repository.

How to configure the server

On your ERP5 Server, go to the synchronization tool inside the zope management interface and select Publication tab. Add a publication (or modify an existing). You must fill the fields according to documentation HowToUseERP5SyncMLTool, but there is some specific things you must respect to synchronize with mobile phone :

  • You should not use the activities.
  • You should use an XML mapping understandable with the mobile phone. To communicate with the Nokia E61 mobile phone, I use the PersonExportAsVcard script witch make VCard 2.1.
  • The box "Synchronize with other ERP5 sites" must be unchecked
  • The Content Type should be "application/vnd.syncml+xml" (because currently, the small proxy server translate wbxml in xml, so ERP5 does not need to do it)
  • The conduit must be "VCardConduit"
  • the field "Media Type" must be "text/vcard"

You must launch the small server erp5syncml_mobile-server.py with the good arguments (see ./erp5syncml_mobile-server.py --help).

How to configure the phone

All tests and procedures were carried out for the Nokia E61, the synchronization is not ensured for other mobile phones models. Configuration on a E61 mobile phone:

  • in the menu, go to "Connect." and select "Sync"
  • create a new sync profile (options->New sync profile)
    • chose a name
    • in Applications, all must be "not defined". Go to Contact.
      • put "yes" at "include in sync"
      • change the remote data base to the name you have defined in your ERP5 server Source URI field (typically, Person)
    • return in the edition of your sync profile and go to "Connection settings".
      • You must define how your e61 will be connected to the server : "Data bearer" (an easy way is to use a wifi access point on the same network than the small proxy server, so chose Internet).
      • Host address : here, you must put the adresse of the small proxy server (this one you give it in parameter)
      • Port : same port as you give in parameter to proxy server (if you give one, else, it's 1234 by default)
      • User name and Password : if you use identification, you must use a User name and Password

How to synchronze with a mobile phone

An imlportant things about SyncML is that a synchronization is always initialized by the client, so you must start the synchronization from the mobile phone.

  • in the menu, go to "Connect." and select "Sync"
  • select the sync profile you juste created and go to "options" and "synchronize"
  • If you have chose internet for "Data bearer", the E61 will ask you wich access point you want to use. Choose the good one and the synchronization will start.

Troubleshooting

Server not responding
If the mobile give this message, that is it does not find the proxy server, perhaps it's not started or it's badly configured. mail me if you have other problems

Related Articles