draft-ietf-calext-jscalendar-14.txt   draft-ietf-calext-jscalendar-15.txt 
Calendaring extensions N. Jenkins Calendaring extensions N. Jenkins
Internet-Draft R. Stepanek Internet-Draft R. Stepanek
Intended status: Standards Track FastMail Intended status: Standards Track FastMail
Expires: December 8, 2019 June 6, 2019 Expires: December 19, 2019 June 17, 2019
JSCalendar: A JSON representation of calendar data JSCalendar: A JSON representation of calendar data
draft-ietf-calext-jscalendar-14 draft-ietf-calext-jscalendar-15
Abstract Abstract
This specification defines a data model and JSON representation of This specification defines a data model and JSON representation of
calendar data that can be used for storage and data exchange in a calendar data that can be used for storage and data exchange in a
calendaring and scheduling environment. It aims to be an alternative calendaring and scheduling environment. It aims to be an alternative
to the widely deployed iCalendar data format and to be unambiguous, to the widely deployed iCalendar data format and to be unambiguous,
extendable and simple to process. In contrast to the JSON-based jCal extendable and simple to process. In contrast to the JSON-based jCal
format, it is not a direct mapping from iCalendar and expands format, it is not a direct mapping from iCalendar and expands
semantics where appropriate. semantics where appropriate.
skipping to change at page 1, line 36 skipping to change at page 1, line 36
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 8, 2019. This Internet-Draft will expire on December 19, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 14 skipping to change at page 2, line 14
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Relation to the iCalendar format . . . . . . . . . . . . 4 1.1. Relation to the iCalendar format . . . . . . . . . . . . 4
1.2. Relation to the jCal format . . . . . . . . . . . . . . . 5 1.2. Relation to the jCal format . . . . . . . . . . . . . . . 5
1.3. Notational Conventions . . . . . . . . . . . . . . . . . 5 1.3. Notational Conventions . . . . . . . . . . . . . . . . . 5
2. JSCalendar objects . . . . . . . . . . . . . . . . . . . . . 5 2. JSCalendar objects . . . . . . . . . . . . . . . . . . . . . 5
2.1. JSEvent . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1. JSEvent . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. JSTask . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2. JSTask . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3. JSGroup . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3. JSGroup . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Structure of JSCalendar objects . . . . . . . . . . . . . . . 6 3. Structure of JSCalendar objects . . . . . . . . . . . . . . . 6
3.1. Type signatures . . . . . . . . . . . . . . . . . . . . . 7 3.1. Type signatures . . . . . . . . . . . . . . . . . . . . . 6
3.2. Data Types . . . . . . . . . . . . . . . . . . . . . . . 7 3.2. Data Types . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.1. UTCDate . . . . . . . . . . . . . . . . . . . . . . . 7 3.2.1. UTCDate . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.2. LocalDate . . . . . . . . . . . . . . . . . . . . . . 7 3.2.2. LocalDate . . . . . . . . . . . . . . . . . . . . . . 7
3.2.3. Duration . . . . . . . . . . . . . . . . . . . . . . 8 3.2.3. Duration . . . . . . . . . . . . . . . . . . . . . . 7
3.2.4. PatchObject . . . . . . . . . . . . . . . . . . . . . 8 3.2.4. PatchObject . . . . . . . . . . . . . . . . . . . . . 8
3.2.5. Identifiers . . . . . . . . . . . . . . . . . . . . . 9 3.2.5. Identifiers . . . . . . . . . . . . . . . . . . . . . 9
3.2.6. Time Zones . . . . . . . . . . . . . . . . . . . . . 9 3.2.6. Time Zones . . . . . . . . . . . . . . . . . . . . . 9
3.2.7. Normalization and equivalence . . . . . . . . . . . . 9 3.2.7. Normalization and equivalence . . . . . . . . . . . . 9
3.3. Custom property extensions and values . . . . . . . . . . 10 3.3. Custom property extensions and values . . . . . . . . . . 10
4. Common JSCalendar properties . . . . . . . . . . . . . . . . 10 4. Common JSCalendar properties . . . . . . . . . . . . . . . . 10
4.1. Metadata properties . . . . . . . . . . . . . . . . . . . 10 4.1. Metadata properties . . . . . . . . . . . . . . . . . . . 10
4.1.1. @type . . . . . . . . . . . . . . . . . . . . . . . . 10 4.1.1. @type . . . . . . . . . . . . . . . . . . . . . . . . 10
4.1.2. uid . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.1.2. uid . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1.3. relatedTo . . . . . . . . . . . . . . . . . . . . . . 11 4.1.3. relatedTo . . . . . . . . . . . . . . . . . . . . . . 11
4.1.4. prodId . . . . . . . . . . . . . . . . . . . . . . . 12 4.1.4. prodId . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.5. created . . . . . . . . . . . . . . . . . . . . . . . 12 4.1.5. created . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.6. updated . . . . . . . . . . . . . . . . . . . . . . . 12 4.1.6. updated . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.7. sequence . . . . . . . . . . . . . . . . . . . . . . 13 4.1.7. sequence . . . . . . . . . . . . . . . . . . . . . . 12
4.1.8. method . . . . . . . . . . . . . . . . . . . . . . . 13 4.1.8. method . . . . . . . . . . . . . . . . . . . . . . . 13
4.2. What and where properties . . . . . . . . . . . . . . . . 13 4.2. What and where properties . . . . . . . . . . . . . . . . 13
4.2.1. title . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2.1. title . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.2. description . . . . . . . . . . . . . . . . . . . . . 13 4.2.2. description . . . . . . . . . . . . . . . . . . . . . 13
4.2.3. descriptionContentType . . . . . . . . . . . . . . . 13 4.2.3. descriptionContentType . . . . . . . . . . . . . . . 13
4.2.4. locations . . . . . . . . . . . . . . . . . . . . . . 13 4.2.4. locations . . . . . . . . . . . . . . . . . . . . . . 13
4.2.5. virtualLocations . . . . . . . . . . . . . . . . . . 14 4.2.5. virtualLocations . . . . . . . . . . . . . . . . . . 14
4.2.6. links . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2.6. links . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2.7. locale . . . . . . . . . . . . . . . . . . . . . . . 16 4.2.7. locale . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.8. keywords . . . . . . . . . . . . . . . . . . . . . . 16 4.2.8. keywords . . . . . . . . . . . . . . . . . . . . . . 16
4.2.9. categories . . . . . . . . . . . . . . . . . . . . . 16 4.2.9. categories . . . . . . . . . . . . . . . . . . . . . 16
4.2.10. color . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2.10. color . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3. Recurrence properties . . . . . . . . . . . . . . . . . . 17 4.3. Recurrence properties . . . . . . . . . . . . . . . . . . 17
4.3.1. recurrenceRule . . . . . . . . . . . . . . . . . . . 17 4.3.1. recurrenceRule . . . . . . . . . . . . . . . . . . . 17
4.3.2. recurrenceOverrides . . . . . . . . . . . . . . . . . 23 4.3.2. recurrenceOverrides . . . . . . . . . . . . . . . . . 23
4.3.3. excluded . . . . . . . . . . . . . . . . . . . . . . 24 4.3.3. excluded . . . . . . . . . . . . . . . . . . . . . . 24
4.4. Sharing and scheduling properties . . . . . . . . . . . . 24 4.4. Sharing and scheduling properties . . . . . . . . . . . . 24
4.4.1. priority . . . . . . . . . . . . . . . . . . . . . . 24 4.4.1. priority . . . . . . . . . . . . . . . . . . . . . . 24
4.4.2. freeBusyStatus . . . . . . . . . . . . . . . . . . . 25 4.4.2. freeBusyStatus . . . . . . . . . . . . . . . . . . . 24
4.4.3. privacy . . . . . . . . . . . . . . . . . . . . . . . 25 4.4.3. privacy . . . . . . . . . . . . . . . . . . . . . . . 25
4.4.4. replyTo . . . . . . . . . . . . . . . . . . . . . . . 26 4.4.4. replyTo . . . . . . . . . . . . . . . . . . . . . . . 26
4.4.5. participants . . . . . . . . . . . . . . . . . . . . 27 4.4.5. participants . . . . . . . . . . . . . . . . . . . . 26
4.5. Alerts properties . . . . . . . . . . . . . . . . . . . . 30 4.5. Alerts properties . . . . . . . . . . . . . . . . . . . . 30
4.5.1. useDefaultAlerts . . . . . . . . . . . . . . . . . . 30 4.5.1. useDefaultAlerts . . . . . . . . . . . . . . . . . . 30
4.5.2. alerts . . . . . . . . . . . . . . . . . . . . . . . 30 4.5.2. alerts . . . . . . . . . . . . . . . . . . . . . . . 30
4.6. Multilingual properties . . . . . . . . . . . . . . . . . 32 4.6. Multilingual properties . . . . . . . . . . . . . . . . . 32
4.6.1. localizations . . . . . . . . . . . . . . . . . . . . 32 4.6.1. localizations . . . . . . . . . . . . . . . . . . . . 32
4.7. Time zone properties . . . . . . . . . . . . . . . . . . 33 4.7. Time zone properties . . . . . . . . . . . . . . . . . . 33
4.7.1. timeZones . . . . . . . . . . . . . . . . . . . . . . 33 4.7.1. timeZones . . . . . . . . . . . . . . . . . . . . . . 33
5. Type-specific JSCalendar properties . . . . . . . . . . . . . 35 5. Type-specific JSCalendar properties . . . . . . . . . . . . . 34
5.1. JSEvent properties . . . . . . . . . . . . . . . . . . . 35 5.1. JSEvent properties . . . . . . . . . . . . . . . . . . . 34
5.1.1. start . . . . . . . . . . . . . . . . . . . . . . . . 35 5.1.1. start . . . . . . . . . . . . . . . . . . . . . . . . 35
5.1.2. timeZone . . . . . . . . . . . . . . . . . . . . . . 35 5.1.2. timeZone . . . . . . . . . . . . . . . . . . . . . . 35
5.1.3. duration . . . . . . . . . . . . . . . . . . . . . . 35 5.1.3. duration . . . . . . . . . . . . . . . . . . . . . . 35
5.1.4. isAllDay . . . . . . . . . . . . . . . . . . . . . . 36 5.1.4. isAllDay . . . . . . . . . . . . . . . . . . . . . . 35
5.1.5. status . . . . . . . . . . . . . . . . . . . . . . . 36 5.1.5. status . . . . . . . . . . . . . . . . . . . . . . . 36
5.2. JSTask properties . . . . . . . . . . . . . . . . . . . . 36 5.2. JSTask properties . . . . . . . . . . . . . . . . . . . . 36
5.2.1. due . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.2.1. due . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2.2. start . . . . . . . . . . . . . . . . . . . . . . . . 36 5.2.2. start . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2.3. timeZone . . . . . . . . . . . . . . . . . . . . . . 37 5.2.3. timeZone . . . . . . . . . . . . . . . . . . . . . . 36
5.2.4. estimatedDuration . . . . . . . . . . . . . . . . . . 37 5.2.4. estimatedDuration . . . . . . . . . . . . . . . . . . 36
5.2.5. statusUpdatedAt . . . . . . . . . . . . . . . . . . . 37 5.2.5. statusUpdatedAt . . . . . . . . . . . . . . . . . . . 37
5.2.6. isAllDay . . . . . . . . . . . . . . . . . . . . . . 37 5.2.6. progress . . . . . . . . . . . . . . . . . . . . . . 37
5.2.7. progress . . . . . . . . . . . . . . . . . . . . . . 38 5.2.7. status . . . . . . . . . . . . . . . . . . . . . . . 38
5.2.8. status . . . . . . . . . . . . . . . . . . . . . . . 38 5.3. JSGroup properties . . . . . . . . . . . . . . . . . . . 38
5.3. JSGroup properties . . . . . . . . . . . . . . . . . . . 39
5.3.1. entries . . . . . . . . . . . . . . . . . . . . . . . 39 5.3.1. entries . . . . . . . . . . . . . . . . . . . . . . . 39
5.3.2. source . . . . . . . . . . . . . . . . . . . . . . . 40 5.3.2. source . . . . . . . . . . . . . . . . . . . . . . . 39
6. JSCalendar object examples . . . . . . . . . . . . . . . . . 40 6. JSCalendar object examples . . . . . . . . . . . . . . . . . 39
6.1. Simple event . . . . . . . . . . . . . . . . . . . . . . 40 6.1. Simple event . . . . . . . . . . . . . . . . . . . . . . 39
6.2. Simple task . . . . . . . . . . . . . . . . . . . . . . . 40 6.2. Simple task . . . . . . . . . . . . . . . . . . . . . . . 40
6.3. Simple group . . . . . . . . . . . . . . . . . . . . . . 40 6.3. Simple group . . . . . . . . . . . . . . . . . . . . . . 40
6.4. All-day event . . . . . . . . . . . . . . . . . . . . . . 41 6.4. All-day event . . . . . . . . . . . . . . . . . . . . . . 41
6.5. Task with a due date . . . . . . . . . . . . . . . . . . 41 6.5. Task with a due date . . . . . . . . . . . . . . . . . . 41
6.6. Event with end time-zone . . . . . . . . . . . . . . . . 42 6.6. Event with end time-zone . . . . . . . . . . . . . . . . 42
6.7. Floating-time event (with recurrence) . . . . . . . . . . 42 6.7. Floating-time event (with recurrence) . . . . . . . . . . 42
6.8. Event with multiple locations and localization . . . . . 43 6.8. Event with multiple locations and localization . . . . . 43
6.9. Recurring event with overrides . . . . . . . . . . . . . 44 6.9. Recurring event with overrides . . . . . . . . . . . . . 44
6.10. Recurring event with participants . . . . . . . . . . . . 45 6.10. Recurring event with participants . . . . . . . . . . . . 45
7. Security Considerations . . . . . . . . . . . . . . . . . . . 47 7. Security Considerations . . . . . . . . . . . . . . . . . . . 47
skipping to change at page 7, line 45 skipping to change at page 7, line 37
For example "2010-10-10T10:10:10.003Z" is OK, but For example "2010-10-10T10:10:10.003Z" is OK, but
"2010-10-10T10:10:10.000Z" is invalid and MUST be encoded as "2010-10-10T10:10:10.000Z" is invalid and MUST be encoded as
"2010-10-10T10:10:10Z". "2010-10-10T10:10:10Z".
In common notation, it should be of the form "YYYY-MM-DDTHH:MM:SSZ". In common notation, it should be of the form "YYYY-MM-DDTHH:MM:SSZ".
3.2.2. LocalDate 3.2.2. LocalDate
This is a date-time string _with no time zone/offset information_. This is a date-time string _with no time zone/offset information_.
It is otherwise in the same format as UTCDate: "YYYY-MM-DDTHH:MM:SS". It is otherwise in the same format as UTCDate, including fractional
The time zone to associate the LocalDate with comes from an seconds. For example "2006-01-02T15:04:05" and
associated property, or if no time zone is associated it defines "2006-01-02T15:04:05.003" are both valid. The time zone to associate
_floating time_. Floating date-times are not tied to any specific the LocalDate with comes from an associated property, or if no time
time zone. Instead, they occur in every time zone at the same wall- zone is associated it defines _floating time_. Floating date-times
clock time (as opposed to the same instant point in time). are not tied to any specific time zone. Instead, they occur in every
time zone at the same wall-clock time (as opposed to the same instant
point in time).
3.2.3. Duration 3.2.3. Duration
A Duration object is represented by a subset of ISO8601 duration A Duration object is represented by a subset of ISO8601 duration
format, as specified by the following ABNF: format, as specified by the following ABNF:
dur-secfrac = "." 1*DIGIT dur-secfrac = "." 1*DIGIT
dur-second = 1*DIGIT [dur-secfrac] "S" dur-second = 1*DIGIT [dur-secfrac] "S"
dur-minute = 1*DIGIT "M" [dur-second] dur-minute = 1*DIGIT "M" [dur-second]
dur-hour = 1*DIGIT "H" [dur-minute] dur-hour = 1*DIGIT "H" [dur-minute]
skipping to change at page 19, line 31 skipping to change at page 19, line 25
iCalendar. The array MUST have at least one entry if included. iCalendar. The array MUST have at least one entry if included.
o count: Number (optional). The COUNT part from iCalendar. This o count: Number (optional). The COUNT part from iCalendar. This
MUST NOT be included if an "until" property is specified. MUST NOT be included if an "until" property is specified.
o until: LocalDate (optional). The UNTIL part from iCalendar. This o until: LocalDate (optional). The UNTIL part from iCalendar. This
MUST NOT be included if a "count" property is specified. Note: if MUST NOT be included if a "count" property is specified. Note: if
not specified otherwise for a specific JSCalendar object, this not specified otherwise for a specific JSCalendar object, this
date is presumed to be in the time zone specified in "timeZone". date is presumed to be in the time zone specified in "timeZone".
As in iCalendar, the until value bounds the recurrence rule As in iCalendar, the until value bounds the recurrence rule
inclusively. To allow for using the same bound regardless of the inclusively.
value of the "isAllDay" property, the "until" property date-time
MAY include non-zero time components even for all-day calendar
objects.
A recurrence rule specifies a set of set of date-times for recurring A recurrence rule specifies a set of set of date-times for recurring
calendar objects. A recurrence rule has the following semantics. calendar objects. A recurrence rule has the following semantics.
Note, wherever "year", "month" or "day of month" is used, this is Note, wherever "year", "month" or "day of month" is used, this is
within the calendar system given by the "rscale" property, which within the calendar system given by the "rscale" property, which
defaults to gregorian if omitted. defaults to gregorian if omitted.
1. A set of candidates is generated. This is every second within a 1. A set of candidates is generated. This is every second within a
period defined by the frequency property value: period defined by the frequency property value:
skipping to change at page 24, line 12 skipping to change at page 24, line 4
A pointer in the PatchObject MUST NOT start with one of the following A pointer in the PatchObject MUST NOT start with one of the following
prefixes; any patch with such a key MUST be ignored: prefixes; any patch with such a key MUST be ignored:
o @type o @type
o uid o uid
o relatedTo o relatedTo
o prodId o prodId
o method o method
o isAllDay
o recurrenceRule o recurrenceRule
o recurrenceOverrides o recurrenceOverrides
o replyTo o replyTo
4.3.3. excluded 4.3.3. excluded
Type: Boolean (optional, default: "false"). Type: Boolean (optional, default: "false").
skipping to change at page 36, line 9 skipping to change at page 35, line 44
A JSEvent MAY involve start and end locations that are in different A JSEvent MAY involve start and end locations that are in different
time zones (e.g. a trans-continental flight). This can be expressed time zones (e.g. a trans-continental flight). This can be expressed
using the "relativeTo" and "timeZone" properties of the JSEvent's using the "relativeTo" and "timeZone" properties of the JSEvent's
"location" objects. "location" objects.
5.1.4. isAllDay 5.1.4. isAllDay
Type: Boolean (optional, default: "false"). Type: Boolean (optional, default: "false").
Specifies if the event is an all day event, such as a birthday or Indicates whether this event is meant to represent an all-day event,
public holiday. and SHOULD be presented accordingly in a calendaring application.
The value of this property is independent of the actual time-span
If the "isAllDay" property value is true, then the following covered by this event.
restrictions apply:
o the "start" property MUST have a time component of "T00:00:00".
o the "timeZone" property MUST be "null"
o the "duration" property MUST NOT include non-zero time components
(hours, minutes, or seconds)
o the "freeBusyStatus" property MUST NOT be "busy"
5.1.5. status 5.1.5. status
Type: String (optional, default: "confirmed"). Type: String (optional, default: "confirmed").
The scheduling status (Section 4.4) of a JSEvent. If set, it MUST be The scheduling status (Section 4.4) of a JSEvent. If set, it MUST be
one of: one of:
o "confirmed": Indicates the event is definite. o "confirmed": Indicates the event is definite.
skipping to change at page 37, line 36 skipping to change at page 37, line 21
If the task is recurring and has future instances, a client may want If the task is recurring and has future instances, a client may want
to keep track of the last status update timestamp of a specific task to keep track of the last status update timestamp of a specific task
recurrence, but leave other instances unchanged. One way to achieve recurrence, but leave other instances unchanged. One way to achieve
this is by overriding the statusUpdatedAt property in the task this is by overriding the statusUpdatedAt property in the task
"recurrenceOverrides" property. However, this could produce a long "recurrenceOverrides" property. However, this could produce a long
list of timestamps for regularly recurring tasks. An alternative list of timestamps for regularly recurring tasks. An alternative
approach is to split the JSTask into a current, single instance of approach is to split the JSTask into a current, single instance of
JSTask with this instance status update time and a future recurring JSTask with this instance status update time and a future recurring
instance. Also see Section 4.1.3 on splitting. instance. Also see Section 4.1.3 on splitting.
5.2.6. isAllDay 5.2.6. progress
Type: Boolean (optional, default: "false").
Specifies if the task is an all day task.
If the "isAllDay" property value is true, then the following
restrictions apply:
o the "start" and "due" properties MUST have a time component of
"T00:00:00", or not be set
o the "timeZone" property MUST be "null"
o the "freeBusyStatus" property MUST NOT be "busy"
5.2.7. progress
In addition to the common properties of a Participant object In addition to the common properties of a Participant object
(Section 4.4.5), a Participant within a JSTask supports the following (Section 4.4.5), a Participant within a JSTask supports the following
property: property:
o progress: ParticipantProgress (optional). The progress of the o progress: ParticipantProgress (optional). The progress of the
participant for this task, if known. This property MUST NOT be participant for this task, if known. This property MUST NOT be
set if the "participationStatus" of this participant is any other set if the "participationStatus" of this participant is any other
value but "accepted". value but "accepted".
skipping to change at page 38, line 33 skipping to change at page 38, line 5
* "completed": The participant completed their task. * "completed": The participant completed their task.
* "in-process": The participant has started this task. * "in-process": The participant has started this task.
* "failed": The participant failed to complete their task. * "failed": The participant failed to complete their task.
o timestamp: UTCDate (mandatory). Describes the last time when the o timestamp: UTCDate (mandatory). Describes the last time when the
participant progress got updated. participant progress got updated.
5.2.8. status 5.2.7. status
Type: String (optional). Type: String (optional).
Defines the overall status of this task. If omitted, the default Defines the overall status of this task. If omitted, the default
status (Section 4.4) of a JSTask is defined as follows (in order of status (Section 4.4) of a JSTask is defined as follows (in order of
evaluation): evaluation):
o "completed": if the "status" property value of all participant o "completed": if the "status" property value of all participant
progresses is "completed". progresses is "completed".
 End of changes. 21 change blocks. 
66 lines changed or deleted 35 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/