[cvs] [Wiki] changed: Project/ActiveSync

Michael Rubinsky mrubinsk at horde.org
Sun Apr 18 17:37:37 UTC 2010


mrubinsk  Sun, 18 Apr 2010 13:37:37 -0400

Modified page: http://wiki.horde.org/Project/ActiveSync
New Revision:  1.47
Change log:  this is done

@@ -74,10 +74,8 @@

  * Horde_History state driver. Currently, !ActiveSync support uses a  
file-based state driver to persist the PIM state so we know what  
changes. This is a refactored implementation of what the Z-Push  
library does. For Horde, this is inefficient, as we have the data  
needed to know what has changed and when. Once the majority of the  
feature set is working, a Horde_History driver should be written to  
replace the file based driver when syncing contacts, calendar, and  
todo data. We might still need it if/when push email is implemented.  
The backend drivers are able to specify a particular state storage to  
enable this functionality if it is needed.

  * Need to implement ghosted properties / SUPPORTED tag. Currently,  
each message that is sent from PIM -> 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. The absence of the  
SUPPORTED tag would indicate that any property not transmitted should  
be handled as a ghosted property.
-
-* Configurable heartbeat interval range: The protocol allows for  
rejecting heartbeat intervals that fall outside a specific range, and  
send back a suggested heartbeat interval to the client. This should be  
implemented as a configuration value.

  * Implement more recent protocol version support - version 12 or  
maybe 12.1 (Exchange 2007??) should be fairly non-disruptive. Version  
12 would get us more atomic policy settings, local wipe rules, as well  
as the ability to send the policy settings to the client as the more  
compact wbxml. 14 (Exchange 2010?) would probably be lots more work as  
it does away with PING, using SYNC for waiting for changes instead.

  * Rework the PING command's use of state so that it only has to stat  
the messages that fall within the time period prescribed by the  
FILTERTYPE tag passed when SYNCing calendar folders.  Currently, the  
file driver is very wasteful in this regard, it has to stat **every**  
appointment message on the server since it knows nothing about the  
FILTERTYPE last used. Need to add the last used filtertype to the  
device's state file and use that in PING to set an appropriate filter  
type value for the state machine to use when diffing. This should  
improve performance greatly on calendars with a substantial amount of  
old events. Of course, this won't be an issue with a horde history  
driver.



More information about the cvs mailing list