How To Use The App - Garfonso/SyncML GitHub Wiki

The goal of this whole work is to create a synergy connector that is invisible for the user. So the current app version is manly for development and debugging purposes. That means it is not very intuitive to use. But it will go away anyway, so I hope that is ok.

If you want to help me developing and want to test your SyncML Server of any type with this app, the following explanations hopefully help you a bit with that. (Be sure to have a backup of the data you have on the server, before you enable two-way syncs, because it might get messed up. Be warned. Data on the device from other calendars, i.e. Palm profile or google or... can't be messed up by the app, so that is save.)

First: Currently you need the app. For everything... There is a stub service and there will be an account in the account app, but modifications there won't really work, because there is no service, yet.

So start the app. You will see that:

Welcome Scene

On the top is dropdown with all configured accounts. If you start the app for the first time, "New" is the right selection.

Click on "Configure". You will see many fields where you need to insert data.

Config Scene

Name On the top you need to choose a name for the account. This will show up in the account app, the calendar, the contacts app and the SyncML App selection box. You can choose freely here. Choose anything you like. :)

URL Below that you need to supply the url. Examples are: https://some.server.com/egroupware/rpc.php and https://syncml.o2online.de/syncml.osp See in the documentation of your server. Usually there should be a special URL for syncml, which is different from URLs you use in a webbrowser to access the server (if it has web access).

User/Pasword Then you need to type in your username and password. Some server have special requirements here, too.

Sync Calendar / Contacts Then you have two input groups which are currently identical, one for calendar sync and one for contacts sync. You can enable and disable each type. Currently I advise to keep contacts disabled, until contact support is implemented. The next field is the sync method, you can tell the app what sync type it should suggest to the server. In some cases the server might override that decision. To repeat myself: In the following "data on device" only refers to data that is in a calendar or addressbook that was created by the SyncML app. All other data can't be read or written. Possible values are:

  • Slow - This will send all your data to the server which is supposed to check this against its own data and send you additional data that is stored on the server. This is meant to "repair" the state of data on server and device after something went wrong.
  • Two-Way - A two way fast sync between server and client. Will only send changes. If the server detects that an earlier two-way sync failed, it will request a slow sync.
  • Refresh from Server - will delete all data on the device and restore it from the server. (Useful to repair messed up data on the device, especially after an update is released to fix the mess)
  • Refresh from Client - will delete all data on the server and restore it from the client.
  • One Way from Server - this will sync changes from the server to the device, but the device will never send data to the server. This is useful, if you know that the device will mess up your data on the server or if you are afraid that the server data might be messed up.
  • One Way from Client - this will send all changes from the client to the server, but the server will never send data to the device.

After that there are the Datastore Paths to be filled in. Usually this is something like "calendar" or similar. You need to check your server's documentation for information about that.

Example Data:

Config Scene

Now you can press "Save config" or just swipe back. If you don't like the app or something went wrong or so, you can press Delete Accounts here. This will remove all data that the app has created from the device database.

On the main screen make sure your account is selected. Then press on "Start sync". This will take you to the sync scene.

Sync Scene

You will see a, probably greyed out, button on top which says "start sync" and logs at the bottom. The sync scene will create your account and calendar with webos (if thats the first sync attempt) and finish initialization of all things necessary and then will automatically start the synchronization process. The sync finished when the spinner stops spinning. If the spinner never stops spinning (a slow sync might take several minutes), something crashed. Please contact me and we'll see how we can debug that. One of the baddest things right now is that it does not really say if it was successful or if there was an error. Communication issues lead to loooong error messages... if it was successful, you can scroll back the log a bit and see statistics on how many calendar objects were synced in what direction. Better not touch the screen while it is still working, though.

You will now be able to see the account in the account app and a calendar for that account in the calendar app. You can now start filling data in the calendar using the calendar app. :)

You can send me logs in case something went wrong. Of interest are all kind of crashes, exceptions and also if data is messed up on server or client. Also if the app says that something failed, please consider sending me a log. You need to stay in the sync scene, open up the app menu and press E-Mail Log. Now be patient... a lot of text will be copied from the app to the e-mail client. Send e-mails to syncml AT mobo.info. Please consider to use a descriptive subject and write what failed in the beginning of your e-mail. :) One problem with messed up data is, that I would require a log where the data was transmitted. The app can only send the log from the current sync though, because everything else is not saved (so don't swipe back from the sync scene too early! :)). You might want to do a refresh of the device/server or change the data on device/server to have it in the next sync and send me the log of that sync. Of course you'll send me all information that got synced, so if that contains delicate data, better try to reproduce the issue with test data and send me a log from that run.

Maybe some people will find that useful. And I promise I will start the service real soon to get rid of that app thingie... ;)