imag/doc/src/05100-lib-todo.md

71 lines
1.9 KiB
Markdown
Raw Normal View History

2017-08-12 15:36:11 +00:00
## libimagtodo
The library for the todo module which provides functionality to
implement/implements a todomanager in imag.
2017-08-12 21:26:55 +00:00
### Implementation details
2017-08-12 21:26:55 +00:00
One todo entry is stored as one imag entry. The ID of the imag entry is
generated by appending a unique ID (UUID) to "todo/".
The unique ID identifies the todo entry.
#### Stored data
A todo entry stores the following information:
* The (UU)ID of the todo entry
* A status of the todo entry. Valid values are: "deleted", "done", "pending"
* An optional "scheduled" date/datetime
* An optional "hidden" value, which specifies a date in the future where this
todo entry should show up.
* An optional "due" date/datetime
* A "priority"-level, either "h", "m", "l"
The description of the todo entry is stored as plain text.
#### Data not stored
Some data is explicitely _not_ stored by the library because there are other
libraries fullfilling that purpose. These are:
* Related todos, which can be done via libimagentrylink
* Tags, which can be done with libimagentrytag
* Category, which can be done with libimagentrycategory
* Project belonging, which can be done with libimagentrylink (by linking to a
project file - note that "project" is a domain not yet implemented by imag)
* Annotations, which can be stored with libimagentryannotation
#### Header format
The header partial for libimagtodo is as follows:
```
[todo]
uuid = "string"
status = "enum { 'deleted', 'done', 'pending' }"
scheduled = "<NaiveDateTime>" // optional
hidden = "<NaiveDateTime>" // optional
due = "<NaiveDateTime>" // optional
priority = "enum { 'h', 'm', 'l' }" // optional
```
#### Functionality
The provided functionality of this library includes, but is not limited to:
* Creating
* Deleting
* Get/Retrieving
* Getting data about the todo
* Reading metadata: scheduled, due, waiting, prio, uuid, status,...
* Related (via libimagentrylink) todo entries
2017-08-12 21:26:55 +00:00