2017-08-12 15:36:11 +00:00
|
|
|
## libimagtodo
|
|
|
|
|
2018-12-16 15:59:00 +00:00
|
|
|
The library for the todo module which provides functionality to
|
|
|
|
implement/implements a todomanager in imag.
|
2017-08-12 21:26:55 +00:00
|
|
|
|
2019-06-15 15:02:42 +00:00
|
|
|
|
2018-12-16 15:59:00 +00:00
|
|
|
### Implementation details
|
2017-08-12 21:26:55 +00:00
|
|
|
|
2019-06-15 15:02:42 +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/".
|
2018-12-16 15:59:00 +00:00
|
|
|
|
|
|
|
The unique ID identifies the todo entry.
|
|
|
|
|
2019-06-15 15:02:42 +00:00
|
|
|
|
2018-12-16 15:59:00 +00:00
|
|
|
#### 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"
|
2019-06-15 15:02:42 +00:00
|
|
|
* An optional "scheduled" date/datetime
|
2018-12-16 15:59:00 +00:00
|
|
|
* An optional "hidden" value, which specifies a date in the future where this
|
2019-06-15 15:02:42 +00:00
|
|
|
todo entry should show up.
|
|
|
|
* An optional "due" date/datetime
|
|
|
|
* A "priority"-level, either "h", "m", "l"
|
2018-12-16 15:59:00 +00:00
|
|
|
|
|
|
|
The description of the todo entry is stored as plain text.
|
|
|
|
|
2019-06-15 15:02:42 +00:00
|
|
|
|
2018-12-16 15:59:00 +00:00
|
|
|
#### Data not stored
|
|
|
|
|
|
|
|
Some data is explicitely _not_ stored by the library because there are other
|
|
|
|
libraries fullfilling that purpose. These are:
|
|
|
|
|
2019-06-15 15:02:42 +00:00
|
|
|
* Related todos, which can be done via libimagentrylink
|
2018-12-16 15:59:00 +00:00
|
|
|
* 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
|
|
|
|
|
2019-06-15 15:02:42 +00:00
|
|
|
|
2018-12-16 15:59:00 +00:00
|
|
|
#### Header format
|
|
|
|
|
|
|
|
The header partial for libimagtodo is as follows:
|
|
|
|
|
|
|
|
```
|
|
|
|
[todo]
|
|
|
|
uuid = "string"
|
2019-06-15 15:02:42 +00:00
|
|
|
status = "enum { 'deleted', 'done', 'pending' }"
|
|
|
|
scheduled = "<NaiveDateTime>" // optional
|
|
|
|
hidden = "<NaiveDateTime>" // optional
|
|
|
|
due = "<NaiveDateTime>" // optional
|
|
|
|
priority = "enum { 'h', 'm', 'l' }" // optional
|
2018-12-16 15:59:00 +00:00
|
|
|
```
|
|
|
|
|
2019-06-15 15:02:42 +00:00
|
|
|
|
2018-12-16 15:59:00 +00:00
|
|
|
#### Functionality
|
|
|
|
|
|
|
|
The provided functionality of this library includes, but is not limited to:
|
|
|
|
|
2019-06-15 15:02:42 +00:00
|
|
|
* Creating
|
|
|
|
* Deleting
|
|
|
|
* Get/Retrieving
|
|
|
|
* Getting data about the todo
|
|
|
|
* Reading metadata: scheduled, due, waiting, prio, uuid, status,...
|
|
|
|
* Related (via libimagentrylink) todo entries
|
2018-12-16 15:59:00 +00:00
|
|
|
|
|
|
|
|
2017-08-12 21:26:55 +00:00
|
|
|
|