\documentclass{article}
\usepackage{ulem}
\usepackage{graphicx}
\usepackage{hyperref}
\pagestyle{headings}
\begin{document}
\part{How to report a problem with SyncML}
When syncing doesn't work for you, please report your problems to the <a href="https://wiki.horde.org/mailto:sync@lists.horde.org">sync@lists.horde.org</a> mailing list. Obviously a post like \textit{"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:

\begin{itemize}
\item Test preparations:
\begin{itemize}
\item 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).


\item Make sure there's a directory \texttt{/tmp/sync/}, writeable by the webserver (\texttt{chown wwwrun /tmp/sync}). Clean this directory before starting the sync: \texttt{rm /tmp/sync/*}


\item Turn on logging of PHP errors to a file: make sure you have an \texttt{error\_log} entry in \texttt{php.ini} as described in the <a href="https://wiki.horde.org/SyncML/HowTo">SyncML/HowTo</a> FAQ section.


\item Set log level to PEAR\_LOG\_DEBUG (just DEBUG in Horde 4) in Administration -> Setup -> Horde -> Logging.


\end{itemize}

\item Run a synchronization session; perform the actions you intend to do and that do not work.


\item Report the problems to the mailing list. Please include the following:
\begin{itemize}
\item What version of Horde and SyncML are you using \textit{("I'm using a git version from three days ago")}


\item Did any PHP errors occur during your test? \textit{("No PHP errors showed up in the PHP error log")}


\item And finally: include the contents of the \texttt{/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.


\end{itemize}

\end{itemize}
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 \texttt{wbxml2xml} and \texttt{xml2wbxml} to convert XML files to WBXML and back.

To install them on Debian:

<pre><code>
apt-get install libwbxml2-utils
</code></pre>
The WBXML Library (aka libwbxml) contains a library and its associated tools to parse, encode and handle WBXML documents.<br />
(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:

<pre><code>
for a in *.wbxml; do wbxml2xml -m 1 -i 4 -o `basename \$a .wbxml`\_conv.xml \$a; done 2>/dev/null
</code></pre>
\end{document}
