[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