Author Topic: SyncML synchronisation - technical issues and special features  (Read 2859 times)

ylavi

  • Freshman
  • *
  • Posts: 19
    • View Profile
The thread which originally proposed making it possible to sync FengOffice with Funambol and thereby to mobile devices seems to have adopted the proposal to use Mooha to turn FengOffice into the SyncML server (http://forums.fengoffice.com/index.php?topic=2634.msg15400#msg15400). At least I hope that's the idea.

If it's really feasible I think it's a much better way to go because it would make it much easier to control what data from FengOffice gets to the mobile device, and how the sync would work. While Funambol has had much longer to mature and become stable than Mooha, it doesn't and never will support many of the concepts which are extremely attractive in FengOffice and if all synchronisation has to pass through Funambol a lot of the appeal will be lost.

I have been thinking about how Funambol works (based on my limited experience with my home installation) versus some principles in FengOffice and it seems to me that, on one hand, there are some areas in which care must be taken, and, on the other, that syncing directly to FengOffice might allow some useful features. Some further ideas would be relevant even if syncing FengOffice against a server like Funambol.

Here are some basic thoughts to start a discussion and inspire further ideas:
  • Workspaces are a big potential complication. Let's say a user syncs against all items for which he has permissions. Presumably if a client user (I mean client in SyncML terms) gets permissions for records he didn't have permissions for before, the record could be marked as new for him (even though overall it's not new) and it would be added to the client. But what happens if permissions are taken away? The records could be flagged as deleted for the purposes of the client user, and they would be deleted from the client, but remain in the database for other users. If the user has updated the record on the client in the meantime what happens? Another server would presumably have to tackle this as a conflict and one solution is to drop the deleted record and keep the changed one. But where should FengOffice put this record? The user no longer has rights to the previous workspace but on the other hand it might make sense to put the updated record in the original workspace for the benefit of those who deleted the unupdated one.
  • It also needs to be clear what to do when a user has read-only access to a workspace. If FengOffice is the server then special provisions can probably be made, but if Feng has to sync with Funambol maybe it gets more complicated?? (I thought so earlier, now I'm not sure it makes a difference)
  • Different devices support different fields; FengOffice should be able to handle these nicely with Custom Properties. Anything which doesn't have a standard field to be mapped to could go in a Custom Property.
  • Some devices only support one category, i.e. one value out of a defined list. Things in FengOffice have a primary or only workspace (right?) but can have many tags. Perhaps a user might prefer to have one of a selection of possible tags as the record category on his device, rather than a workspace. It would be nice if the user could decide how the record category would be set on the client, eg allow defining a list of tags in order, and the record category would be set as the first applicable tag in the list. Or let the user decide that the category should be the workspace.
  • Since many/most devices don't have tagging options etc any data input on a client and synced to FengOffice may be missing information which could be set if working directly in Feng. It would be nice to define a tag which would be automatically set on any record updated or created by a sync (different tags for inserts/updates even?) and then the user could check for records with those tags and complete them.
  • Bookmark sync with Web Links! Don't miss this! Most SyncML systems don't support bookmark sync but it sounds very useful
  • Sync filters - make sync of records depending on the presence of a given tag in the record. This could make it very simple to minimise the amount of synced data. Or sync specific workspaces only. Either way, a user may not need ALL their contacts in their phone - let them tag the ones they want with "sync to phone" or something like that
  • Change log - I find that syncing different clients with Funambol has made data disappear from some of them, perhaps because of different field labelling. If things like Contacts in Feng could have a log where data changes (in GUI or sync) are saved away, at least for structured records like contacts, a user wouldn't need to fuss with a backup to see if a sync has messed up his data.
  • Even if Mooha is the chosen implementation, perhaps it would be a good idea to ensure that StS (Server to Server) sync with Funambol works, leaving the option to use FengOffice with an existing Funambol server?

I hope this is productive!

cabeza

  • Administrator
  • Hero Member
  • *****
  • Posts: 1004
    • View Profile
    • Feng Office
Re: SyncML synchronisation - technical issues and special features
« Reply #1 on: September 13, 2010, 03:45:32 pm »
We'll save these ideas.
Thanks!