[horde] FW: [sync] Activesync Errors

Michael J Rubinsky mrubinsk at horde.org
Fri Sep 30 17:27:10 UTC 2011


Quoting Simon Brereton <simon.brereton at buongiorno.com>:

> Originally submitted to sync at lists.horde.org - perhaps that's the  
> not the right location?
>
>
> Hi
>
> After resolving my logging errors and getting sync to work I was  
> reasonably impressed.
>
> Calendar syncs almost immediately - I made a test appointment in  
> Horde, and by the time I opened the calendar on the phone, it was  
> there.  Deleting it from the phone took a while to replicate on  
> Horde though - and I'm not quite sure why.  Not that I'm complaining  
> - I'd just like to understand the limitations.

The time it takes changes made on client to be pushed to the server is  
entirely dependent on the client software implementation. Nothing  
Horde can do to change this. There also doesn't seem to be any  
standard for this either.


> Address book is a whole other ball game.  I created a new contact on  
> the phone and it never appeared in Horde.  None of the contacts in  
> Horde appear on the phone either.
>
> The sync.log has these errors:
>
> 2011-09-29T20:29:45+01:00 ERR: Returning HTTP 500:Invalid date  
> format 2011-09-29T20:30:39+01:00 ERR: Invalid address book:  
> b3790d4757f941c995645660f0ba886c 2011-09-29T20:30:39+01:00 ERR:  
> Invalid address book: b3790d4757f941c995645660f0ba886c  
> 2011-09-29T20:30:39+01:00 ERR: Invalid address book:  
> b3790d4757f941c995645660f0ba886c 2011-09-29T20:30:39+01:00 ERR:  
> Returning HTTP 500:Invalid date format 2011-09-29T20:31:55+01:00  
> ERR: Invalid address book:

Your client is sending broken activesync date datatypes. Per the  
specification:

Date/time values are as specified in [ISO-8601].
All dates are given in Coordinated Universal Time (UTC) and are  
represented as a string in the following format:
YYYY-MM-DDTHH:MM:SS.MSSZ where
YYYY = Year (Gregorian calendar year)
MM = Month (01 - 12)
DD = Day (01 - 31)
HH = Number of complete hours since midnight (00 - 24)
MM = Number of complete minutes since start of hour (00 - 59)
SS = Number of seconds since start of minute (00 - 59)
MSS = Number of milliseconds
The T serves as a separator, and the Z indicates that this time is in UTC.
For example, 8:35 A.M. on December 25, 2000 would be represented as  
2000-12-25T08:35:00.000Z.

Specifically, your device is not sending the date in UTC.


The invalid address book error sounds to me like your "default"  
address book is either corrupt or pointing to an address book that no  
longer exists.

<...>


> Also - it seems to sync the calendar every 5 minutes, which seems a  
> little aggressive (and is killing my Droid's battery).  Is this  
> normal?

Without going into too much technical detail, this is how activesync  
works. It's not a true push solution (rather a push to pull). The  
server polls for changes for a specific period of time (the heartbeat  
interval), the returns a status response to the client. Upon receiving  
this response, the client performs any SYNC operations deemed  
necessary based on the status response, then sends another PING  
request. You can try to fine tune these parameters in the Horde  
ActiveSync config. Longer hearbeat intervals tend to be more battery  
friendly, though YMMV.

-- 
mike

The Horde Project (www.horde.org)
mrubinsk at horde.org



More information about the horde mailing list