Open Source Mobile Calendar and Contact Synchronization: Difference between revisions

No edit summary
 
(98 intermediate revisions by 55 users not shown)
Line 1: Line 1:
{{Unsupported}}
{{Archive}}{{Unsupported}}


Method to provide mobile calendar and contact synchronization
Method to provide mobile calendar and contact synchronization
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 <span class="plainlinks">[http://www.great-quotes.com/funny_quotes.htm<span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">fun quotes</span>] 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 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 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-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>.
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 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/''.<br>
* <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


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.
- 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)`


10. Start administration tools , and connect to your ds-server, by default http://localhost:8080/funambol/ds
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


11. Remove follow items from the foundation connector :
* 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 its own. The package is under "Other Funamble Server Software" [http://www.xtspy.com/ 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.


*PIM Calendar SyncSource -- cal; event; scal; stask; task
* 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).
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''
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.
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.
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


{{Article_Footer|unknown|3/4/2008}}
{{Article_Footer|unknown|3/4/2008}}


[[Category: Mobile]]
[[Category: Mobile]]

Latest revision as of 10:57, 7 July 2015


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.

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

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).
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

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.

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.

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

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: 2015-07-07



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