6.0.0-git
2024-04-18
Last Modified 2007-01-13 by Karsten Fourmont

How to configure a device to sync with Horde 3.1

General information

Syncing is not yet production-level code - 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 the cvs version or a cvs snapshot. The latest stable release won't do. Please note that you have to run framework/install-packages.php to install the required packages into your PEAR path. (Unless you use framework/devtools/fw-create-symlinks).
    • client configuration is as follows:
      • The sync URL is http(s)://pathtoyourhordeinstall/rpc.php
        • Username/password: your Horde account data
        • Databases (sometimes called remote settings or 'server path') must be calendar, tasks, notes, or contacts.
    • For debug output create dir /tmp/sync and make it writeable by web server
    • Set log level to PEAR_LOG_DEBUG in Administration:Horde Setup_Logging.
    • When reporting problems to the mailing list, please include the /tmp/sync/syncml_log.txt. This greatly helps to figure out what's going on.

Additional information for syncing with Outlook or Blackberry

  • You need the Funambol outlook connector. Go to http://www.funambol.com/ -> Download -> PIM-Only Client Software -> Version for your client. 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.
    • Sync4J Outlook Client needs to have the port configured in the sync url when using https, i.e. https://pathtoyourhordeinstall:443/rpc.php

Additional information for syncing PDAs

  • Syncing of PDAs requires the Synthesis Sync Client available from http://www.synthesis.ch/. 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

Sync clients being used succesfully:

  • Synthesis client (v2.5.0.30) -> PDA -> USB serial cable -> Powerbook G4 running The Missing Sync (http://www.markspace.com/missingsync_palmos.php) -> Horde test installation
    • Sony Ericsson P800/P900
    • Outlook with Funambol SyncClient PIM outlook 3.0.15

Cleaning up when testing

DO NOT USE THIS IN PRODUCTION!

You can clear all session files (assuming the default backend) with rm -f /tmp/sess_*.

You'll have a lot of entries in the datatree with a group_uid of 'horde.history'. You will lose information from more than syncing by clearing them out, but you can do so. It is also useful to clear out horde.log and /tmp/sync to get a better feel for what is from the current sync attempt and what is not.

Using a Palm simulator to test the Synthesis client

  1. Download Palm simulator (for version 5.4) from http://www.palmos.com/dev/tools/simulator/ (free registration required).
    1. Unzip somewhere, start debug/PalmSim_54_dbg.exe, select a suitable ROM (included in debug dir)
    2. Right-click on Simulator and click Settings > Communications > Redirect SocketLib Calls to Host TCP/IP
    3. Download and unzip synthesis client for PalmOS from http://www.synthesis.ch/
    4. Install simulator by dragging the enclosed .rpc file into the simulator window.
    5. Start & configure the Synthesis client. Start a sync run.

How to write a SyncML test case

See SyncMLTestCases

Links

SyncMLDevicesFileFormats

SyncRoadMap

FAQ

Syncing of events fails with a log entry like "No sync object found for URI=calendar?dr(-30,90)"

Syncing of date ranges as used by the Synthesis client is not yet supported. Please uncheck the "only from 30 days before until 90 days after today" checkbox.

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 gets directly passed and processed, no xml is produced. To see the xml, you can manually decode it like this:


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

I really don't want to upgrade my complete Horde installation. What can I do?

Nothing. This is cutting edge technology, so you need to invest a bit if you want to participate at these exciting new features.