-
-
Notifications
You must be signed in to change notification settings - Fork 1
Home
It has several advantages:
- it simplifies read/write operations
- it makes the database greatly portable and human-readable, even
- any standard diff tool can be used to compare versions
however, it might make the tool perform slowly, especially as the file grows (which inevitably will happen, since tasks marked as done are hidden, not deleted, to provide an archive)
If/when such problems occur, we should look into alternatives:
- store two files, "todo" and "done"?
- use a proper database (e.g. sqlite)?
- still use a single text file, but version it using git?
An investigation into the most popular ones is needed (google docs, skydrive, etc...)
Instead of JSON for storage, we could implement a more human-readable/editable text format.
Perhaps using a structure like:
* [ ] Task 1
* [ ] Task 2
\tags:lorem, ipsum, dolor
** [x] Sub-task 2.1
\created:YYYY-MM-DD-hh-mm-ss
\priority:3
...or something similar. Is there an existing markup that can do this, without having to reinvent the wheel? Markdown, YAML, OGDL... existing text-based formats (todo.txt, org-mode, Checkvist's text export)?
This could make the todo list editable in text-based interfaces such as consoles (as todo.txt does) but it could also reduce the format's parseability. A standard format (and one that has widespread implementations) is a must if this approach is considered.
- this would implement the tree mechanism without javascript
- See HTML5's <details> tag (is there a shim for this?)