SyncML Client 3
Update Oct 11 2013
Development of the SyncML synergy connector is currently halted. SyncML support on the server side seems to fade out... the new big thing seems to be caldav.
So, I put all my spare time right now into a caldav/carddav synergy connector which is meant to come along with open webos ports, but is also working on legacy devices. The implementation is much more stable, also because caldav protocol is much easier than SyncML. It already gives a pretty stable downsync of calendar and contact data from multiple caldav servers. Upsync is currently worked on. ;) Everything is still in development. Some issues still need to be fixed.
If you are interested, you can follow development here:
(or my own, more experimental, fork: https://github.com/Garfonso/org.webosports.service.contacts.carddav )
Hopefully we'll see some kind of alpha release, soon.
If you are really in need of a SyncML connector and the old one does not meet your needs, feel free to contact me with specific issues and/or wishes.
This is a synergy integration of SyncML. SyncML is a synchronization standard proposed by the open mobile alliance. The main advantage of SyncML is, that it is supported by a wide range of server software. For example webbased groupware solutions usually support SyncML. If you don't want your data in the cloud (google, yahoo, ...) and can not afford an Exchange Server, this is for you. There are serveral solutions that support SyncML (eGroupware, horde, ...) and also dedicated SyncML Servers (for example funambol). Some Network Operators are operating SyncML Servers to allow synchronization of "dumb" phones, too, that sometimes are free to use for their customers. A method to implement a local sync for linux boxes is syncevolution, which will work with this app, too.
Servers that are known to be working (if you have a different setup and it works, feel free to report back):
- Horde / eGroupware
- Funambol-Server and myFunambol (onemediahub.com)
- libsynthesis based Servers
- Oracle OCS
- Synchronization of Calendar entries (automatic on changes in calendar, periodic, manually triggered in syncml app or in calendar app)
- Delete accounts from account app
- Enable/Disable calendar/contacts from account app (contact sync not implemented, yet)
- Create account from account app
- Edit account settings in syncml app (no possibility in account app)
Automatic sync is implemented now. Two options: A periodic sync with different choices of periods and a database watch that will trigger a sync as soon as something on the device is changed. The account can be configured through the SyncML app (see https://github.com/Garfonso/SyncML/wiki/How-To-Use-The-App for more information). You can also now use the account app, this will show the same config scene (this currently does not work on TouchPad).
Please be sure to have a backup of your data! I am not responsible for any data loss or data corruption. It is well possible that a misunderstanding between app and your server could cripple your calendar entries (timezone issues are most likely). I suggest everyone to try this with test-data first. For example use a test user or only enter a few data-bits into the client calendar associated with this app.
A first experimental version of contact sync now is present. If you feel lucky, test it. Be sure to have a backup, might screw up server data! eGroupware behaves very bad here. Funambol seems to be better. Not really tested with syncevolution, yet.
Pictures are working only one way from server. Some servers don't save all the numbers (even if they did send the contact with all the numbers in the first place!). There are encoding issues. Notes required a manual hack, please test.
There will be an account appearing in your accounts app. That is necessary. Don't delete it (if you want to continue using the app). If you delete the app (or want to reinstall) you have to delete the account manually from the account app, before unintall, this will clean up all data from the device.
The sync will show you only some (hopefully helpful) logs now, the ugly logs are saved in the file /media/internal/.info.mobo.syncml.log. If the button stops spinning, the sync is finished. If it does not throw error messages on you in the log, everything is fine. If something is not working, please send the log to me. There is a "send log" entry in the app menu. Please use that!!! I need the log of a synchronization to help you! Please send logs to syncml AT mobo.info. Thanks.
This has been testet on Veer, Pre2, Pre3 all running webOs 2.x. The use of 2.2.4 is suggested, 2.1.1 and 2.1.2 of the Veer should work ok. TouchPad (3.0.5) does now work, app looks ugly. Maybe I'll change that sometime. No instant Luna crash on TP anymore.
2013-06-19 => 0.1.32
- fixed statistics that are saved in db.
- fixed possible issue that immediate refresh (on slow sync hack) would not happen. Now immediate refresh flag is saved in db.
- fixed possible issue that service won't finish
- fixed retry mechanism. It could keep on trying, even if the message was received or it should stop after 5 retries...
- fixed timeout while calling idle assistant
- fixed wrong message about failed syncs when no changes did happen at all.
2013-06-18 => 0.1.31
- service could get killed before sync did finish. Hope to have a fix for that now.
- service periodically prints out its memory usage to the log, now.
- slow sync hack now outputs item statistics for first sync, too.
2013-06-15 => 0.1.30
- changed disable slow sync hack, so that sync is now visible in app again.
2013-06-14 => 0.1.29
- fixed rev for delete all. Will not send all delete commands to server, if no update did happen.
- hack to disable slow sync. Now only sends recent changes to server and then does a refresh from server.
- readded add, needed for contacts on eGroupware
2013-06-14 => 0.1.28
- syncml account now stores server manufactor for hacks
- server next is now again saved in db directly when it is recieved. Should prevent some slow syncs.
- fixed x-vcard and vcard version confusion
- added hacks for eGroupware
2013-06-11 => 0.1.27
- switched to vCard (3.0)
- fixed issues with contact sync and notes (from server)
- implemented foto sync for contacts (one way from server)
- switched back to internet confidence "fair".
- fixed an issue with contact sync, won't work if synced for the very first time.
- disabled "add" again. Now also for new items "replace" is used. Never encountered a server that will not just fallback to "add". But explicit "add" did produce many double entries, sometimes.
2012-12-06 => 0.1.26
- quick-fix for an issue with contact sync, won't work if directory for temporary vCards is not present. Sorry, broke that.
2012-12-05 => 0.1.25
- fixed an issue with account creation that would hang the service on first sync, if account was created from the app. Sorry for that.
- fixed some more crashes during account creation and initial sync... not sure why they happend, though. :( No initial sync is performed now, you need to do that manually.
- fixed issue with allday events and alarms that would shift one hour (again? :()
- fixed issue with contact encoding stuff, should be fine now.
2012-10-07 => 0.1.23
- fixed issue with sync of multiple data sources.
- fixed check credentials issue for funambol servers (like privat ones or onemediahub.com)
- results of last 10 syncs are now saved in db (i.e. if sync was ok, method of sync, how many objects were changed)
- implemented first experimental version of contact sync
2012-08-22 => 0.1.22
- fixed timeout mechanism
- fixed issue with two-way-sync if there was no data transmitted at all.
2012-08-15 => 0.1.21
- changed watch activity so that it delays for 1 minute, so the user has enough time to complete his changes. Every new change during that 1 minute will delay the sync further.
- changed requirement of activities to "internetConfidence: fair" so the syncs should have a higher probability to complete, now.
- changed behaviour, service now tries to "add" events on the server, until now only "replace" was called, no matter if they were new or not.
2012-08-01 => 0.1.20
- fixed app to work after profil restore, username + password cannot be decrypted and need to be configured again. Also a refresh-from-server sync is triggered.
- added additional timeout guard for network connections, so they (hopefully) don't hang forever on bad reception.
- now lastRev is reset on a slow-sync or refresh. This will also help after profile restore.
2012-07-10 => 0.1.19
- fixed activities, they don't need to be deleted anymore.
- fixed issue where for one account there could be multiple calendars.
- fixed issue that prevented service from shutting down after sync if the app was still open.
2012-07-05 => 0.1.18
- "Sync Now" in calendar app works
- a back from sync did overwrite data in the accounts after a successful sync. This could trigger unecessary slow syncs and duplication on the server.
- fixed that app pops up during configuration of a new account in account manager
- now shows what sources are synced with what method in the app/log.
- fixed push device info (check for refreshs did not work), also changed that we now also request the device info on refreshs/slow sync.
2012-07-04 => 0.1.17
- Implemented automatic sync. There is a periodic sync and a db watch. Both can be enabled/disabled in the config scene for each account. db watch is pretty experimental.
- Changed device info behaviour: Own device info is only send if no device info from server is present or if we are doing a refresh or slow sync.
2012-06-11 => 0.1.16
- fixed possible service crash during delete on server.
2012-06-02 => 0.1.15
- enabled b64 encoding of iCal data. Helps with not confusing XML parsers.
- added X-AlldayEvent cue for syncfriend.com.
- no VALARM for x-vcalendar.
- tried to fix allday for x-vcalendar.
2012-06-01 => 0.1.14
- again doing UTC behaviour. TZID=... seems to be ignored if VTIMEZONE is not there. This should be perfectly fine for all normal events with start/endtime. Issues might arise with allday events, though. Need to test more servers with our shift allDay behaviour (eGroupware works ;)).
- implemented support for X-FUNAMBOL-ALLDAY and X-MICROSOFT-CDO-ALLDAYEVENT allday cues.
- fixed bug that prevented slow sync from working at all :(
- fixed retry send message mechanism
2012-05-31 => 0.1.13
- reverted the UTC behaviour. Now sending TZID=... parameter. Issue: ical rfc requests VTIMEZONE for that also. I'm not sure if we can create that one... issue with UTC is allday events. Always the same trouble. :(
2012-05-31 => 0.1.12
- fixed tz issue, now transfering everything as UTC.
- changed behaviour of old log files to not truncate but move them.
2012-05-28 => 0.1.11
- fixed reset service
- added some hacks to support Syncfriend.com
- added some fixes to support alarm parsing from OCS server.
2012-05-27 => 0.1.10
- fixed possible failure if put device info is not supported.
- set delete event not to purge db to prevent alarms from sticking.
- cleaned up MimeTypes in device info (thanks to Matthias)
2012-05-26 => 0.1.9
- fixed issues with account creation and deletion on webOS 2.1.1.
- hotifx: fixed issue with account management if no account was present, yet.
- hotfix: fixed issue with keymanager if no key was present, yet.
2012-05-26 => 0.1.8
- hopefully solved deadlock during account creation.
- locks for the service calls are now much less restrictive
- app can even reattach to a running sync. :)
- solved issue where all controls in configScene would be disabled if service was still running after create account from account app.
- solved another issue with syncEvolution
- improved account deletion, possible associated webOS accounts will be deleted again.
2012-05-23 => 0.1.7
- changed behaviour to not send last anchor, if not present.
- fixed account creation / modification / deletion from app.
2012-05-22 => 0.1.4
- implemented "local" fix of AjaxCall to work with non standard http ports.
- added "Delete this account" - Button to config scene to delete accounts. Deletes accounts only from the apps db. If there exists a webOS account, delete it from the accounts app (should also delete app's account object).
- tried to add some more error messages to log files.
- fixed issue with attached E-Mail log (thanks to Matthias)
2012-05-21 => 0.1.3
- fixed possible issue during parsing of device data from server
- fixed locking up of modifyAccount calls during storeAccount. Race condition with onCredentialsChanged call. We don't really use onCredentialsChanged, anyway.
- fixed issues were the app lost connection to the service and would hang forever in the sync scene. (Now this only happens if the service itself crashes)
- fixed account icons
2012-05-20 => 0.1.2
- Ignoring 406 errors = optional feature not supported. Maybe that helps with oracle server.
- Added menu entry to reset the service. Only use this if you are sure that the service hangs and you don't want to wait for the timeout (one minute without service calls).
2012-05-20 => 0.1.1
- added repairDBPermission.sh script into app folder to repair db permissions. Issues might arise, if the app was installed before submitted to webos nation. Careful: Script might delete all data. See forum for more information on that issue!
2012-05-20 => 0.1.0
- Major change: Implemented node.js service.
- App only calls service functions
- Cleaned up log in the app itself considerably!
- Writing exhaustive log to /media/internal/.info.mobo.syncml.log (accessible in usb-mode)
- Not logging passwords (hopefully)
- Passwords and usernames stored only encrypted
- Integration into account app, delete and disable / enable of calendar/contacts works
- Create from account manager works partially (need to find out how to prevent it from spawning the welcome scene and popping it to front)
- E-Mail log improved, adds log-file as attachment
- log is truncated at 2MB, that means many sync processes can be kept in log and logs can be send way after the sync process that failed.
- Touchpad now works.
2012-05-17 => 0.0.16
- added a status description above log output. Should help with outside errors, like wrong credentials or connection aborts.
- changed behavior, app won't suggest slow sync (happened too often). On broken sync the server should request a slow sync anyway.
- fixed some issues with account creation. Should now work again.
- now 0.0.15 is sending capability description to the server. This might help in some cases where synchronization is not working. Hopefully this does not break anything.
- fixed a bug that prevented events with recurrence on a first Sunday of a month to be handled correctly.
- fixed a bug that prevented aalarms to be interpreted correctly.
- fixed bug that prevent any action if no account was specified.
MIT License Open Source - Learn More
Always free here. Might hit app cat someday. If it costs, then only for donation purposes, here it will stay free, complete and uptodate.
Discussion, Changelog, and Support
Discuss this app, get support, and read the changelog for SyncML Client in the Official Forum thread