further thoughts
[ikiwiki.git] / doc / forum / managing_todo_lists.mdwn
1 I keep some TODO lists on ikiwiki pages. I'm half-tempted to write a plugin
2 to make ticking items off and adding items easier via the web interface. I'm
3 aware though that this is not really what ikiwiki is designed for. Would
4 anyone else find this useful? -- [[users/jon]]
5
6 ----
7
8 My subsequent thoughts about how to approach this are two-fold.
9
10 Firstly, a filetype for todo lists, probably OPML, but I haven't looked to see
11 if there is something more suitable. A plugin that converts this source into a
12 traditional page output, i.e. a DOM tree of ul or ol and li elements.
13
14 Secondly, some magic javascript to make editing the list via the web page 
15 more interactive: add items, strike items out, reorder items etc., without
16 round-tripping to the cgi for each operation.
17
18 Finally, a mechanism whereby the changes made to the page live can be
19 committed back to the repository:
20
21  * ...perhaps the input → output conversion is reversible, and the HTML DOM
22    representing the list can be transformed back into the source and submitted
23    to the cgi like a regular edit: issues include the result of other
24    postprocessing: templates, wikilinks, etc.
25  * perhaps an embedded copy of the source is included in the output and the
26    javascript operates on that in tandem with the static copy
27    * perhaps the "output" is generated live by the JS at view time (with maybe
28      a plugin-generated rendered output for non JS environments)
29
30 I envisage a button called "commit changes" appearing once some changes are
31 made that submits the changes to the CGI, perhaps via a back channel. I'm not
32 sure how to handle embeds or challenges from the CGI such as a login challenge
33 (maybe the back channel would not be necessary in the first cut).