Difference between revisions of "Open Source Mobile Calendar and Contact Synchronization"

m (Installation Guide)
Line 9: Line 9:
 
At present the most documentation is available directly on the [http://zimbrafunambol.wiki.sourceforge.net/installation-guide Sourceforge wiki page] (also where you can download the Funambol Zimbra connector).
 
At present the most documentation is available directly on the [http://zimbrafunambol.wiki.sourceforge.net/installation-guide 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 Guide=
  
Installation contains fifteen steps.
+
Installation contains fifteen steps. We assume you have your Zimbra setup and running standalone, and wish to add Funambol to the setup. The system running the Funamlbol Server requires Java to been installed as a dependent before starting this guide.
  
1. Download the Funambol ds-server (I recommend you [http://funambol.com/opensource/downloads.php download] the PIM bundle version) download, the instructions in this article are current as of v6.5.12.
+
* 1. [http://funambol.com/opensource/downloads.php Download] the Funambol Server for your OS, the instructions in this article are current as of v8.7.0. Newer versions of the server software are more modular and there is no longer different editions of the server software. You can download the source or binary version, but the binary is much easier to install and is used for this guide.
  
2. Install the Funambol ds-server ([http://forge.objectweb.org/project/download.php?group_id=96&file_id=10011 this is] the detailed guide for v 6.5, if the link is broken then search in the [http://forge.objectweb.org/projects/sync4j project page]).<br>
+
* 2. Install the Funambol Server by running as root,
 +
sh funambol-8.7.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>.
 
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 [https://sourceforge.net/project/platformdownload.php?group_id=219645 link].
+
* 3. Download the latest Funambol - Zimbra Connector version from this [http://sourceforge.net/projects/zimbrafunambol/ link]. The version at time of writing was 0.6.02. The connectors are also listed further down the page of the [http://funambol.com/opensource/downloads.php Funambol 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 [http://www.zimbra.com/forums/zimbra-mobile/23988-zimbra-funambol-sync4j-code-24.html#post151879 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
+
* 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
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  
+
* 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.
* <FUNAMBOL>/ds-server/config/connector/ '''for Funambol v6.5''',
+
For the Funambol - Zimbra Connector you should create a ZimbraConnector.xml configuration file in ''<FUNAMBOL>/config/connector/''
* <FUNAMBOL>/config/connector/ '''for Funambol v7.x'''
 
 
N.B.: You have to create this directory if it doesn't exist.
 
N.B.: You have to create this directory if it doesn't exist.
  
Example of this file:  ZimbraConnector.xml
+
Example of this file:  ''ZimbraConnector.xml''
  
 
  <java version="1.5.0" class="java.beans.XMLDecoder">
 
  <java version="1.5.0" class="java.beans.XMLDecoder">
Line 47: Line 39:
 
  </java>
 
  </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).<br>
+
* 6. Edit the install.properties file in the <FUNAMBOL>/ds-server directory and find the line (usually the last line) beginning:  
 +
modules-to-install=
 
Append "ZimbraConnector", the result should look similar to the following :
 
Append "ZimbraConnector", the result should look similar to the following :
  
  modules-to-install=foundation-6.5.10,...,funambol-email-connector-6.5.9,ZimbraConnector
+
  modules-to-install=content-provider-8.7.0,email-connector-8.7.0,foundation-8.7.0,phones-support-8.7.0,webdemo-8.7.0,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)
+
* 7. Start the Funambol server and install the module by running
#!/bin/sh
+
./<FUNAMBOL>/bin/funambol start
export JAVA_HOME=/usr/lib/jvm/java-6-sun
 
[...]
 
  
  cd <FUNAMBOL>/bin
+
  ./<FUNAMBOL>/bin/funambol-server start
./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.
+
./<FUNAMBOL>/bin/install-modules.sh
  
9. Now the Zimbra connector is ready to use, but it is not configured yet.
+
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.
  
10. Start administration tools , and connect to your ds-server, by default http://localhost:8080/funambol/ds
+
* 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 [https://www.forge.funambol.org/download/#server Download the GUI client] on it's own. The package is under "Other Funamble Server Software"
 +
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.
  
11. Remove follow items from the foundation connector :
+
* 9. Remove follow items from the ''FunambolFoundationConnector'' , under ''your_server'' , ''Modules'' , ''foundation''
  
*PIM Calendar SyncSource -- cal; event; scal; stask; task
+
PIM Calendar SyncSource -- cal; event; scal; stask; task
 
   
 
   
*PIM Contact SyncSource  -- card; scard
+
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".
+
* 10. Now you should add new SyncSources to FunambolZimbraConnector, under ''<hostname>'' , ''Modules'' , ''zimbra''
  
 +
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.
 
Enter the following details - Adding new SyncSource items for cal, event, scal, stask and task.
  
*Source URI    = cal,event,scal,stask,task
+
Source URI    = cal,event,scal,stask,task
   
+
  Name          = cal,event,scal,stask,task
*Name          = cal,event,scal,stask,task
+
  Zimbra URL    = https://<hostname>:port/service/soap/
   
 
*Zimbra URL    = http://<hostname>:port/service/soap/
 
 
   
 
   
*'' secure URL = https://<hostname>:port/service/soap/
+
Now right ContactSyncSource, and select "Add SyncSource".
 
 
 
 
 
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.
 
Enter the following details - Adding new SyncSource items for both card and scard.
  
*Source URI    = card, scard
+
Source URI    = card, scard  
   
+
  Name          = card, scard
*Name          = card, scard
+
  Zimbra URL    = https://<hostname>:port/service/soap/
   
 
*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".
 
  
 +
Then right click on the "GALSyncSource" and select "Add SyncSource".
 
Enter the following details - Adding a new SyncSource item for zimbraGALContacts.
 
Enter the following details - Adding a new SyncSource item for zimbraGALContacts.
  
*Source URI    = zimbraGalContacts
+
Source URI    = zimbraGalContacts
   
+
  Name          = zimbraGalContacts
*Name          = zimbraGalContacts
+
  Zimbra URL    = https://<hostname>:port/service/soap/
   
 
*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:
+
* 11. Configuration of all sync sources should resemble the picture below:
  
 
[[Image:funambol_snapshot.jpg]]
 
[[Image:funambol_snapshot.jpg]]
  
15. The article instructions leave a correctly configured Funambol Zimbra connector.
+
* 12. The article instructions leave a correctly configured Funambol Zimbra connector.
  
 
{{Article_Footer|unknown|3/4/2008}}
 
{{Article_Footer|unknown|3/4/2008}}
  
 
[[Category: Mobile]]
 
[[Category: Mobile]]

Revision as of 03:01, 19 January 2011


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 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 v8.7.0. Newer versions of the server software are more modular and there is no longer different editions of the server software. You can download 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-8.7.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 link. The version 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.

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 (usually the last line) beginning:
modules-to-install=

Append "ZimbraConnector", the result should look similar to the following :

modules-to-install=content-provider-8.7.0,email-connector-8.7.0,foundation-8.7.0,phones-support-8.7.0,webdemo-8.7.0,ZimbraConnector
  • 7. Start the Funambol server and install the module by running
./<FUNAMBOL>/bin/funambol start
./<FUNAMBOL>/bin/funambol-server start
./<FUNAMBOL>/bin/install-modules.sh

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.

  • 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 it's own. The package is under "Other Funamble Server Software" 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 your_server , Modules , foundation
PIM Calendar SyncSource -- cal; event; scal; stask; task

PIM Contact SyncSource  -- card; scard
  • 10. Now you should add new SyncSources to FunambolZimbraConnector, under <hostname> , Modules , zimbra

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.

Source URI    = cal,event,scal,stask,task
Name          = cal,event,scal,stask,task
Zimbra URL    = https://<hostname>:port/service/soap/

Now right 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    = https://<hostname>:port/service/soap/

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    = https://<hostname>:port/service/soap/
  • 11. Configuration of all sync sources should resemble the picture below:

Funambol snapshot.jpg

  • 12. The article instructions leave a correctly configured Funambol Zimbra connector.
Verified Against: unknown Date Created: 3/4/2008
Article ID: https://wiki.zimbra.com/index.php?title=Open_Source_Mobile_Calendar_and_Contact_Synchronization Date Modified: 2011-01-19



Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »

Jump to: navigation, search