locked
Exchange ActiveSync - Completing recurring tasks RRS feed

  • Question

  • I have a daily recurring task starting and ending on a specific dates. When I mark today's instance complete,  I am

    1. Adding a copy of the task, mark it complete and set the completion date

    2. Change the original task - Move due date/UTC due dates to one day ahead.

    By enabling the logs, I found that the server sends the following commands (Add for new completed instance, and change for the original instance with due date moved by oneday). Please see the log below.

    I am sending the same exact response, when I want to mark task complete from the exchange activesync client. But that results in the original task move one day backward! (It says overdue).

    What is the right way of doing this? I dont see any example in the protocol documents (MS-ASTASK).

    I tried the following, but not able to fix it consistently.

    - Move Duedate to two days in advance

    - Modify the recurrence start date as well. Do we need to modify the recurrence as well?

    - If the task has a start date, does that need to be advanced as well?

    - Which one does server use? UTC Due date or Due date?

    it is very frustrating that Microsoft charges for licensing the protocol, but does not provide proper documentation and support.

    Thanks!

                    <Add>
                        <ServerId>22:3</ServerId>
                        <ApplicationData>
                            <Body=18 bytes/>
                            <Subject xmlns="Tasks:" bytes="5"/>
                            <Importance xmlns="Tasks:">1</Importance>
                            <UtcDueDate xmlns="Tasks:">2014-10-25T07:00:00.000Z</UtcDueDate>
                            <DueDate xmlns="Tasks:">2014-10-25T00:00:00.000Z</DueDate>
                            <Recurrence xmlns="Tasks:">
                                <Regenerate>0</Regenerate>
                                <DeadOccur>1</DeadOccur>
                                <Type>0</Type>
                                <Start>2014-10-25T00:00:00.000Z</Start>
                                <Until>2014-10-31T00:00:00.000Z</Until>
                                <Interval>1</Interval>
                            </Recurrence>
                            <Complete xmlns="Tasks:">1</Complete>
                            <DateCompleted xmlns="Tasks:">2014-10-25T07:00:00.000Z</DateCompleted>
                            <Sensitivity xmlns="Tasks:">0</Sensitivity>
                            <ReminderSet xmlns="Tasks:">0</ReminderSet>
                        </ApplicationData>
                    </Add>
                    <Change>
                        <ServerId>22:1</ServerId>
                        <ApplicationData>
                            <Body=18 bytes/>
                            <Subject xmlns="Tasks:" bytes="5"/>
                            <Importance xmlns="Tasks:">1</Importance>
                            <UtcDueDate xmlns="Tasks:">2014-10-26T07:00:00.000Z</UtcDueDate>
                            <DueDate xmlns="Tasks:">2014-10-26T00:00:00.000Z</DueDate>
                            <Recurrence xmlns="Tasks:">
                                <Regenerate>0</Regenerate>
                                <DeadOccur>0</DeadOccur>
                                <Type>0</Type>
                                <Start>2014-10-25T00:00:00.000Z</Start>
                                <Until>2014-10-31T00:00:00.000Z</Until>
                                <Interval>1</Interval>
                            </Recurrence>
                            <Complete xmlns="Tasks:">0</Complete>
                            <Sensitivity xmlns="Tasks:">0</Sensitivity>
                            <ReminderSet xmlns="Tasks:">0</ReminderSet>
                        </ApplicationData>
                    </Change>

    Tuesday, October 28, 2014 6:18 AM