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 within 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 thats 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, Ill 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 serverthe 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
Its 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 dont
specify MultiUser, then data will all be dumped directly into the source
directory. Dont 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 happenhopefully, 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 toydownload the iPod
connector and install it. Configuration is much like the Outlook
connectora 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. Its 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.