View Single Post
  #19 (permalink)  
Old 09-26-2007, 09:23 PM
hillman hillman is offline
Moderator
 
Join Date: May 2007
Location: Vancouver, Canada
ZCS Version: 5.0.8_GA_2462.RHEL5_64 NE
Posts: 60
hillman is on a distinguished road
Default

I've been working on the Zimbra connector for Funambol.

Perhaps "working on" is the wrong term - more like "hacking away at". I'm not a software developer, which is what this project *really* needs.

I'll summarize where I've gotten to so far:

First, I tried to port to the Funambol v3/v6 API. This proved to be considerably more involved than I had hoped. There was virtually no documentation that I could find on writing modules for the newer API - everything was aimed at the old Sync4j 2.3 API. The API changed substantially in v3 - first being renamed from sync4j to com.funambol (so all classes changed), second with some methods being removed entirely, and finally with the addition of substantially more methods that had to be implemented in the connector. Unless you have a very solid understanding of both how the connector works internally, and how Funambol works, it would be impossible to port all of the methods. And of course nothing is documented.

So I decided to go the opposite route - put up a 2.3 server and get the connector working with that. At first this went smoothly - the connector immediately showed up in the sync4j admin interface and allowed me to configure it, but I kept getting authentication errors. After much hair pulling, I figured out that in Zimbra 5.x, having the "<nonotify>" flag in your SOAP AuthRequest caused Zimbra to not issue a session.

Once that was fixed, I was able to sync my contacts right away. Now I'm working on the calendar. It's not going so well. I will keep hacking at it until I can sync my own calendar (it's fairly complex as it contains at least a year's worth of data imported from Google, including some fairly elaborate recurring meetings with exceptions, which is what the connector is currently choking on).

I will release a tarball as soon as I get it working (I could put one out now if anyone else wants to hack at it, but *it does not currently work*)

I see three major undertakings to take this connector from Alpha to production-ready:

1. Fix the bugs in the current connector. There are lots. There are rampant spelling errors as well. Some I've caught, others I'm sure I've missed. That means it may fail to recognize XML elements in the SOAP calls to Zimbra as it stands now.

2. Implement missing functionality in the 2.3 API - e.g support for certain meeting types, etc.

3. Port to Funambol v6. This will be the biggest task, requiring a thorough understanding of both projects
Reply With Quote