Open Source Mobile Calendar and Contact Synchronization
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).
The source editor has granted permission to use the material directly - furthermore I personally worked on the main article
Installation Guide
Installation contains fifteen steps.
1. Download the Funambol ds-server (I recommend you download the PIM bundle version) download, the instructions in this article are current as of v6.5.12.
2. Install the Funambol ds-server (this is the detailed guide for v 6.5, if the link is broken then search in the project page).
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 link.
3.1 For Funambol 8.x, you will need to download the ZimbraConnector.zip released by Zoltan67, and attached to his post in the Zimbra + Funambol Sync4j Code.
4. The file name will resemble the following syntax: ZimbraConnector_0.x.x.s4j
5. Copy the downloaded connector module to <FUNAMBOL>/ds-server/modules
rename ZimbraConnector_0.x.x.s4j ZimbraConnector.s4j copy ZimbraConnector.s4j "<FUNAMBOL>/ds-server/modules"
5.1. For Funambol Zimbra Connector version 0.4.95 and above you should create ZimbraConnector.xml configuration file in
- <FUNAMBOL>/ds-server/config/connector/ for Funambol v6.5,
- <FUNAMBOL>/config/connector/ for Funambol v7.x
N.B.: You have to create this directory if it doesn't exist.
Example of this file: ZimbraConnector.xml
<java version="1.5.0" class="java.beans.XMLDecoder"> <object class="ru.korusconsulting.connector.config.ConnectorConfig"> <void property="dataSource"> <string>jdbc/fnblds</string> </void> </object> </java>
6. Edit the install.properties file in the <FUNAMBOL>/ds-server directory and find the line beginning: "modules-to-install=..., (usually the last line).
Append "ZimbraConnector", the result should look similar to the following :
modules-to-install=foundation-6.5.10,...,funambol-email-connector-6.5.9,ZimbraConnector
7. Install the new connector into the ds-server using the following commands, depending on your Funambol version. Note that you should not shut down the Funambol server; it must be running when you run install-modules. If it's not running yet, start it now. Then type:
7.1. Funambol 6.x:
cd <FUNAMBOL>/ds-server/bin ./install-modules.sh
7.2. Funambol 7.x:
cd <FUNAMBOL>/bin ./install-modules.sh
7.3 Funambol 8.x:
Edit <FUNAMBOL>/bin and change JRE Path (pre-compiled ZimbraConnector needs JRE 6.x)
#!/bin/sh export JAVA_HOME=/usr/lib/jvm/java-6-sun [...]
cd <FUNAMBOL>/bin ./install-modules
8. For existing modules you can answer as you wish (answering yes will overwrite any existing data) -- Answer "y" (Yes), to questions about creating a database for the ZimbraConnector.
9. Now the Zimbra connector is ready to use, but it is not configured yet.
10. Start administration tools , and connect to your ds-server, by default http://localhost:8080/funambol/ds
11. Remove follow items from the foundation connector :
- PIM Calendar SyncSource -- cal; event; scal; stask; task
- PIM Contact SyncSource -- card; scard
12. Now you should add new SyncSources to FunambolZimbraConnector.
Modules > zimbra > FunambolZimbraConnector>CalendarSyncSource
First of all click on zimbra>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.
- Source URI = cal,event,scal,stask,task
- Name = cal,event,scal,stask,task
- Zimbra URL = http://<hostname>:port/service/soap/
- secure URL = https://<hostname>:port/service/soap/
Modules > zimbra > FunambolZimbraConnector>ContactSyncSource
First of all click on zimbra>FunambolZimbraConnector, then right click on the "ContactSyncSource" and select "Add SyncSource".
Enter the following details - Adding new SyncSource items for both card and scard.
- Source URI = card, scard
- Name = card, scard
- Zimbra URL = http://<hostname>:port/service/soap/
- secure URL = https://<hostname>:port/service/soap/
Modules > zimbra > FunambolZimbraConnector>GALContactSyncSource
First of all click on zimbra>FunambolZimbraConnector, then right click on the "GALSyncSource" and select "Add SyncSource".
Enter the following details - Adding a new SyncSource item for zimbraGALContacts.
- Source URI = zimbraGalContacts
- Name = zimbraGalContacts
- Zimbra URL = http://<hostname>:port/service/soap/
- secure URL = https://<hostname>:port/service/soap/
13. Configuration of all sync sources should resemble the picture below:
15. The article instructions leave a correctly configured Funambol Zimbra connector.