Read-only bug tracker
A bug tracker for all my projects, but specifically sorttable. Comprised of a collection of rfc822-a-like files in subversion, and a script which builds a static HTML list of the bugs.
Requirements
- multiple projects trackable -- DONE
- some projects are private and require login to see the bug list -- DONE (use a .htaccess file)
- private projects must not allow browsing of the files in svn! -- DONE (no browsing of svn at all)
- each project can have its static interface published to a specific place, but it defaults to kryogenix.org/bugs/projectname if unspecified -- DONE
- "Subscribe to an RSS feed of changes to this bug" in the static html
- "Email me when this bug is updated" in the static html -- DONE
Extra credit requirements
- automatically regenerate the html interface for a project when a bug changes, maybe on a half-hour cron job so you can change more than one bug at once -- DONE
- allow "Closes: sorttable/ajax-tables" in svn checkin messages to automatically close the bug
- allow "Closes: ajax-tables" in svn checkin messages and work out the project without having to be told!
- easy way to create a new bug by clicking a button in an email (GreaseMonkey for gmail, EPlugin for evolution?)
- Web interface to create a bug so I don't have to check out the svn folder
- Number of people interested in this bug, to get an indication of how many people want it. Store email addresses but don't display them?
svn dir layout
/bugs/ /bugs/control/ /bugs/control/generate-static-html.py -- creates static html, takes projectname as parameter /bugs/data/ /bugs/data/projectname1/ /bugs/data/projectname1/_control -- file as described below /bugs/data/projectname1/some-bug-name -- bug file as described below
svn file format
summary: one line summary of the bug class: bug, semi-bug, wish priority: high, medium, low, never fixed-in: subversion revision, version number, or blank. free text, but the web interface may parse the svn revision number depends: list-of-bugs that-need-to be-fixed-first space-separated blank line body of bug, as textile.
control file format
homepage: URL to homepage of project staticpath: path on slayer to deploy the static html for this project to. defaults to /var/www/kryogenix.org/html/bugs/projectname1/ if unspecified.