Mercurial > p > roundup > code
diff doc/customizing.txt @ 6168:de9d602c8ce6
more index entries and CHANGES.txt update for them.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 14 May 2020 22:18:18 -0400 |
| parents | c2fd254c9257 |
| children | 53a674b5910f |
line wrap: on
line diff
--- a/doc/customizing.txt Wed May 13 13:01:08 2020 -0400 +++ b/doc/customizing.txt Thu May 14 22:18:18 2020 -0400 @@ -37,6 +37,14 @@ Trackers have the following structure: +.. index:: + single: tracker; structure db directory + single: tracker; structure detectors directory + single: tracker; structure extensions directory + single: tracker; structure html directory + single: tracker; structure html directory + single: tracker; structure lib directory + =================== ======================================================== Tracker File Description =================== ======================================================== @@ -56,6 +64,9 @@ =================== ======================================================== +.. index:: config.ini +.. index:: configuration; see config.ini + Tracker Configuration ===================== @@ -100,7 +111,7 @@ list. Documentation on all the settings is included in the ``config.ini`` file. -.. index:: configuration; sections main +.. index:: config.ini; sections main Section **main** database -- ``db`` @@ -186,6 +197,8 @@ get the error 'Error: field larger than field limit' during import. +.. index:: config.ini; sections tracker + Section **tracker** name -- ``Roundup issue tracker`` A descriptive name for your roundup instance. @@ -205,7 +218,7 @@ language is determined by the environment variable LANGUAGE, LC_ALL, LC_MESSAGES, or LANG, in that order of preference. -.. index:: configuration; sections web +.. index:: config.ini; sections web Section **web** allow_html_file -- ``no`` @@ -233,6 +246,9 @@ in the user's browser rather than emailing them to the tracker admin."), +.. index:: config.ini; sections rdbms + single: config.ini; database settings + Section **rdbms** Settings in this section are used to set the backend and configure addition settings needed by RDBMs like SQLite, Postgresql and @@ -286,6 +302,9 @@ Size of the node cache (in elements) used to keep most recently used data in memory. +.. index:: config.ini; sections logging + see: logging; config.ini, sections logging + Section **logging** config -- default *blank* Path to configuration file for standard Python logging module. If this @@ -304,6 +323,8 @@ option is set, this option has no effect. Allowed values: ``DEBUG``, ``INFO``, ``WARNING``, ``ERROR`` +.. index:: config.ini; sections mail + Section **mail** Outgoing email options. Used for nosy messages, password reset and registration approval requests. @@ -369,6 +390,10 @@ only the name of the actor is added which protects the mail address of the actor from being exposed at mail archives, etc. +.. index:: config.ini; sections mailgw + single: mailgw; config + see: mail gateway; mailgw + Section **mailgw** Roundup Mail Gateway options @@ -449,6 +474,8 @@ parts of the multipart/alternative are ignored. The default is to keep all parts and attach them to the issue. +.. index:: config.ini; sections php + Section **pgp** OpenPGP mail processing options @@ -463,6 +490,9 @@ Location of PGP directory. Defaults to $HOME/.gnupg if not specified. + +.. index:: config.ini; sections nosy + Section **nosy** Nosy messages sending @@ -515,6 +545,9 @@ variables not in the "main" section are referred to using their section and name, so "domain" in the section "mail" becomes MAIL_DOMAIN. +.. index:: pair: configuration; extensions + pair: configuration; detectors + Extending the configuration file -------------------------------- @@ -571,6 +604,7 @@ command. See the start of the section on database content for more info about how this works. +.. index:: schema; classic - description of The "classic" schema -------------------- @@ -606,6 +640,7 @@ priority=Link("priority")) issue.setkey('title') +.. index:: schema; allowed changes What you can't do to the schema ------------------------------- @@ -691,6 +726,8 @@ sometimes refer to this as the *itemid*. +.. index:: schema; property types + Properties ~~~~~~~~~~ @@ -726,6 +763,10 @@ Properties can have additional attributes to change the default behaviour: +.. index:: triple: schema; property attributes; required + triple: schema; property attributes; default_value + triple: schema; property attributes; quiet + * All properties support the following attributes: - ``required``: see `design documentation`_. Adds the property to @@ -747,26 +788,39 @@ number of times an issue was reopened or reassigned etc.) should not be displayed to the user as they can be confusing. +.. index:: triple: schema; property attributes; indexme + * String properties can have an ``indexme`` attribute that defines if the property should be part of the full text index. The default is 'no' but this can be set to 'yes' to allow a property's contents to be in the full text index. + +.. index:: triple: schema; property attributes; use_double + * Number properties can have a ``use_double`` attribute that, when set to ``True``, will use double precision floating point in the database. * Link and Multilink properties can have several attributes: - + + .. index:: triple: schema; property attributes; do_journal + - ``do_journal``: By default, every change of a link property is recorded in the item being linked to (or being unlinked). A typical use-case for setting ``do_journal='no'`` would be to turn off journalling of nosy list, message author and message recipient link and unlink events to prevent the journal from clogged with these events. + + .. index:: triple: schema; property attributes; try_id_parsing + - ``try_id_parsing`` is turned on by default. If entering a number into a Link or Multilink field, roundup interprets this number as an ID of the item to link to. Sometimes items can have numeric names (like, e.g., product codes). For these roundup needs to match the numeric name and should never match an ID. In this case you can set ``try_id_parsing='no'``. + + .. index:: triple: schema; property attributes; rev_multilink + - The ``rev_multilink`` option takes a property name to be inserted into the linked-to class. This property is a Multilink property that links back to the current class. The new Multilink is read-only (it @@ -820,6 +874,8 @@ This makes it easy to list all issues that the user is responsible for (aka assigned_to). + .. index:: triple: schema; property attributes; msg_header_property + - The ``msg_header_property`` is used by the mail gateway when sending out messages. When a link or multilink property of an issue changes, roundup creates email headers of the form:: @@ -883,6 +939,11 @@ If this property is set to the empty string "", it will prevent the header from being generated on outgoing mail. +.. index:: triple: schema; class property; creator + triple: schema; class property; creation + triple: schema; class property; actor + triple: schema; class property; activity + All Classes automatically have a number of properties by default: *creator* @@ -895,6 +956,9 @@ Date the item was last modified. +.. index:: triple: schema; class property; content + triple: schema; class property; type + FileClass ~~~~~~~~~ @@ -906,6 +970,10 @@ tracker. FileClasses also have a "type" attribute to store the MIME type of the file. +.. index:: triple: schema; class property; messages + triple: schema; class property; files + triple: schema; class property; nosy + triple: schema; class property; superseder IssueClass ~~~~~~~~~~ @@ -929,6 +997,7 @@ on the first and last records in the item's journal). The "creator" property holds a link to the user that created the issue. +.. index: triple: schema; class method; setkey setkey(property) ~~~~~~~~~~~~~~~~ @@ -948,6 +1017,8 @@ Note, the same thing can be done in the web and e-mail interfaces. +.. index: triple: schema; class method; setlabelprop + setlabelprop(property) ~~~~~~~~~~~~~~~~~~~~~~ @@ -969,6 +1040,8 @@ user, looping over items in the class (e.g. messages attached to an issue) will not work. +.. index: triple: schema; class method; setorderprop + setorderprop(property) ~~~~~~~~~~~~~~~~~~~~~~ @@ -985,12 +1058,15 @@ So in most cases you can get away without specifying setorderprop explicitly. +.. index: triple: schema; class method; create + create(information) ~~~~~~~~~~~~~~~~~~~ Create an item in the database. This is generally used to create items in the "definitional" classes like "priority" and "status". +.. index: schema; item ordering A note about ordering ~~~~~~~~~~~~~~~~~~~~~ @@ -1075,6 +1151,11 @@ Detector API ------------ +.. index:: pair: detectors; auditors + single: auditors; function signature + single: auditors; defining + single: auditors; arguments + Auditors are called with the arguments:: audit(db, cl, itemid, newdata) @@ -1092,6 +1173,11 @@ For a ``retire()`` or ``restore()`` operation, newdata is None. +.. index:: pair: detectors; reactor + single: reactors; function signature + single: reactors; defining + single: reactors; arguments + Reactors are called with the arguments:: react(db, cl, itemid, olddata) @@ -1144,6 +1230,9 @@ information, see the detector code - it has a length explanation. +.. index:: auditors; rules for use + single: reactors; rules for use + Auditor or Reactor? ------------------- @@ -1195,6 +1284,9 @@ comes from "the system" and not a user). +.. index:: extensions +.. index:: extensions; add python functions to tracker + Extensions - adding capabilities to your tracker ================================================ .. _extensions: @@ -1267,9 +1359,12 @@ Note that a file name match overrides the mime type settings. + Example: Implement password complexity checking ----------------------------------------------- +.. index:: tracker; lib directory (example) + This example uses the zxcvbn_ module that you can place in the zxcvbn subdirectory of your tracker's lib directory. @@ -4769,6 +4864,9 @@ Changes to Tracker Behaviour ---------------------------- +.. index:: single: auditors; how to register (example) + single: reactors; how to register (example) + Preventing SPAM ~~~~~~~~~~~~~~~ @@ -5294,7 +5392,8 @@ many users this will be a serious performance bottleneck. A way out would be to link from the keywords to the users who selected these keywords as nosy keywords. This will eliminate the - loop over all users. + loop over all users. See the ``rev_multilink`` attribute to make + this easier. Restricting updates that arrive by email ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
