6.0.0-beta13
4/12/26
  • 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

//##red|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

Download Palm simulator (for version 5.4) from http://www.palmos.com/dev/tools/simulator/ (free registration required).

Unzip somewhere, start debug/!PalmSim_54_dbg.exe, select a suitable ROM (included in debug dir)

Right-click on Simulator and click Settings > Communications > Redirect !SocketLib Calls to Host TCP/IP

Download and unzip synthesis client for !PalmOS from http://www.synthesis.ch/

Install simulator by dragging the enclosed .rpc file into the simulator window.

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.