Last week, I followed up Funambol

installation with the step-by-step instructions of configuring it to sync

your mobile data. The last thing I covered was adding a principle to allow my

user to authenticate against my mobile phone. The last thing I need to go over

is working with your data source.

SyncSource

Once the phone has connected to the data server and

authenticated, it needs a data source to sync with—in Funambol, this data

source is called a SyncSource. The SyncSource defines a way in which a set of

data is made accessible to the data server for synchronisation. Various

SynSources are included with Funambol, which include vCard, iCalendar,

FileSystem, Pop3 and DB connectors. If that’s not enough, then custom

SyncSources can be created using the DS


Module Development Tutorial and DS


Server SyncSource API, allowing synchronisation with almost any data

source.

In order to synchronise contacts and calendar information

with a mobile phone, I’ll use the vCard and iCalendar SyncSource templates. These

can be found in the administration tool by expanding the modules branch and then

pdi > FunambolPDIConnector. Starting with the iCalendar template, open up

the node and double-click on cal;

this is the SyncSource that will handle the flow of data between my mobile

phone and the data server—the following settings should be entered:

 

Source URI: cal

Name: cal

Type: text/x-vcalendar

Source Directory: ../../../ds-server/db/calendar

Supported types: text/x-vcalendar

Supported versions: 1.0

MultiUser: Selected

 

It’s very important to ensure that the MultiUser option is

checked. After the first synchronisation, you can check out the source

directory (in this case ../../../ds-server/db/calendar) and will see that each

user who has connected to the server has their own data directory. If you don’t

specify MultiUser, then data will all be dumped directly into the source

directory. Don’t forget to save any changes, and wait for the SyncsSource

Correctly Updated acknowledgement before proceeding.

Next, we move on to the vCard template: Open the vCard SyncSource

template and open the card properties

with a double-click. They should look like this:

 

Source URI: card

Name: card

Type: text/x-vcard

Source Directory: ../../../ds-server/db/contact

Supported types: text/x-vcard

Supported versions: 2.1

MultiUser: Selected

 

Note again that MultiUser is selected so that the users’
data is separated. Save the SyncSource and you are now ready to sync.

Putting it all
together

To synchronise a mobile phone is very easy. I mentioned before

that in order for the mobile phone to synchronise one must have either a static

IP address or a dynamic DNS pointer so that the link can be initiated from

outside. A rule allowing port 8080 must also pass incoming connections through

the firewall and deliver them to the internal Funambol server. Once these are

in place and the mobile device is configured


as described last week, select Synchronization from the Organiser menu,

highlight the connection previously created called Home and select Start.

Magical things should happen—hopefully, contacts and calendar items will be

sent to the Funambol server. If you configure a second mobile device to Synchronise

(not forgetting to add the device and principle on the server) with the same

account, you should find all contacts are synchronised with the contacts

currently on the server.
 

The next logical step to making these stored contacts and

events easily manageable is to install the Funambol Outlook


connector. The Outlook connector installs just as any other windows

application would, once installed a new icon will appear in the Outlook

toolbar. Click on the icon and the plug-in window will open, synchronisation

will, of course, fail so open up Edit > Communications Settings. The

SyncServer URL and user details are the same as previously used in the mobile

phone. Next, in Edit > Synchronization Settings, I have checked Contacts and

Calendar followed by reviewing the Remote Settings. The remote settings options

specify SyncSources for the selected data; in this case, we should stick with card and cal. Also, check the v-card and i-cal select boxes. In order for

the server to allow Outlook to collect the data from Funambol, a new principle

has to be created joining sc-pim-outlook to the user you are testing. Save the new

principle and then click Synchronize in the main plug-in window. If all is well,

then the Outlook contacts should have synchronised with those of the mobile

device.

A bit of fun

If you own an iPod and want to get the most out of your

expensive toy—download the iPod


connector and install it. Configuration is much like the Outlook

connector—a principle must be created and the SyncSource details defined. One

exception here is that the SyncSources are called scard and scal. Looking

in the server configuration, you will find these under the SIF SyncSource

template. As you can see, in the source settings, the actual data is the same

as for the card and cal sources. A different type of

SyncSource is required because the data is handled differently by the iPod.

Make sure that MultiUser is selected for the SIF SyncSources.
 

Back to the iPod connector configuration: it is assumed that

disk access is enabled on the iPod. This is required, as the connector writes

data from Funambol directly to the iPod’s file system. Specify the drive letter

allocated to your iPod in the Synchronization Settings of the connector, click Synchronize,

and the contact/calendar data should be transferred. I must say that I really

like this as I have not previously gotten around to exploring the extra

features of my iPod despite using it everyday. It’s really quite cool being

able to check my calendar or look up contacts via the iPod!

I hope that anyone who followed this was able to configure a working

system. Even for home use, this solves the problem of having multiple versions

of data spread across multiple devices and applications. If anything is unclear,

leave a comment or join the Yahoo support


group, which is very active.