Content-Type: text/x-zim-wiki
Wiki-Format: zim 0.4
Creation-Date: Unknown

====== Task List ======

Start by renaming TODOList to "Task List"...

----
Keep it simple, only 2 preference options:
[*] Include all checkboxes in the task list
[ ] Include lines by tag
   Tags: [TODO, FIXME ]

Do not take into account headers anymore
2 use cases:
1) task management - use checkboxes
2) writing a document - use tagged lines as placeholders

request to do further filtering of headings / namespaces etc. only
after clear use case

Index should have two signals
* initialize tables
* index page

On initialize table add extra table for tasks
On index page scan for tasks and put them in the table
We trust the index to be up2date

Changing preferences -> popup index needs to be rebuild do it now? yes/no

Also TreeModel that maps that table - re-use code from PageIndex ??

-----
**Possible improvement for the Task List plugin for GTD flow**
1. A tree view, showing hierarchy of checkbox lists and page
2. A list view only showing outer branches which represent actionable items
3. Distinguish a tree view showing dates for the next few days
4. Support items that are waiting - tag @waiting or special checkbox icon
5. Idem tasks not yet started (waiting for previous in the list to finish)

------


How could zim and gtg integrate ?

GTG:
1) Support hyperlinks to zim notes - easy
2) Use zim as a backend to store data - medium ?
   -> Need to check how the task XML looks
3) Adopt zim PageView for full editing capabilities - lot of work
  -> Probably too much work for features not really needed in gtg

Zim:
1) Select text, have a action "create task", opens gtg with the text
inserted in a new task
   -> depends on how easy it is to open GTG with this input
2) Hyperlink to GTG tasks
  -> depends on commandline arguments for GTG

Too merge the programs apply all of the above and run from a single
process, or at least connect both processes with the same deamon.

For zim Task List plugin:
The "create task" item would be real nice, this allows selecting a
single line in a checkbox list and turn it into a "taks" sub page.
(Turn checkbox into other bullet, copy text, dates etc into subpage,
set type to "task")

This allows turning an inbox of items into fully specified tasks and
allows adding longer descriptions and more line items for subtasks
etc.

Selecting a list would create one task and move all other items to
line items in that task.

Have a "New task" dialog popup
-> Project: dropdown / namespace selector - should have a "new" item
-> Title: First line for selected text (max X words ?)
-> Text Area - full zim page view for editing
-> Calendar selectors for due date etc.
-> OK / CANCEL

On ok a new page with this title is saved in a specific namespace
Because page is type "task" it will have the calendar selectors
embedded in the ui.

Since Task List would give complete hierarchy of pages with line items
and task items this integrates nicely.

-> Need tag plugin
@tag syntax is good, add autolink for this syntax (hook from plugin)
after all, tags are just links to special pages

----

>From mailing list comment:

Moreover, I have a GTD suggestion to Zim. Can it add a "Show
actionable tasks only" check box in the TODO list window? A task is
actionable if it don't have any sub-task , or all the subtasks are
finished. It could be used to determine next actionable task easily.
(p.s Subtask should inherit the priority from its parent) Any comment?


----

Actually current checkbox feature works quite well too
Just need an extra bullet type for "waiting" and have the todolist exclude this but add in side pane

---

In list view put column with basename page in front of summary - this provides context - tooltip should show whole item
Limit the max length of an item, use ellipsis (make sure filter works on full content)

---

Due dates relate to tickler calendar file - incorporate these in the calendar view / pageview for calendar pages
