Skip to content

Commit fab313e

Browse files
committed
Update tasks to reflect some of the changes in the tasks extensions
1 parent e241566 commit fab313e

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed

_pages/Tasks/Tasks-Component.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
layout: toc-type
3+
title: Component
4+
parent: "/Tasks"
5+
mainParent: "Tasks"
6+
parents: "Tasks:/Tasks"
7+
order: 200
8+
---
9+
10+
# Tasks - Component
11+
A task is represented in iCalendar by the VTODO component and in jsCalendar by an object of type Task.
12+
13+
The task object differs only slightly from an event. This section will describe those differences. The similarity of the components makes it easy to generate an event from a task, for instance when a task is assigned to someone to be carried out at a specific time.
14+
15+
## Tasks do not occupy busy time
16+
Hard as it is to discern that from the specs - that is the case. Calculations of busy time only include events. This does make sense. A task is something to be done - not the period of time in which it is being done. However, implementations for freebusy need to exclude tasks in their data when calculating freebusy.
17+
18+
This is also the reason why tasks MUST be turned into events when accepted by somebody.
19+
20+
## Start and end times mean something different.
21+
For an event the start and end mean that is the time taken by the event (bar some fuzziness with all day events).
22+
23+
For tasks the picture has been even more fuzzy. It's fairly clear what the intent was in that tasks in RFC5545 have a start and a due date. What was missing was how long the task was supposed to take.
24+
25+
For example, we might have a task "paint the room". That task is expected to take 2 hours.
26+
However, there's a whole week to complete the task. The start may be Monday 5th and due date is Friday 9th. The extensions add an **estimated duration** to allow us to specify how long we expect the task to actually take. This makes the due date into a deadline.
27+
28+
Also, tasks do not require the specification of a start date. This means they MUST always appear in time range searches. They are task which need to be done but have no specific time - that is, they are reminders.
29+
30+
Note that RFC5545 removed the ability to specify ONLY a duration. This will be restored by the task extensions specification.
31+
32+
## Further extensions.
33+
### Reporting.
34+
The new tasks extensions provide better reporting of status. It is important to be able to specify not only the status of the task as a whole but also the status for individual actors - the **attendees**.
35+
36+
### Task mode
37+
This allows specification of which actor alters the state of the task - usually to completed or failed. This may be a client or the server.
38+
39+
## Possible uses for task components.
40+
The intent of the task extensions was to allow the component to be more widely used. broadly speaking there were two main areas of interest:
41+
42+
* Project management.
43+
* Business processes.
44+
45+
The current extensions are intended t cover all of these requirements.
46+
47+
### Project management
48+
A project consists of a number of sub-tasks which may have a number of temporal relationships constraining them, for example task-A must follow task-B. Additionally, a (sub)task may have its own deadlines and estimated time for completion. Other attributes may include cost to complete.
49+
50+
There is also a requirement to be able to report progress and indicate what is blocking progress.
51+
52+
The task component also provides a standard way to represent the project - allowing export from one application and import into another.
53+
54+
### Business processes.
55+
The extensions allow an automated system to represent the tasks that must be fulfilled and track their progress and update their status.
56+
57+
Such systems may be order fulfillment, delivery systems etc. The main characteristic is possibly that the **organizer** is not a human but the application. The actors in such a system may take part by carrying out operations and reporting back, e.g. delivering a package or a meal. These actors may be humans or some automated mechanism.

_pages/Tasks/Tasks-Introduction.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
layout: toc-type
3+
title: Introduction
4+
parent: "/Tasks"
5+
mainParent: "Tasks"
6+
parents: "Tasks:/Tasks"
7+
order: 100
8+
---
9+
10+
# Tasks - Introduction
11+
Tasks are defined in [RFC 5545][rfc5545] which defines the VTODO component. Extensions of particular interest for tasks are <a href="https://datatracker.ietf.org/doc/draft-ietf-calext-ical-tasks/">IETF Datatracker for Task Extensions to iCalendar</a> and [RFC 9253 Support for iCalendar Relationships][rfc9253]
12+
13+
It is hoped that the extensions will allow the tasks objects to be used for representation of project management data and for process control.

0 commit comments

Comments
 (0)