6.0.0-git
2024-05-07
Last Modified 2005-09-25 by Karsten Fourmont

How to configure a device to sync with Horde 3.1 (HEAD)

Syncing is currently developer-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 heavy development.

  • The sync URL is http(s)://pathtoyourhordeinstall/rpc.php
    • Username/password: your Horde account data
    • Databases (sometimes called remote settings) 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. It may be helpful to filter the logs as follows:


tail -f /tmp/horde.log | grep "SyncML:"

  • For sync4j outlook syncing, use at least SyncClient PIM Outlook version 1.3.9 available from http://sync4j.org/ (v 2.2). The device ID must be sc-pim-outlook or anything containing sync4j so that the Horde backend can identify the connector.

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

Cleaning up when testing

DO NOT USE THIS IN PRODUCTION!

If you're debugging and want to clean out data between sync attempts, you can try this set of commands if you use mysql (or adjust appropriately for other backends):


delete from kronolith_events where calendar_id='YOUR CALENDAR';

delete from horde_datatree where group_uid='syncml';

delete from horde_datatree_attributes using

    horde_datatree_attributes left join horde_datatree on

    horde_datatree_attributes.datatree_id=horde_datatree.datatree_id where

    horde_datatree.datatree_id IS NULL;

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.

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.