6.0.0-git
2024-05-07

Diff for ActiveSync between 10 and 11

[[toc]]

+ Horde_ActiveSync

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.

++ Bugs


++ People

[MichaelRubinsky Michael Rubinsky]
[JanSchneider Jan Schneider]

++ Description

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++ Rough list of integration plan:

# 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.
# 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.
# Z-Push needs to be PHP5-ified.
# 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.issues/todos in no particular order

Need to implement ghosted properties / SUPPORTED tag. Currently, all data on the server is overwritten and replaced with only what the PIM sends. It's possible for some PIMS to ghost contact and calendar properties so that only the supplied tags are changed, and missing, ghosted properties are retained on the server.  When a PIM supports this, it sends a SUPPORTED tag with children representing the NON-ghosted properties. Based on other clients I see, it appears that the absence of the SUPPORTED tag would indicate that any property not transmitted should be handled as a ghosted property??

++ Resources

http://z-push.sourceforge.net
https://zimbrabackend.svn.sourceforge.net/svnroot/zimbrabackend/zimbra.php
Some discussion/issues/info on calendar sycing
http://z-push.sourceforge.net/phpbb/viewtopic.php?f=4&t=119&start=10

Some work towards a Horde adapter for Z-Push:
http://z-push.sourceforge.net/phpbb/viewtopic.php?f=4&t=879

Some discussion on remote wipe issues with various devices
http://z-push.sourceforge.net/phpbb/viewtopic.php?f=4&t=802

Useful information/examples:
http://wiki.openchange.org/index.php/ActiveSync_Protocol

Web-based client test
https://www.testexchangeconnectivity.com/

Another AS implementation in PHP, though we can't use it due to the license, there is some good information there for the taking.
https://svn.tine20.org/svn/trunk/tine20/ActiveSync

----
Back to the ((Projects|Project List))