[cvs] [Wiki] changed: Project/ActiveSync

Michael Rubinsky mrubinsk at horde.org
Sun Apr 11 15:31:11 UTC 2010


mrubinsk  Sun, 11 Apr 2010 11:31:10 -0400

Modified page: http://wiki.horde.org/Project/ActiveSync
New Revision:  1.43
Change log:  Tasks are now supported, move some stuff around

@@ -34,24 +34,18 @@
  </code>

  +++ What works

-Contacts and Calendar syncing is mostly working. Provisioning along  
with remote wipe is also working on devices that actually support it.  
No user interface yet exists for initiating a remote wipe, if you want  
to test this you need to:
-
-# Open up the device's info file. This is in your state directory and  
is named info-{deviceidgoeshere}.
-# Set the 'rwstatus' value from 0 to 2.
-# Change the policykey to 0 (actually, any value other then the  
current policykey would work).
-# Save the file
-
-The next time the device attempts to request a command other then  
PING or OPTIONS, it will be wiped. DO THIS AT YOUR OWN RISK!!! After  
it is wiped, if you wish to allow the device to connect to your server  
again, you should remove the info-{deviceidgoeshere} file so it can be  
rebuilt.
+Contacts, Calendar and Task syncing are mostly working. The only  
client with task support that has been tested is the !TouchDown  
client. Neither Android or the iPod/iPhone have a native !ActiveSync  
tasks application.

+Provisioning along with remote wipe is also working on devices that  
actually support it.

  This code has been tested to some degree on the following devices:
  || Device || Version(s) || Provisioning || Notes ||
  || Android SDK Emulator|| 2.0.1 and 2.1 || Does NOT support  
provisioning and will NOT work with it set to //Force// or  
//Allow//.||Contacts only as the emulator does not have a native  
calendar application ||
  || Motorola Droid || 2.0.1 and 2.1 || No (See above) ||Contacts and  
Calendar data (Droid's Corporate Calendar has a buggy client  
implementation) ||
  ||Motorola Milestone || 2.1 || See important note below || ?? ||
-|| !TouchDown For Droid || Version 5.1.0028 || Yes ||Contacts and  
Calendar (You can **create** recurring events, but cannot edit them.  
Also, recurring events with exceptions are not supported at all.  See  
Touchdown website for details). ||
+|| !TouchDown For Droid || Version 5.1.0028 || Yes ||Contacts,  
Calendar (You can **create** recurring events, but cannot edit them.  
Also, recurring events with exceptions are not supported at all.  See  
Touchdown website for details), and Tasks. ||
  || iPod Touch || 3.1.3 || Yes ||Contacts and Calendar ||

  **IMPORTANT NOTE** There have been reports that some devices running  
Android 2.1 DO have support for provisioning, however there have been  
reports of major issues with regards to the unlock password screen.  
Evidently, once a password is set it looks like it's impossible to  
remove it. I have tested both the 2.1 SDK emulator as well as the  
Motorola Droid (NOT the Milestone) and these still do NOT support  
provisioning. This issue might be limited to the Milestone device.  
That being said if you plan on having users with Android 2.1 devices,  
do NOT enable provisioning unless you are willing to deal with this  
issue.

@@ -61,8 +55,21 @@

  A special note for the iPhone/iPod (and possibly others) - if you do  
not use a SSL enabled site you may receive errors about not being able  
to find the !ActiveSync server. If this happens, just continue, or  
save, or whatever your option is to continue.  On the iPhone, after  
everything is completely set up, you must go back into the account  
settings and disable SSL.

  After the connection particulars are entered, you should choose to  
enable the folders that you want sync'd. Right now only Contacts and  
Calendar are supported.
+
++++ Provisioning/RemoteWipe
+
+Provisioning allows devices to be more tightly registered with a  
particular server. It enables the server to be able to send policy  
settings to the device. These policy settings include things like  
requiring a PIN to unlock the device, the complexity of the PIN  
required, the number of failed login attempts allowed etc...  
Additionally, it enables devices to be remotely wiped so that if a  
device is lost or stolen, the user or administrator can request the  
device to be wiped.
+
+As of yet, no user interface yet exists for initiating a remote wipe,  
but the functionality is there.  If you want to test this you need to:
+
+# Open up the device's state info file. This is in your state  
directory and is named info-{deviceidgoeshere}.
+# Set the 'rwstatus' value from 0 to 2.
+# Change the policykey to 0 (actually, any value other then the  
current policykey would work).
+# Save the file
+
+The next time the device attempts to request a command other then  
PING or OPTIONS, it will be wiped. DO THIS AT YOUR OWN RISK!!! After  
it is wiped, if you wish to allow the device to connect to your server  
again, you should remove the info-{deviceidgoeshere} file so it can be  
rebuilt. If you do not remove this file, or at least set the value of  
rwstatus back to 0, the device will continue to be wiped each time it  
reconnects to the server.

  ++ Rough list of issues/todos/development notes in no particular order

  * 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.



More information about the cvs mailing list