Open Source Mobile Calendar and Contact Synchronization

- This is archive documentation, which means it is not supported or valid for recent versions of Zimbra Collaboration.

- This article is a Community contribution and may include unsupported customizations.

Method to provide mobile calendar and contact synchronization

With the great work from the forum user Wolfroma - a Zimbra/Funambol connector surfaced to allow the synchronization of calendar and contacts between Zimbra user accounts and their mobile devices.

The connector is stable but feedback reveals some minor incompletion with re-occurring events not syncing.

At present the most documentation is available directly on the Sourceforge wiki page (also where you can download the Funambol Zimbra connector).

Installation Guide

Installation contains fifteen steps. We assume you have your Zimbra setup and running standalone, and wish to add Funambol to the setup. The fun quotes system running the Funamlbol Server requires Java to been installed as a dependent before starting this guide.

1. Download the Funambol Server for your OS, the instructions in this article are current as of v9.0.0. The newer versions of the server software are now more modular and there is no longer different editions of the server software. You can the source or binary version, but the binary is much easier to install and is used for this guide.

2. Install the Funambol Server by running as root,

sh funambol-9.0.0.bin

The binary script will start to install and asks a few questions, agree to the license terms (or not), install to default directory (/opt) and do not start the server (just yet.)
N.B.- for the duration of this article, the directory where you install the funambol bundle will be referred to as <FUNAMBOL>.

3. Download the latest Funambol - Zimbra Connector version from this at time of writing was 0.6.02. The connectors are also listed further down the page of the Funambol Link

4. The Funambol - Zimbra Connector name will download as a zip and needs to be extracted to a folder. This folder contains the module to add to Funambol Server

5. In this folder go into /output and copy everything to <FUNAMBOL>/ds-server/modules. Make sure the ZimbraConnector.s4j is included in the copy.

For the Funambol - Zimbra Connector you should create a ZimbraConnector.xml configuration file in <FUNAMBOL>/config/connector/.
N.B.: You have to create this directory if it doesn't exist.

You will get prompts asking if you want to create databases, just select Yes to all of them. You might also want to check at this point that Funambol is setup to start on reboots either as a service or some sort of init script.
- copy the startup script into init.d

cp /opt/Funambol/bin/funambol /etc/init.d/funambol

- Open the script in a text editor

vim /etc/init.d/funambol

change this:

FUNAMBOL_HOME=`(cd .. ; pwd)`

to this:

FUNAMBOL_HOME=`(cd /opt/Funambol ; pwd)`

Run the command for your distro to automatically start the script, i.e. for Debian/Ubuntu based systems:

update-rc.d -f funambol defaults

For Red Hat/Fedora based systems:

chkconfig --add funambol

8. Now the Zimbra connector is ready to use, but it is not configured yet. To configure we need to run the Funambol Administration Tool using

./<FUNAMBOL>/admin/bin/funamboladmin

Note that this a client program that requires a GUI. If you don't have X installed on your server, you can Download the GUI client on its own. The package is under "Other Funamble Server Software" cell phone spy.
Once started go to File -> Login. You will likely need to change the Hostname/IP but the other settings can all be kept as default.

9. Remove follow items from the FunambolFoundationConnector , under <hostname> , Modules , foundation (note that as of Funamboladmin 10.0 doubleclicking on "foundation" will not expand the node, you must click the "expand/collapse" icon).

10. Now you should add new SyncSources to FunambolZimbraConnector, under <hostname> , Modules , zimbra

You should try using https for the Zimbra URL's first, but if you run into problems try using http and see if this helps. If your hosting the connector on the same server as Zimbra, entering the hostname as localhost should help keep things <span class="plainlinks" Also the port can be left out unless you have customized Zimbra to have special HTTP ports.

First of all click on FunambolZimbraConnector, then right click on the "CalendarSyncSource" and select "Add SyncSource".
Enter the following details - Adding new SyncSource items for cal, event, scal, stask and task.

On the phone side simply add a new synchronization profile if you phone supports SyncML by default.
The server setting should be the funambol URI which should be in the format http://<hostname>:8080/funambol/ds
The server needs to be publicly accessible from the Internet, if you running behind a firewall make sure that you have NAT'd port 8080 to your Funambol server