[pmwiki-devel] How to make a TODO List?

Dfaure dfaure at cpan.org
Tue Jan 30 02:23:03 CST 2007


On 1/30/07, Kathryn Andersen <kat_lists at katspace.homelinux.org> wrote:
> Hi folks!
>
> I'm interested to see if I can use PmWiki for a sort of daily TODO list,
> and neither of the two ToDo recipes do what I want.
>
> http://www.pmwiki.org/wiki/Cookbook/VerySimpleToDo
> is too simple
>
> http://www.pmwiki.org/wiki/Cookbook/ToDo
> is too... complicated...
>
> So I guess I'll have to roll my own, but I have no real idea where to
> start.


<grind>Caution, you'll soon to hit our ZAP-man</grind>

Practically, you may "stole" some concepts from several recipes:

> - all the ToDo data is on one page, there aren't separate pages for
>   each ToDo item; there are multiple items on one page (this rules out
>   XToDo or using Page Text Variables)
> - there can be more than one ToDo page, and they don't have to be in a
>   special ToDo group

#1: Your datas look like page comments and therefore may/should be
added to pages in the same way.

> - be able to mark an item as done with one click on a button.  I don't
>   want the item to be deleted, because I want to see what I've
>   completed.

#2: This makes think of a voting mecanism.

> - easily be able to add new todo items (with a form?)
> - be able to re-order items in the list by hand, without breaking
>   anything
> - don't require ToDo items to have a due date
>
> Is this feasible?

This even wouldn't be too difficult:

Cf #1, define the todo directive (:todo-form:), which, while acting
like the CommentBox recipe, provide a way to define a set of page
variable describing your task. In this set, don't forget to add an
extra page variable definition using the (:todo-set-status:)
directive,

Cf #2, define the (:todo-set-status:), which, while acting like the Voting
recipe, would set a dedicated page variable to specific states as
"started", "waiting", "done",...

Using a dedicated page group and a one todo/page rule would allow very
easy  handling for your data:
* The (:todo-form:) markup would rely in the Group(Header|Footer) page.
  In this case, you may even implement the behaviour with the
NewPageBoxPlus recipe and a dedicated page template).
* Summaries/Dashboards would be given with a set of (:pagelist:) directives.

In the same mood, you may also have a look at the PITS recipe itself,
which provide something not very far from your specs.

Dom



More information about the pmwiki-devel mailing list