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
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Roundup Issue Tracker: http://roundup-tracker.org/