Having gathered a bit of experience with Funambol, I dared install the
Funambol Domino Connector, called funambol-domino-3.0.11 and available
on the Funambol Downloads page. The documentation is a bit light, but I
can report having successfully connected Funambol to a Lotus Domino 6.5.4
running on my laptop (literally: I was sitting in my hotel room :-) ) After
installing the module as per instructions in the enclosed PDF (basically copy
the funambol-domino-3.0.11.s4j
file to the ds-server/modules
directory,
add its name to the modules-to-install directive in ds-
server/install.properties
and run a ds-server/bin/install tomcat50
,
answering y to all the “create database” statements), I launched the
Funambol server proper. In the Funambol Administration Tool, I then created
two new sync sources in the domino branch, called ncon and ncal for
Notes-Contacts and Notes-Calendar respectively (I named them with a leading
“n” to both differenciate from other existing Syncsources and in honour of the
“n”-tradition in Notes executable programs). The
ncal SyncSource uses the
SIF-E
type and the ncon source the SIF-C
type. Apart from that, both connect to a Domino server specified as either
hostname or IP address and they connect via TCP port 63148 to Domino’s DIIOP
task (on Linux the default port number is 60148). According to the Lotus
Domino Administrator Help file, the name by which the application connects to
DIIOP must be allowed to run both restricted and unrestricted Java agents.
Since I didn’t know by which name the Funambol connector talks to Domino I
tried Anonymous and it works (without these entries on the Security tab of
the Server document, the user won’t be able to connect. I don’t feel very
comfortable with that, but I don’t at this moment exactly know how dangerous
that is. After ensuring that the DIIOP task
is refreshed (
tel diiop refresh
), it was time to test all this. I launched
the Funambol Java GUI Plugin and configured it to use both the newly created
SyncSources. Note how both the sync sources created
above (./ncon for contacts and ./ncal for calendar) are specified, and
note that I use the distinguished name (Lotusspeak: username) of the user
connecting. The password is not the password from the user’s Lotus .id file,
but the Internet Password as specified in the user’s person document of the
Domino directory. Keep an eye on your Funambol logs (
ds-
server/logs/funambol_ds.log
) and start the synchronization from the plug-in:
[Oct 10, 2006 10:15:23 PM] INFO: Handling incoming request: http://localhost:8080/funambol/ds
[Oct 10, 2006 10:15:23 PM] INFO: Requested sessionId: null
[Oct 10, 2006 10:15:23 PM] INFO: foobar foobar/foobar/sc-pim-demo9904 logged in.
[Oct 10, 2006 10:15:23 PM] INFO: sc-pim-demo9904/foobar foobar/foobar: database './ncon' found
[Oct 10, 2006 10:15:23 PM] INFO: sc-pim-demo9904/foobar foobar/foobar: database './ncal' found
[Oct 10, 2006 10:15:23 PM] INFO: Handling incoming request: http://localhost:8080/funambol/ds
[Oct 10, 2006 10:15:23 PM] INFO: Requested sessionId: 397BF6C44E64B45BEBFDE966ED3F7990
[Oct 10, 2006 10:15:23 PM] INFO: Starting synchronization ...
[Oct 10, 2006 10:15:24 PM] INFO: Preparing fast synchronization of source './ncon' for sc-pim-demo9904/foobar foobar/foobar since 2006-10-10 22:03:31.864...
[Oct 10, 2006 10:15:24 PM] INFO: Last call
[Oct 10, 2006 10:15:24 PM] INFO: Preparation completed.
[Oct 10, 2006 10:15:24 PM] INFO: Synchronizing...
[Oct 10, 2006 10:15:24 PM] INFO: Preparing fast synchronization of source './ncal' for sc-pim-demo9904/foobar foobar/foobar since 2006-10-10 22:03:31.864...
[Oct 10, 2006 10:15:24 PM] INFO: Last call
[Oct 10, 2006 10:15:24 PM] INFO: Preparation completed.
[Oct 10, 2006 10:15:24 PM] INFO: Synchronizing...
[Oct 10, 2006 10:15:24 PM] INFO: Handling incoming request: http://localhost:8080/funambol/ds
[Oct 10, 2006 10:15:24 PM] INFO: Requested sessionId: 397BF6C44E64B45BEBFDE966ED3F7990
[Oct 10, 2006 10:15:24 PM] INFO: Handling incoming request: http://localhost:8080/funambol/ds
[Oct 10, 2006 10:15:24 PM] INFO: Requested sessionId: 397BF6C44E64B45BEBFDE966ED3F7990
[Oct 10, 2006 10:15:24 PM] INFO: Handling mapping ...
[Oct 10, 2006 10:15:24 PM] INFO: Performing mapping ...
[Oct 10, 2006 10:15:25 PM] INFO: sc-pim-demo9904/foobar foobar/foobar: synchronization completed
(to be honest, the above doesn’t detail my first attempt. :-) Keen eyes will
detect that the log above shows a fast and not a slow-sync.) So, that
looks quite good. But where on Earth are the documents? Well, the calendar
entries are in the … drum roll … Lotus Notes calendar of the user, and the
contacts are in the Domino Web Access (a.k.a. iNotes) documents of the user’s
mail file. Open the mail file and use Actions/Synchronize Address Book to
sync them from the Domino mail file (mail/foobar.nsf
) into your personal
address book (names.nsf
on your workstation). Don’t be afraid if you see
reminders or appointments that are off by one or more hours: think Timezone.
There are a number of things I haven’t touched upon here, because I simply
don’t have the foggiest idea of what they do. For example, my Funambol
installation uses the db module. In my MySQL-backend, I find a table
called fnbl_domino_cache
which appears to cache Domino UNIDS, perhaps to
build GUIDs? It is a shame that neither Todo nor Journal (i.e. memos,
notes) can be synchronized with this connector, but I could imagine there’d be
business cases willing to finance development on the connector to add missing
functionality. Caveat: I have only been able to try this out with Funambol’s
Java GUI Plugin and not with a real mobile phone, but that is next on my
list. Anyways: another possible step towards solving in my quest for the holy
sync grail and/or another few sleepless nights…