Roundup Glossary

class

a definition of the properties and behavior of a set of items

classname

the name of a class. It must start with a letter, end with a letter or “_”, and only have alphanumerics and “_” in the middle.

db

database used to store the data in the tracker. Roundup supports 4 databases: dbm (Berkeley DB/BDB), SQLite, PostgreSQL, MySQL/MariaDB.

definitional class

a class that exists to define a discrete set of values. For example status or priority.

designator

a combined classname + itemid reference to any item in the hyperdb. E.g. issue26. Note that form values can include something that looks like a designator composed of a classname, a dash ‘-’, and a number. E.g. file-1. These are used to create new instances of a class via the web interface.

detectors

There are two types of detectors that execute Python code in response to changes to the database.

auditors

are run before a permanent change is made to the database. They validate that the change is allowed. For example is the current user allowed to change the status field.

reactors

are run after a change has been committed to the database. They are used to perform actions like sending notification messages, updating other tickets etc.

html directory

there is a directory called html in tracker homes. This contains html files (called templates) that are processed by the templating processor (TAL or jinja2) for delivery to a web client. However there is also a templates setting in the tracker’s config.ini file. The default value for this is html. However any directories listed as templates should be considered an html directory

hyperdb

a software layer between the user and the underlying db. It is responsible for mutating the underlying db when the schema changes. It also executes the detectors when items in the db change.

item

a collection of data that forms one entry in the hyperdb.

itemid

an integer reference to a particular item of one class. Internally it is stored as a string and not an integer number. This results in a string not numeric sort by id in some circumstances.

property

one element of data that makes up an item. In Roundup, the set of item properties may be changed as needed - even after the tracker has been initialized and used in production.

schema

the definition of all the classes and properties that make up a tracker. Contained in the file schema.py. The permissions for the schema items are usually defined in the same file.

template

this term has three meanings depending on context.

  1. files that are processed by a templating engine to produce output suitable for machine or human consumption. For example a template could produce a html page that includes the name of the user.

  2. a property of the request object in the templating system. Templates that are used with a specific class (e.g. issue.item.html) will have this entry set to the middle element (item in this example). For templates like home.html the element will be set to the empty string.

  3. a Tracker template. This is a set of files used to install a new tracker. Tracker templates define a tracker with a particular look and feel, schema, permissions model, and detectors. Roundup ships with five templates and people on the net have produced other templates

tracker

the schema and hyperdb that forms one issue tracker

tracker home

the physical location on disk of a tracker. It has the config.ini, schema.py files for the tracker.


Back to Table of Contents