1 I've put together an updated bug tracking example. This example requires some recent
2 patches of mine. It requires [[todo/tracking_bugs_with_dependencies]],
3 [[todo/Allow_edittemplate_to_set_file_type]] and the second [[patch]] in
4 [[todo/structured_page_data]] (the data plugin, not the form plugin).
6 You'll then want to add/replace the following files in the software project example. The
7 heading is the name of the file. I've commented all the directives. Oh, and I don't
8 have nice CSS for this yet. I did make sure that if I borrowed
9 [Trac's](http://trac.edgewall.org/) css then it would display as nicely as theirs - the
10 html is there if not the CSS.
12 It might be worth adding some justification of what is going on here. The datatable
13 and data directives generate a nice tabular form for the structured data. The HTML
14 generated is the same as for Trac, except I've got fewer fields. Adding more is trivial.
16 I use data directives rather than links because the data directive allows separating
17 dependencies from links. We can specify 'bugs with all dependencies closed' without
18 being confused by other links on the page.
22 ### templates/bug.mdwn
24 \[[!datatable class="bugtable" datalist="""
25 [[!data key="Reported by" link=""]] [[!data key="Owned by" link=""]]
26 [[!data key="Depends on"]]
31 This is a bug that needs solving.
33 #### Steps to reproduce:
35 #### What I expect to happen:
37 #### What actually happens:
39 #### What I have tried to narrow it down:
43 This is FooBar's bug list. Link bugs to \[[bugs/done]] when done.
45 \[[!inline pages="bugs and ! bugs" feeds=no postform=yes
46 postformtext="Report a bug:" rootpage="bugs"]]
48 \[[!edittemplate template="templates/bug" match="bugs/* and !*/Discussion" silent=yes]]
50 \[[!toggle id="all bugs" text="Show all bugs"]]
52 \[[!toggle id="open bugs" text="Show open bugs"]]
54 \[[!toggle id="ready bugs" text="Show ready bugs (open bugs with all dependencies closed)"]]
56 \[[!toggleable id="ready bugs" text="""
59 Open bugs with all dependencies closed.
61 [[!inline pages="define(~open, ./bugs/* and !./bugs/done and !link(done) and !*/Discussion)
62 and ~open and !data_link(Depends on,~open)" actions=yes archive=yes show=0]]
65 \[[!toggleable id="open bugs" text="""
68 [[!inline pages="./bugs/* and !./bugs/done and !link(done)
69 and !*/Discussion" actions=yes archive=yes show=0]]
72 \[[!toggleable id="all bugs" text="""
75 [[!inline pages="./bugs/* and !./bugs/done and !*/Discussion"
76 actions=yes archive=yes show=0]]
79 ### bugs/needs_more_bugs.mdwn
81 \[[!datatable class="bugtable" datalist="""
82 [[!data key="Reported by" link="John"]] [[!data key="Owned by" link="Frank"]]
83 [[!data key="Depends on" link="bugs/fails_to_frobnicate"]]
88 FooBar does not have enough bugs, which suggests that it's not a real Free
89 Software project. Please help create more bugs by adding code to FooBar!
92 #### Steps to reproduce:
96 #### What I expect to happen:
100 #### What actually happens:
104 #### What I have tried to narrow it down:
106 I've added some code, but I'm not sure it was the right code.
108 ### bugs/fails_to_frobnicate.mdwn
110 \[[!datatable class="bugtable" datalist="""
111 [[!data key="Reported by" link="John"]] [[!data key="Owned by" link="Frank"]]
112 [[!data key="Depends on"]]
117 FooBar, when used with the `--frob` option, fails to properly frobnicate
120 > This is fixed in \[[news/version_1.0]]; marking this bug \[[done]].
122 #### Steps to reproduce:
124 Use FooBar with the `--frob` option.
126 #### What I expect to happen:
128 Lots of frobnication.
130 #### What actually happens:
132 Complete lack of frobnication
134 #### What I have tried to narrow it down:
136 Tested on Linux, MacOS and NetBSD.