[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