How to report a problem with SyncML

When syncing doesn't work for you, please report your problems to the mailing list. Obviously a post like "Help, it doesn't work! What can I do?" is not helpful. So please adhere to the following steps when reporting a problem to the mailing list:

  1. Test preparations:
    1. Make sure you have a recent (stable or git) version of the framework and the relevant Horde applications involved. If using CVS code, make sure that you have actually installed the current framework (using the install-packages script in the framework directory).
    2. Make sure there's a directory /tmp/sync/, writeable by the webserver (chown wwwrun /tmp/sync). Clean this directory before starting the sync: rm /tmp/sync/*
    3. Turn on logging of PHP errors to a file: make sure you have an error_log entry in php.ini as described in the SyncML/HowTo FAQ section.
    4. Set log level to PEAR_LOG_DEBUG (just DEBUG in Horde 4) in Administration -> Setup -> Horde -> Logging.
  2. Run a synchronization session; perform the actions you intend to do and that do not work.
  3. Report the problems to the mailing list. Please include the following:
    1. What version of Horde and SyncML are you using ("I'm using a git version from three days ago")
    2. Did any PHP errors occur during your test? ("No PHP errors showed up in the PHP error log")
    3. And finally: include the contents of the /tmp/sync/ log files in your post. If no such files have been created, report that. Be careful, the log files might contain user names and passwords.

The log files might contain binary files with .wbxml file extensions. We now use our own WBXML libary in the XML_WBXML package. The WBXML data gets directly passed and processed, no XML is produced. If possible you should provide the decoded XML files when sending a problem report. 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