Roundup (issue tracker)
From Seo Wiki - Search Engine Optimization and Programming Languages
This article is written like an advertisement. Please help rewrite this article from a neutral point of view. For blatant advertising that would require a fundamental rewrite to become encyclopedic, use {{db-spam}} to mark for speedy deletion. (June 2009) |
This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (June 2009) </td> </tr> </table>
Roundup is an open-source issue or bug tracking system featuring a command-line, web and e-mail interface. It is written in Python and designed to be highly customizable[1]. Roundup was designed by Ka-Ping Yee for the Software Carpentry project and is currently being developed under the direction of Richard Jones. It is currently the issue tracker for the Python programming language itself[2].
FeaturesThe standard configuration of Roundup features:
Roundup runs as a daemon process, CGI script[6] or alternatively using mod_python. ConceptsRoundup is customized by changing the contents of the tracker instance directory: Database schemaThe database schema is defined in a Python file in the tracker instance's root directory; it is re-read whenever the server is started anew. When changes are found (e.g. new attributes), the tables of the underlying RDBS are altered accordingly. Page templatesRoundup uses the Template Attribute Language (TAL) known from Zope to create HTML or XHTML output. Some templates are used for several classes, e.g. _generic.index.html, which allows (authorized) users to change the objects of all classes which lack an own index template. When an „issue123“ is requested, this designator is split in the issue class and the id „123“[7]. By default an „item“ template is chosen: First, an issue.item.html template file is looked for; if it can't be found, _generic.item.html is used as a fallback option. If this is missing equally, an error occurs. DetectorsMany Roundup functions, including some of the standard functionality, are implemented using so-called detectors[8], which are located in the "detectors" sub-directory of the tracker instance. They are Python subroutines which have access to the object to change (if already created) and the requested attribute changes. Detectors are distinguished between auditors and reactors. Auditors are used primarily for several automatic changes (in the standard configuration, the assignedto user is automagically added to the nosy list of the issue), and to refuse un-allowed changes; reactors are executed thereafter and used e.g. for the e-mail notification feature, sending notification mails to all users interested in a certain issue when a comment is added to it. Detectors are triggered whenever one of the actions
is requested. They can be used to create an elaborated custom workflow. ExtensionsThe instance subdirectory „extensions“ can hold additional files which are needed for extended functionalities which can't (conveniently) be done with TAL; even totally new actions are possible. Python modules which are used by both detectors and extensions can be put in the „lib“ subdirectory See alsoExternal links
References
|
↓