Roundup
Original authorKa-Ping Yee
DevelopersRichard Jones, Roundup Initiative
Initial release18 August 2001; 24 years ago (2001-08-18)
Stable release
2.5.0[1] Edit this on Wikidata / 13 July 2025; 11 months ago (2025-07-13)
Written inPython
Operating systemCross-platform
TypeIssue tracking system
LicenseMIT License[2] Edit this on Wikidata
Websitewww.roundup-tracker.org Edit this on Wikidata
Repository

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.[3]

History

edit

Roundup was designed by Ka-Ping Yee for the Software Carpentry project and was developed from 2001 to 2016 under the direction of Richard Jones. Since then, it has been developed by the Roundup community. It was the issue tracker for the Python programming language for 17 years before migrating to GitHub.[4] It was once described as "like Bugzilla without the six years of training, or RT without that tedious MySQL rubbish."[5]

Features

edit

The standard configuration of Roundup features:

Roundup supports several web backends.[10] It can be run standalone, as a background daemon process, as a CGI script[11] or as WSGI application.

Concepts

edit

Roundup is customized by changing the contents of the tracker instance directory:

Database schema

edit

The 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 templates

edit

Roundup uses the Template Attribute Language (TAL) to create HTML or XHTML output. Version 1.5.0 adds experimental support for alternative template engines, such as Jinja2.[12]

Templates are named after the classes in database. Roundup automatically chooses template based on class name requested from URL. 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".[13] 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.

Detectors

edit

Many Roundup functions, including some of the standard functionality, are implemented using so-called detectors,[14] 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 automatically 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

  • create
  • set (change of attributes)
  • retire
  • restore

is requested. They can be used to create an elaborated custom workflow.

Extensions

edit

The 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 also

edit

References

edit
  1. ^ "Roundup 2.5.0 release announcement (including security fix)". 13 July 2025.
  2. ^ "License".
  3. ^ The primary user interface is the web interface. A so-called classic tracker template is distributed as the standard template and data structure set, but can be used as a starting point for customization
  4. ^ Python Bug Tracker
  5. ^ NTKnow 2002/07/05 - TRACKING
  6. ^ REST documentation
  7. ^ E-Mail User Interface, Roundup user's guide
  8. ^ Design of Nosy Lists
  9. ^ access control, Roundup design description
  10. ^ "Installing Roundup - Roundup 2.5.0 documentation".
  11. ^ usage via CGI is rare and not recommended, for performance reasons
  12. ^ "Roundup: A simple-to-use and -install issue-tracking system with command-line, web and e-mail interfaces. Highly customisable".
  13. ^ identifiers and designators, Roundup design description
  14. ^ detector interface, Roundup design description
edit

📚 Artikel Terkait di Wikipedia

Roundup

having no effect Roundup, Montana, US city Roundup, Texas, a US city Roundup (issue tracker), web-based issue or bug tracking system Roundup (transit), the

Comparison of issue-tracking systems

Retrieved 2011-10-21. "Roundup Design Detector Interface". Roundup-tracker.org. Retrieved 2014-01-03. "Roundup Features". Roundup-tracker.org. Retrieved 2011-10-21

Template Attribute Language

are used by the following projects: Zope (web application server) Roundup (issue tracker) Besides the original Zope implementation, there are (not exhaustive):

Glyphosate

Hakim, Danny (August 1, 2017). "Monsanto Emails Raise Issue of Influencing Research on Roundup Weed Killer". The New York Times. ISSN 0362-4331. Retrieved

Comparison of help desk issue tracking software

notable issue tracking systems used primarily for help desks and service desks rather than for bug tracking or project management. Comparison of issue-tracking

The Last Roundup (album)

The Last Roundup is the 21st album, and third live album, by the country rock band Poco. Recorded live in July 1977 at the Santa Monica Civic Auditorium

Doomsday Clock (comics)

Book Roundup, it holds an average rating of 8.5 out of 10 from professional critics, based on 438 reviews. Following the release of the final issue, Geoff

The Last Roundup (My Little Pony: Friendship Is Magic)

"The Last Roundup" is the fourteenth episode of the second season of the animated television series My Little Pony: Friendship Is Magic. The episode was