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.