Horde and Funambol Synchronization

From SME Server
Jump to: navigation, search
Edit-find-replace.png Not reviewed:
This howto or contrib has not been reviewed and might contain code that could harm your installation. For more information on the review process have a look at the Development Review page.

PythonIcon.png Skill level: Advanced
The instructions on this page may require deviations from standard procedures. A good understanding of linux and Koozali SME Server is recommended.

Horde and Funambol Synchronization

Horde 2.13.x (included with SME Server 7.3 or later) includes built-in support for the SyncML protocol.

Funambol is an open-source SyncML client with available binary installers for Outlook, iPhones, Blackberries, Windows Mobile devices, Symbian devices, and iPods.

Horde / SME, when properly configured, supplants the functionality offered in the Funambol synchronization server, as well as the free myFunambol synchronization online service. However, note that you may run into problems with horde versions before 3.3.6. See http://forums.contribs.org/index.php/topic,41661.msg218531.html#msg218531 for more information.

This page is intended to compile in one place the hints and notes necessary to synchronize your Contacts, Calendar, Tasks and Notes with Outlook, and wirelessly with your Blackberry.

Warnings

  • Be sure to test any given configuration before trusting it with mission critical data. The Outlook plugins seem to work pretty well, but I spent a lot of time cleaning up duplicate tasks and contacts before the release of the Funambol Sync Plugin v7.2.1 which finally seems to sync OK without duplicating everything.

Install Horde Contribs

SME server includes the Horde modules for Webmail and Contacts, but does not include the modules required for Calendar, Task and Note management.

To enable the following capabilities, install the corresponding contribs:

Modify Horde Settings

Remove 'realm' from template fragment

SME uses your primary domain name as the Horde "Realm" setting, but this causes problems with Funambol.

These commands (based on Bugzilla:4772#c5) will create a custom template fragment that has the "realm" line commented out (insert a "#" at the beginning of any line containing "realm").

Pay close attention if you type these commands by hand instead of using copy & paste; one of these commands is continued across 3 lines using "\"!

mkdir -p /etc/e-smith/templates-custom/home/httpd/html/horde/imp/config/servers.php/
cd /etc/e-smith/templates-custom/home/httpd/html/horde/imp/config/servers.php/
sed '/realm/s/^/#/' \
/etc/e-smith/templates/home/httpd/html/horde/imp/config/servers.php/120IMAPServers > \
120IMAPServers
expand-template /home/httpd/html/horde/imp/config/servers.php

Clean up existing Horde data

If you have any existing contact, calendar, task or note data already stored in Horde, you will need to clean it up.

Bugzilla:4772#c23 documents the work in progress to make this possible.

You can manually remove the "realm" field from your existing data as shown here (you will get error messages for any Horde modules that you do not have installed):

wget -O /home/httpd/html/horde/smeserver/horde_realm_change.sql http://bugs.contribs.org/attachment.cgi?id=2374
echo '#! /bin/sh
exec mysql -f < /home/httpd/html/horde/smeserver/horde_realm_change.sql
' > /etc/e-smith/templates/etc/e-smith/sql/init/89horde_realm
sh /etc/e-smith/templates/etc/e-smith/sql/init/89horde_realm

Disable page compression

The Funambol Blackberry Sync Plugin still (as of v7.2.1) does not work if Horde's "compress_pages" is set to "true".

Correct this value as follows (change "true" to "false" in lines containing "compress_pages"):

Pay close attention to commands continued across multiple lines using "\".

mkdir -p /etc/e-smith/templates-custom/home/httpd/html/horde/config/conf.php
cd /etc/e-smith/templates-custom/home/httpd/html/horde/config/conf.php
sed /compress_pages/s/true/false/ \
/etc/e-smith/templates/home/httpd/html/horde/config/conf.php/100GeneralSettings >\
100GeneralSettings
signal-event email-update

Funambol Configuration

Client Configuration Settings

All of the various Funambol (or other SyncML) clients want you to enter the SyncML server address and login information.

To sync with Horde on a SME server, use the following values:

Outlook

  • Install the SME Server's security certificate into your user profile's certificate store (just browse to https://servername/ using Internet Explorer and install the cert from there)
  • Install the Funambol Outlook Plugin from https://www.forge.funambol.org/download/
  • Configure the synchronization options as you desire

Blackberry

There are two versions of the Funambol Blackberry Sync Plugin - one for handhelds running any OS prior to 4.7, and another for handhelds running OS v4.7 or later.

Note: The Funambol Blackberry Sync downloads (as of v7.2.1 4/22/2009) for some reason do not include the ".ALX" file required by current versions of the Blackberry Desktop Manager when installing applications. This procedure describes how to download the installer, download the .ALX file separately, and install the application on your Blackberry.

The .ALX file is an XML file describing the files involved in the specific Blackberry Application, and can be built manually (with care). There is as yet no available .ALX file for the Funambol "Blackberry Sync (OS>=4.7)"

Handheld OS less than v4.7

Handheld OS less than v4.7

These instructions are completely untested!

  • Install the Blackberry Desktop Manager on a workstation
  • Download and extract "Blackberry Sync (OS>=4.7)" from https://www.forge.funambol.org/download/downloads-bb.html
  • Create an appropriate "Funambol_Sync_Plugin_os47.ALX" and place it into the folder containing the extracted "Funambol_Sync_Plugin_os47" files.
  • Connect your Blackberry to the workstation running the Blackberry Desktop Manager
  • From within the Blackberry Desktop Manager:
    • Select "Application Loader"
    • Select "Start" under "Add / Remove Applications"
    • Select "Browse"
    • Browse to and select the Funambol_Sync_Plugin_os47.alx file created above
    • Select "Next"