6.0.0-git
2024-04-19
Last Modified 2009-03-23 by Guest

How to replicate data with Horde and your phone, PDA or Outlook

This is Horde the SyncML HowTo page. It describes how to setup your phone, PDA, or Outlook to synchronize its data (calendar, events, tasks, notes) with Horde. You might also want to check out these pages:

  • SyncMLRoadmap describes planned, upcoming or currently missing features.
    • Once you managed to sync your phone with Horde, please check the SyncMLContributeTesting page and provide a test case if there's none for your client yet. You'll help us to improve the stability for your client!
    • If you encounter problems with syncing and can't resolve them on your own or using the FAQ below, please follow the directions in SyncMLProblemReport for reporting problems.

General information

Syncing is beta quality code - to help fixing bugs and locating issues you need to be able to at least read logfiles! Testing is welcome; please report to the sync list (sync@lists.horde.org), but please keep in mind that the code is still in development.

  • You have to use at least Horde 3.2 and x.2 versions of the Horde applications, or Horde Groupware (Webmail Edition) 1.1, or the CVS version or a CVS snapshot. Horde 3.1.x or Horde Groupware 1.0.x won't do. Please note that if you are using a CVS checkout or snapshot, you have to run framework/install-packages.php to install the required packages into your PEAR path.
    • Client configuration is as follows:
      • The sync URL is http(s)://pathtoyourhordeinstall/rpc.php
        • User name/password: your Horde account data
        • Databases (sometimes called remote settings or server path) should be calendar, tasks, notes, and contacts, but common default values from the various clients may work too. The default values in Funambol Client 7.1.10 work just fine.
    • For debug output create the directory /tmp/sync/ and make it writable by web server
    • Set log level to PEAR_LOG_DEBUG in Administration -> Setup -> Horde -> Logging.
    • When reporting problems to the mailing list, please include at least the /tmp/sync/log.txt file. This greatly helps to figure out what's going on.

Information for syncing with Outlook or Blackberry

  • You need the Funambol connector version 7.1.10 or later. Go to https://www.forge.funambol.org/download/ -> select your client software -> Download and install.
    • Configure as mentioned above. Device ID must be sc-pim-outlook or anything containing the text sync4j so that the Horde backend can identify the connector. If you're using multiple instances of the connector (one on your home pc, one on your laptop), make sure that the device ID is different on those. The current version 7.1.10 does not allow you to change the device ID. It seems to create its own unique ID.
    • Turn page compression off in /horde/config/conf.php by setting $conf['compress_pages'] to false (Funambol does not support compressed pages.)
    • Funambol Outlook Clients need to have the port configured in the sync url when using https, i.e. https://pathtoyourhordeinstall:443/rpc.php This seems to be fixed in 7.1.10 and may not be necessary.
    • Make sure the server's certificate does validate when using https: Open the https://pathtoyourhordeinstall:443/rpc.php in InternetExplorer. If the server's certificate is not trusted or not valid, Funambol will not work!
    • Unfortunately, the Windows Mobile version 7.0.8 requires you to synchronize once with a Funambol server (such as http://my.funambol.com) before you are allowed to change settings. (reference?)

Information for syncing PDAs with the Synthesis client

  • The Synthesis client is a commercial SyncML client from http://www.synthesis.ch/. It is available for PocketPC, Windows Mobile, Smartphone and PalmOS. Stability and SyncML conformance is very good. There's a 30 days trial version.
    • Make sure to set the events server path to "calendar"
    • Uncheck the "only from 30 days before until 90 after today" setting

Information for syncing Horde with Evolution

How to configure Horde with Syncevolution (based on Sync4j) : http://www.estamos.de/projects/SyncML/Compatibility.html#Horde

Sync clients being used succesfully:

  • Synthesis client
    • Sony Ericsson P800/P900
    • Outlook with Funambol SyncClient PIM outlook 3.0.15
    • Nokia E51, E65, E60, E90, N70, N73, N80, N95, E61i, E71, 6120 Classic, 9500 Communicator
    • Sony Ericsson K800i
    • Motorola RAZR v9 (only entries without non-ASCII characters)
    • Windows Mobile /w Funambol client 7.0.8 after some tinkering

FAQ

It's not working! I get a message like "Invalid response" on the phone or "Server returned error code -1" on Funambol clients

There's a chance that SyncML processing stopped due some PHP error in the server. We try to catch these errors, but sometimes they are passed to the phone so the phone gets confused because it doesn't receive a valid XML message. To catch even those error message, you need to make PHP log errors to a file: edit your php.ini and include a line like error_log = /var/log/php.log. Then try a sync and check if anything comes up in this log.

Another common pitfall is a bug in some older Funambol clients: The clients propagate that they are able to handle "deflate" encoded HTTP traffic while in fact they don't. This affects e.g. the 6.0.x series of the Outlook Plugin, probably others too. This has been fixed with later versions, i.e. the 6.5.x Outlook Plugins. Either upgrade to a newer Funambol client, or configure your web server to not send deflate encoded HTTP responses for the horde directory, even if the client tells to do so.

It's not working! I get a "System Error!" on my mobile device when trying to synchronize

Check the SyncML Version that the device is trying to use. Version 1.2 gave this error, Version 1.1 worked without problems (Nokia E71 Symbian).

It's not working with Funambol 7.0.8 (Windows Mobile) (first sync does not start)

Funambol tries to sync a folder 'configuration' when a new server is added - old versions of rpc.php ignore this request, newer versions abort the process

Quick Fix: Do a first sync with an older server (I used eGroupware 1.4 - its interface seems to be based on Horde's) and afterwards change the sync URL with a registry editor to the one you intend to use.

Please note that for SyncML to work, the Horde server needs to use a working SQL backend.

I can't find any *.xml log files in /tmp/sync anymore. They used to be there!

We now use our own WBXML libary in the XML_WBXML package. The WBXML data gets directly passed and processed, no XML is produced. To see the XML data, you can manually decode it. You need to install the WBXML utilities for that. This package contains the programs wbxml2xml and xml2wbxml to convert XML files to WBXML and back.

To install them on Debian:


apt-get install libwbxml2-utils

The WBXML Library (aka libwbxml) contains a library and its associated tools to parse, encode and handle WBXML documents.

(The WBXML format is a binary representation of XML, defined by the WAP Forum, and used to reduce bandwidth in mobile communications.)

You can decode the data like this:


for a in *.wbxml; do wbxml2xml -m 1 -i 4 -o `basename $a .wbxml`_conv.xml $a; done 2>/dev/null

It's still not working! What can I do?

Please follow the directions in SyncMLProblemReport and report the problem to the sync mailing list.

I Want to test syncing on my PC, does some Palm or PocketPC emulator exist and how do i use it?

Please see the PdaEmulators page for info.