From mrubinsk at horde.org Tue Apr 10 03:06:42 2018 From: mrubinsk at horde.org (Michael J Rubinsky) Date: Tue, 10 Apr 2018 03:06:42 +0000 Subject: [sync] ActiveSync, Tasks and DeadOccur In-Reply-To: <12849d1f-4f96-c77a-6781-85201d39fd4e@gmx.de> References: <20180331190758.Horde.DIcfFtkfZHzJOSis-5SGyqy@tarn.theupstairsroom.com> <12849d1f-4f96-c77a-6781-85201d39fd4e@gmx.de> Message-ID: <20180410030642.Horde.WgbnPgSRvcDfDTdDmKIq_FN@tarn.theupstairsroom.com> Hi John, I had some time to investigate further and implement the DEADOCCUR property in Horde. It is used when a client is completing an occurrence of a recurring task. What happens is that it sends an ADD to the server for a new task that represents the completed task in the series - and this task has the DEADOCCUR property set. It then either replaces or edits the original series - making the recurrence start date the date of the next occurrence. For example, Outlook will perform an UPDATE on the original series, while the mobile client "Nine" performs an ADD/DELETE. On the server when we receive the data we look for the DEADOCCUR property and if it's set, we do not add any of the recurrence properties to that task. This has the side effect of each occurrence that was completed showing up as a separate completed task. In the other direction, due to the way Horde stores and handles recurring tasks, we don't have to use the DEADOCCUR property. Horde doesn't currently track the history of completed tasks in a series other than noting that it was or was not completed. This means we can't send a separate, "dead" task to represent the completed occurrence. We simply bump the next due date in the series on the original task object. If the client has a way of showing the completed occurrences, this would prevent them occurrence that was completed on Horde's side from showing, but I don't have any clients that act this way. All in all, Horde was acting correctly previous to this change, with the exception that if somebody were to complete an occurrence on an EAS client, then subsequently "uncomplete" it in Horde, this would create a new recurring series on the client. Using the DEADOCCUR property to know when not to add the recurrence data fixes this behavior. Hope this helps. Quoting John Bieling : > Thanks for you feedback, Michael. I will go with the boolean value, > but it will be trial-and-error I guess :-) > > John > > > On 3/31/2018 9:07 PM, Michael J Rubinsky wrote: >> >> Quoting John Bieling : >> >>> Hi, >>> >>> has any of the horde EAS developers experience with the DeadOccur >>> tag of EAS for tasks? The Microsoft documentation is very thin and >>> I have not yet been able to understand, what this tag is doing and >>> what it is for. >> >> From what I understand, that tag is used as a flag to indicate that >> a Task object represents a specific occurrence of a recurring task, >> as opposed to the object representing/defining the entire series. I >> remember being somewhat confused as to how the value worked, >> however, as the documentation from MS is pretty weak. IIRC, I think >> it was Zpush, simply takes this tag as a boolean value. >> >>> Follow up question: Does horde support this feature? (So I could >>> test my EAS client against a horde server) >> >> Horde currently ignores this tag, however. Implementing this is on >> my ever growing list of todos once I find the time... >> >> >>> >>> Thanks for your help >>> John >>> -- >>> sync mailing list >>> Frequently Asked Questions: http://wiki.horde.org/FAQ >>> To unsubscribe, mail: sync-unsubscribe at lists.horde.org >> >> >> >> > > -- > sync mailing list > Frequently Asked Questions: http://wiki.horde.org/FAQ > To unsubscribe, mail: sync-unsubscribe at lists.horde.org -- mike The Horde Project http://www.horde.org https://www.facebook.com/hordeproject https://www.twitter.com/hordeproject -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-keys Size: 9272 bytes Desc: PGP Public Key URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 821 bytes Desc: PGP Digital Signature URL: