+I've put together an updated bug tracking example. This example requires some recent
+patches of mine. It requires [[todo/tracking_bugs_with_dependencies]],
+[[todo/Allow_edittemplate_to_set_file_type]] and the second [[patch]] in
+[[todo/structured_page_data]] (the data plugin, not the form plugin).
+
+You'll then want to add/replace the following files in the software project example. The
+heading is the name of the file. I've commented all the directives. Oh, and I don't
+have nice CSS for this yet. I did make sure that if I borrowed
+[Trac's](http://trac.edgewall.org/) css then it would display as nicely as theirs - the
+html is there if not the CSS.
+
+It might be worth adding some justification of what is going on here. The datatable
+and data directives generate a nice tabular form for the structured data. The HTML
+generated is the same as for Trac, except I've got fewer fields. Adding more is trivial.
+
+I use data directives rather than links because the data directive allows separating
+dependencies from links. We can specify 'bugs with all dependencies closed' without
+being confused by other links on the page.
+
+-- [[Will]]
+
+### templates/bug.mdwn
+
+ \[[!datatable class="bugtable" datalist="""
+ [[!data key="Reported by" link=""]] [[!data key="Owned by" link=""]]
+ [[!data key="Depends on"]]
+ """]]
+
+ ### Description
+
+ This is a bug that needs solving.
+
+ #### Steps to reproduce:
+
+ #### What I expect to happen:
+
+ #### What actually happens:
+
+ #### What I have tried to narrow it down:
+
+### bugs.mdwn
+
+ This is FooBar's bug list. Link bugs to \[[bugs/done]] when done.
+
+ \[[!inline pages="bugs and ! bugs" feeds=no postform=yes
+ postformtext="Report a bug:" rootpage="bugs"]]
+
+ \[[!edittemplate template="templates/bug" match="bugs/* and !*/Discussion" silent=yes]]
+
+ \[[!toggle id="all bugs" text="Show all bugs"]]
+
+ \[[!toggle id="open bugs" text="Show open bugs"]]
+
+ \[[!toggle id="ready bugs" text="Show ready bugs (open bugs with all dependencies closed)"]]
+
+ \[[!toggleable id="ready bugs" text="""
+ #### Ready Bugs
+
+ Open bugs with all dependencies closed.
+
+ [[!inline pages="define(~open, ./bugs/* and !./bugs/done and !link(done) and !*/Discussion)
+ and ~open and !data_link(Depends on,~open)" actions=yes archive=yes show=0]]
+ """]]
+
+ \[[!toggleable id="open bugs" text="""
+ #### Open Bugs
+
+ [[!inline pages="./bugs/* and !./bugs/done and !link(done)
+ and !*/Discussion" actions=yes archive=yes show=0]]
+ """]]
+
+ \[[!toggleable id="all bugs" text="""
+ #### All Bugs
+
+ [[!inline pages="./bugs/* and !./bugs/done and !*/Discussion"
+ actions=yes archive=yes show=0]]
+ """]]
+
+### bugs/needs_more_bugs.mdwn
+
+ \[[!datatable class="bugtable" datalist="""
+ [[!data key="Reported by" link="John"]] [[!data key="Owned by" link="Frank"]]
+ [[!data key="Depends on" link="bugs/fails_to_frobnicate"]]
+ """]]
+
+ ### Description
+
+ FooBar does not have enough bugs, which suggests that it's not a real Free
+ Software project. Please help create more bugs by adding code to FooBar!
+ :-)
+
+ #### Steps to reproduce:
+
+ Test frobnicate.
+
+ #### What I expect to happen:
+
+ It should fail.
+
+ #### What actually happens:
+
+ It works.
+
+ #### What I have tried to narrow it down:
+
+ I've added some code, but I'm not sure it was the right code.
+
+### bugs/fails_to_frobnicate.mdwn
+
+ \[[!datatable class="bugtable" datalist="""
+ [[!data key="Reported by" link="John"]] [[!data key="Owned by" link="Frank"]]
+ [[!data key="Depends on"]]
+ """]]
+
+ ### Description
+
+ FooBar, when used with the `--frob` option, fails to properly frobnicate
+ output.
+
+ > This is fixed in \[[news/version_1.0]]; marking this bug \[[done]].
+
+ #### Steps to reproduce:
+
+ Use FooBar with the `--frob` option.
+
+ #### What I expect to happen:
+
+ Lots of frobnication.
+
+ #### What actually happens:
+
+ Complete lack of frobnication
+
+ #### What I have tried to narrow it down:
+
+ Tested on Linux, MacOS and NetBSD.