SyncML with Funambol and Lotus Domino

October 11th, 2006 | Categories: DomiNotes, MySQL, SyncML | Tags:

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

sync sources for Domino

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.

Security Server Document

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.

Plugin configuration

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…

  1. Rob
    October 27th, 2006 at 16:55
    Reply | Quote | #1

    Hi,
    I also have played around with this and it seems to work well.
    Even with my Nokia 6230i I managed to sync the calendar (did not try contacts yet).
    The only thing I ran into is that you must use the distinguished name (ie: bladibla/ou1/ou2/o) which is annoying cause if it is to big you cannot put it in the phone.
    Have you ever found a way to be able to use only the short name?
    Anyway, great post.
    Rob

  2. November 3rd, 2006 at 15:46
    Reply | Quote | #2

    Unfortunately I don't know how to replace the DN by the Lotus shortname; I'd suppose one would have to hack the source for that.

  3. Benoit Vanderbeck
    March 22nd, 2007 at 11:57
    Reply | Quote | #3

    Thanks Jan-Piet,

    it helped me to find out how to synchronize lotus. The only think I can't seem to figure out for the moment is how to sync email. I suppose I have to use the Email connector, but that connector uses another security officer than domino. Any idee how to solve this ? Can I use two different officers ?

  4. March 22nd, 2007 at 14:11
    Reply | Quote | #4

    @Benoit: no idea; as you might have read on my pages, I've given up on Funambol for the time being, and am using Synthesis.

  5. Allen K. C. Hsu
    April 2nd, 2007 at 06:13
    Reply | Quote | #5

    Dear Jan-Piet,

    Does Synthesis resolve all sync problem with Domino?

  6. April 2nd, 2007 at 09:33
    Reply | Quote | #6

    @Allen: well, it does for me, because I'm only interested in the PIM sync. Synthesis, at least in version 2 which I'm using, doesn't do email sync.

  7. Allen K. C. Hsu
    April 3rd, 2007 at 18:06
    Reply | Quote | #7

    @Jan-Piet,

    Thanks for ur response. Do you know where to setup the name the Funambol connector talks to Domino. I can't find it and always got error code 201.

  8. April 3rd, 2007 at 19:13
    Reply | Quote | #8

    @Allen, IIRC, Funambol uses the username/InternetPassword of the user connecting to it to go on to Domino (see posting above). Please remember, I don't use this any longer… ;-)

  9. behappy
    April 17th, 2007 at 01:32
    Reply | Quote | #9

    Hi !
    Have you tried to used the shortname as username ? I'm starting with Funambol, but that's what I have tested. It started to work ; well, at least, the connection to the Domino server worked. I stopped it because I didn't exactly know what it would do in my NAB :-)
    I now also wonder how to sync emails.

  10. April 27th, 2007 at 13:46

    Hello there,
    I've been put on to a project trying to sync an NFS based domino db to funambol the past days. I wonder if the procedure you've been through is based on NFS or a DB2 database, cause the system we're on is nothing else than a Domino 7.0 server with Notes in NFS format. I'm currently using linux and I know that I may need an other API (on server or client side) if your guide isn't written to the NFS.

    I'm fairly experienced (a complete noob almost) with funambol as you may read. I haven't been into Domino either, but I've taken the challenge.

    I'm still at the installing procedure for the connector if you were wondering.

    Thanks for making this guide anyway :)

  11. October 30th, 2007 at 15:41

    Hello

    Did You ever had the symthom that the contacts are cleanly synchronized but automaticly been deleted from the users addressbook after around 20sec? I could get the Funambol running with Domino 8 but I ever experiencing the above problem. Do You have any idea about the reason?

    Many thanks

    Roland Kaeser

  12. October 30th, 2007 at 15:47

    @Roland, no, I didn't experience that. Please note, that i don't use the software any longer, so I'm afraid I'll be of very little assistance.

  13. PV
    July 7th, 2008 at 14:48

    I am not able to create Domino SyncSource. I run the funambol server and the domino server on the same m/c.I am getting the below error when I try to add a new syncsource.

    com.funambol.admin.AdminException: Unexpected server error. Check the server log for details.

    source uri:./ncon
    name: ncon
    Server : 127.0.0.1
    Port: 63148
    Type: SIF-C

  14. Guy Beaupre
    August 7th, 2008 at 05:33

    Hi,

    Were you able to solve the issue?

    I have the same problem….

    Thanks,

    Guy

  15. Rene
    August 8th, 2008 at 23:38

    I have the same issue and other too : https://core.forge.funambol.org/ds/viewMessage.do?dsForumId=416&dsMessageId=17231

    Now … I suggest you this environment:
    > – Ds-server 6.0 + email connector 6.0
    > – the domino connector is not 6.0 complaint but you can install it
    on
    > ds-server 6.0 if you install the foundation-3.0.9.s4j and the
    > funambol-domino-3.0.11.s4j
    >
    > read the quick start guide in the funambol-domino-3.0.11.zip and
    in the
    > funambol-email-6.0.1.zip.

  16. August 31st, 2008 at 10:40

    Beste Jan-Piet,
    Your giude triggerd us to try the Funambol software. I like it. To contribute we have written an extensive setup guide for Funambol/Domino.
    In addition I have written a comparison of Commontime and Funambol/Domino)
    Would like to get your feedback.

    http://www.lialis.com/blog

    Thanks