Tasks


The "Tasks"-list are the personal tasks stored in the mailbox of the user.

MSDN Reference Links:
Synchronizing Tasks Between Client and Server:
http://msdn.microsoft.com/en-us/library/ee625293(v=exchg.80).aspx
WBXML Code Page 23 - Tasks:
http://msdn.microsoft.com/en-us/library/ee158068(v=exchg.80).aspx

Inputs / Querystring parameters:

Algorithm / XML documents

Synchronizing all tasks is a three-step process:
The "Type" for "Default Tasks" is "10". (Can be found in the EASProtocol.Enums.FolderSyncTypes.DefaultTasks.)
"User Created Tasks"-folder has not been implemented yet.

The XML documents used are the following

Discover Folder Ids:
<?xml version="1.0" encoding="utf-8"?>
<FolderSync xmlns="FolderHierarchy">
  <SyncKey>0</SyncKey>
</FolderSync>

Get SyncKey:
<?xml version="1.0" encoding="utf-8"?>
<Sync xmlns="AirSync">
  <Collections>
    <Collection>
      <SyncKey>0</SyncKey>
      <CollectionId>FolderId</CollectionId>
    </Collection>
  </Collections>
</Sync>

Get Tasks
<?xml version="1.0" encoding="utf-8"?>
<Sync xmlns="AirSync">
  <Collections>
    <Collection>
      <SyncKey>SyncKey</SyncKey>
      <CollectionId>FolderId</CollectionId>
    </Collection>
  </Collections>
</Sync>

The API will return something similar to this (in JSON format):
[
  {
    "Categories": "sample string 1",
    "Category": "sample string 2",
    "Complete": "sample string 3",
    "DateCompleted": "sample string 4",
    "DueDate": "sample string 5",
    "UTCDueDate": "sample string 6",
    "Importance": "sample string 7",
    "Recurrence": "sample string 8",
    "Type": "sample string 9",
    "Start": "sample string 10",
    "Until": "sample string 11",
    "Occurrences": "sample string 12",
    "Interval": "sample string 13",
    "DayOfMonth": "sample string 14",
    "DayOfWeek": "sample string 15",
    "WeekOfMonth": "sample string 16",
    "MonthOfYear": "sample string 17",
    "Regenerate": "sample string 18",
    "DeadOccur": "sample string 19",
    "ReminderSet": "sample string 20",
    "ReminderTime": "sample string 21",
    "Sensitivity": "sample string 22",
    "StartDate": "sample string 23",
    "UTCStartDate": "sample string 24",
    "Subject": "sample string 25",
    "OrdinalDate": "sample string 26",
    "SubOrdinalDate": "sample string 27",
    "CalendarType": "sample string 28",
    "IsLeapMonth": "sample string 29",
    "FirstDayOfWeek": "sample string 30"
  }
]

Currently only the list of tasks are pulled down, which will truncate the items (not expose all properties).
Getting individual tasks is on the to-do list.