SyncML
Sauter à la navigation
Sauter à la recherche
Synchronisation avec eGroupWare
- Petite configuration supplémentaire (cf. "PHP5 as an Apache Module" dans SyncMLInstallHowto)
- Configuration sur le mobile: accédez à http://votre-egroupware.com/rpc.php puis précisez le type de synchronisation [1]
- Consultez la partie "debug" du howto ci-dessus en cas de problème:
ls /tmp/egroupware_syncml.log mkdir /tmp/sync && chown www-data: /tmp/sync && faites_une_synchro && ls /tmp/sync/*
Des add-ons Thunderbird pour tester?
- Funambol - apparemment, binaires ne fonctionnant qu'avec Thunderbird 2 compilé avec libsdtc++.so.6 (donc IceDove)
- Tsync - gel au moment de la synchro (12/2008)
- SyncSW
- Lightning&Sunbird??
Problème pour utiliser SyncML quand EGroupWare est derrière un SSO (authentification de type "HTTP"), à creuser:
session->create($user,$pass,...) fails: in /var/www/egroupware/phpgwapi/inc/class.sessions.inc.php:566 called from /var/www/egroupware/phpgwapi/inc/horde/Horde/SyncML/State_egw.php:237
Intro technique SyncML
Basé sur la norme XML, SyncML est un protocole visant à créer un standard pour une synchronisation universelle des données.
- Two-way sync (le client et le serveur échangent des informations sur des données modifiées ; le client envoie les modifications d’abord)
- Slow sync (synchronisation dans les 2 sens ; chaque donnée envoyée est comparée sur les 2 bases)
- One-way sync from client only (le client met à jour le serveur ; le serveur accepte et met à jour les données et n’envoie pas ses modifications)
- Refresh sync from client only (les données du client recouvrent les données du serveur)
- One-way sync from server only (le serveur met à jour le client)
- Refresh sync from server only (les données du serveur recouvrent les données du client)
- Server alerted sync (le serveur commande à distance le client de lancer un des types de synchronisation avec le serveur cités ci-dessus ; de cette façon, le serveur à distance commande le client)
Syncml fonctionne avec des balises, tout comme le XML
Syncml est découpé en 2 grandes parties :
- L'entête : SyncHdr
- Le corps : SyncBody
<SyncML> <SyncHdr> ... </SyncHdr> <SyncBody> ... </SyncBody> </SyncMl>
Quelques commandes Syncml:
<Add> <Alert> <Atomic> <Copy> <Delete> <Exec> <Get> <Map> <Put> <Replace> <Results> <Search> <Sequence> <Status> <Sync>