If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Best practice to develop an connector

I'm a developer of a CRM/Colab Software with a calendar suite like M$ Outlook. The software is purely written in Java/Swing with a NetBeans Platform RCP base.

I write some connectors to different calendar provider like Zarafa (with iCalendar and CalDAV). The OX iCalendar interface is read only and very limited (many fields are not used).

I wonder what is the best practice / interface with the longest future to synchronize calendar items, tasks, journals... with OX.

WebDAV or JSON/HTTP-API? Is CalDAV a option for the future?

WebDAV with XML is a very formal way and IMHO a stable way to connect my software to OX. Would that be a reasonable estimate? Are there differences between WebDAV_XML and HTTP-API at the function layer?

its true that there is no CalDAV implementation and there won't be any in short term. Using iCal, even if we enable write support the performance may become a problem since typically iCal clients import the whole calendar at once which leads to a huge amount of calculations and backend load at the server. I'd suggest to use the JSON HTTP-API since it has several advantages:

* It's very well documented, stable, maintained and used at major components of OX such like the GUI, several mobile synchronization services etc.
* It does not only offer groupware data but all information the server publishes such like folder information, access to mailfilters, calendar settings, password and a lot of other configuration interfaces
* It's usually faster than WebDAV in terms of generating and parsing
* There are JSON parsers/writers available for any major programming language
* The WebDAV/XML interface is typically used for our Outlook Plugin and does not get extended very often since Outlook only requires a fixed set of features.
* It supports additional features like the Infostore, which is not supported by WebDAV/XML

Ok, the WebDAV is a special connector interface for the Outlook OX Connector and limited on the features of Outlook itself.

iCalendar is slow (if it used by the whole calendar data). And CalDAV could be a solution for performance reasons (but not for the near future)

The HTTP-API is the current API for OpenXchange. But it is a very proprietary API. Of course, with a good human readable documentation.

But developing JSON-APIs is like developing JDBC with hard coded SQL-Queries (in this century not a very good idea ). Is there an API wrapper that hides all the "dirty" GET / PUT commands (and all the responses into Java Objects)? I found a library to map JSON to Java-Pojos and back (http://jsontools.berlios.de/index.html).