]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/Updated_bug_tracking_example.mdwn
add wishlist item
[git.ikiwiki.info.git] / doc / todo / Updated_bug_tracking_example.mdwn
index 76ecae58c3ffe5912621dbf0bff028b7c2c02986..4fbb064973045d3cd9c98310c649a4480fff3327 100644 (file)
@@ -1,2 +1,136 @@
-Computer software, or just software, is a collection of computer programs and related data that provides the instructions for telling a computer what to do and how to do it. Software refers to one or more computer programs and data held in the storage of the computer for some reasons. In other words, software is a set of programs, procedures, algorithms and its documentation concerned with the operation of a data processing system. Program software performs the function of the program it implements, either by directly providing instructions to the computer hardware or by serving as input to another piece of software. The term was coined to contrast to the old term hardware (meaning physical devices). In contrast to hardware, software "cannot be touched".[1] Software is also sometimes used in a more narrow sense, meaning application software only. Sometimes the term includes data that has not traditionally been associated with computers, such as film, tapes, and records.[2]
-Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, executable code consists of machine language instructions specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. Programs are an ordered sequence of instructions for changing the state of the computer in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler. [software](http://www.software.com/)
+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.