Chapter 10. Format Of Tasks

The mimetype for tasks is "application/x-vnd.kolab.task". This is the specification of the body contents:

        <?xml version="1.0" encoding="UTF-8"?>
        <task version="1.0">
          <!-- Common fields -->
          <uid>(string, no default)</uid>
          <body>(string, default empty)</body>
          <categories>(string, default empty)</categories>
          <creation-date>(datetime, no default)</creation-date>
          <last-modification-date>(datetime, no default)</last-modification-date>
          <sensitivity>(string, default public)</sensitivity>
          {<inline-attachment>(string, no default)</inline-attachment>}
          {<link-attachment>(string, no default)</link-attachment>}
          <product-id>(string, default empty)</product-id>

          <!-- Incidence fields -->
          <summary>(string, default empty)</summary>
          <location>(string, default empty)</location>
          <organizer>
            <display-name>(string, default empty)</display-name>
            <smtp-address>(string, default empty)</smtp-address>
          </organizer>
          <start-date>(date or datetime, default not present)</start-date>
          <alarm>(number, no default)</alarm>
          <recurrence cycle="cycletype" [type="extra type"]>
            <interval>(number, default 1)</interval>
            {<day>(string, no default)</day>}
            <daynumber>(number, no default)</daynumber>
            <date>(number, no default)</date>
            <month>(string, no default></month>
            <range type="rangetype">(date or number or nothing, no default)</range>
            {<exclusion>(date, no default)</exclusion>}
          </recurrence>
          {<attendee>
            <display-name>(string, default empty)</display-name>
            <smtp-address>(string, default empty)</smtp-address>
            <status>(string, default none)</status>
            <request-response>(bool, default true)</request-response>
            <role>(string, default required)</role>
          </attendee>}
        
          <!-- Task specific fields -->
          <priority>(number, default 3)</priority>
          <completed>(number, default 0)</completed>
          <status>(string, default not-started)</status>
          <due-date>(date or datetime, default not present)</due-date>
          <parent>(string, default empty)</parent>
        </task>

See Section 4.1> for the description of the common fields

See Section 4.2> for the description of the incidence fields

status can be one of not-started, in-progress, completed, waiting-on-someone-else, or deferred.

The priority can be a number between 1 and 5, with 1 being the highest priority.

completed is a percentage, so it must be between 0 and 100.

If this is a subtask, the parent is set to the uid of the parent task. If it's not a subtask, then the parent field must be empty.