Last Modified 2010-01-26 by Michael Rubinsky


Add ActiveSync support to Horde for allowing Horde to sync with mobile devices using the mobile device's support for Microsoft Exchange/ActiveSync. Use Z-Push library (http://z-push.sourceforge.net) for handling ActiveSync protocol communication.



Michael Rubinsky
Jan Schneider


Integrate the Z-Push library into Horde. Provide the ability for Horde to provide over the air synchronization of email, contacts, and calendar data to devices such as the iPhone/iPod Touch, Android and any other system supporting ActiveSync.

Rough outline of integration plan:

  1. Using out of the box Z-Push install and the "diff" backend, implement a basic driver for sync'ing email, contacts and calendar info. Currently, IMAP "push" email is working. Don't spend a lot of time making this driver perfect, it's basically a proof of concept / prototype.
  2. Identify code within Z-Push that can be replaced with Horde libraries. For example, mime handling, IMAP server communication, WBXML document creation/parsing. Much of the supporting z-push code could be replaced by using the appropriate H4 library.
  3. Z-Push needs to be PHP5-ified.
  4. Refactor Z-Push into a Horde_ActiveSync library, and provide an endpoint for accessing it. Endpoint probably integrated into existing rpc.php for now. This phase will include rewriting the horde driver and replacing/augmenting the functionality of Z-Push's "diff" backend with Horde History. Look at SyncML code for how to use the history backend to retrieve the needed data.


Some discussion/issues/info on calendar sycing

Some work towards a Horde adapter for Z-Push:

Some discussion on remote wipe issues with various devices

Useful information/examples:

Back to the Project List