Skip to content

Commit 5a3c2a4

Browse files
committed
more index entries and CHANGES.txt update for them.
1 parent 9b41cf5 commit 5a3c2a4

File tree

5 files changed

+126
-4
lines changed

5 files changed

+126
-4
lines changed

CHANGES.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ Features:
3838
2004. There are some legacy reasons why one would want to not pass a
3939
charset argument or pass an argument different from the default of
4040
'utf8'. (Ralf Schlatterbeck)
41+
- Index created for documentation. Links created for website docs and
42+
released docs. Needs more refinement, but it exists at least.
43+
(John Rouillard)
4144

4245
2020-04-05 2.0.0 beta 0
4346

doc/customizing.txt

Lines changed: 103 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,14 @@ Trackers in a Nutshell
3737

3838
Trackers have the following structure:
3939

40+
.. index::
41+
single: tracker; structure db directory
42+
single: tracker; structure detectors directory
43+
single: tracker; structure extensions directory
44+
single: tracker; structure html directory
45+
single: tracker; structure html directory
46+
single: tracker; structure lib directory
47+
4048
=================== ========================================================
4149
Tracker File Description
4250
=================== ========================================================
@@ -56,6 +64,9 @@ lib/ optional common imports for detectors and extensions
5664
=================== ========================================================
5765

5866

67+
.. index:: config.ini
68+
.. index:: configuration; see config.ini
69+
5970
Tracker Configuration
6071
=====================
6172

@@ -100,7 +111,7 @@ Example configuration settings are below. This is a partial
100111
list. Documentation on all the settings is included in the
101112
``config.ini`` file.
102113

103-
.. index:: configuration; sections main
114+
.. index:: config.ini; sections main
104115

105116
Section **main**
106117
database -- ``db``
@@ -186,6 +197,8 @@ Section **main**
186197
get the error 'Error: field larger than field limit' during
187198
import.
188199

200+
.. index:: config.ini; sections tracker
201+
189202
Section **tracker**
190203
name -- ``Roundup issue tracker``
191204
A descriptive name for your roundup instance.
@@ -205,7 +218,7 @@ Section **tracker**
205218
language is determined by the environment variable LANGUAGE, LC_ALL,
206219
LC_MESSAGES, or LANG, in that order of preference.
207220

208-
.. index:: configuration; sections web
221+
.. index:: config.ini; sections web
209222

210223
Section **web**
211224
allow_html_file -- ``no``
@@ -233,6 +246,9 @@ Section **web**
233246
in the user's browser rather than emailing them to the
234247
tracker admin."),
235248

249+
.. index:: config.ini; sections rdbms
250+
single: config.ini; database settings
251+
236252
Section **rdbms**
237253
Settings in this section are used to set the backend and configure
238254
addition settings needed by RDBMs like SQLite, Postgresql and
@@ -286,6 +302,9 @@ Section **rdbms**
286302
Size of the node cache (in elements) used to keep most recently used
287303
data in memory.
288304

305+
.. index:: config.ini; sections logging
306+
see: logging; config.ini, sections logging
307+
289308
Section **logging**
290309
config -- default *blank*
291310
Path to configuration file for standard Python logging module. If this
@@ -304,6 +323,8 @@ Section **logging**
304323
option is set, this option has no effect.
305324
Allowed values: ``DEBUG``, ``INFO``, ``WARNING``, ``ERROR``
306325

326+
.. index:: config.ini; sections mail
327+
307328
Section **mail**
308329
Outgoing email options. Used for nosy messages, password reset and
309330
registration approval requests.
@@ -369,6 +390,10 @@ Section **mail**
369390
only the name of the actor is added which protects the mail address
370391
of the actor from being exposed at mail archives, etc.
371392

393+
.. index:: config.ini; sections mailgw
394+
single: mailgw; config
395+
see: mail gateway; mailgw
396+
372397
Section **mailgw**
373398
Roundup Mail Gateway options
374399

@@ -449,6 +474,8 @@ Section **mailgw**
449474
parts of the multipart/alternative are ignored. The default
450475
is to keep all parts and attach them to the issue.
451476

477+
.. index:: config.ini; sections php
478+
452479
Section **pgp**
453480
OpenPGP mail processing options
454481

@@ -463,6 +490,9 @@ Section **pgp**
463490
Location of PGP directory. Defaults to $HOME/.gnupg if not
464491
specified.
465492

493+
494+
.. index:: config.ini; sections nosy
495+
466496
Section **nosy**
467497
Nosy messages sending
468498

@@ -515,6 +545,9 @@ Configuration variables may be referred to in lower or upper case. In code,
515545
variables not in the "main" section are referred to using their section and
516546
name, so "domain" in the section "mail" becomes MAIL_DOMAIN.
517547

548+
.. index:: pair: configuration; extensions
549+
pair: configuration; detectors
550+
518551
Extending the configuration file
519552
--------------------------------
520553

@@ -571,6 +604,7 @@ tracker. It’s called exactly once - by the ``roundup-admin initialise``
571604
command. See the start of the section on database content for more
572605
info about how this works.
573606

607+
.. index:: schema; classic - description of
574608

575609
The "classic" schema
576610
--------------------
@@ -606,6 +640,7 @@ specifying (default) labelling and ordering of classes.)::
606640
priority=Link("priority"))
607641
issue.setkey('title')
608642

643+
.. index:: schema; allowed changes
609644

610645
What you can't do to the schema
611646
-------------------------------
@@ -691,6 +726,8 @@ called items. They have a special immutable property called ``'id'``. We
691726
sometimes refer to this as the *itemid*.
692727

693728

729+
.. index:: schema; property types
730+
694731
Properties
695732
~~~~~~~~~~
696733

@@ -726,6 +763,10 @@ A Class is comprised of one or more properties of the following types:
726763
Properties can have additional attributes to change the default
727764
behaviour:
728765

766+
.. index:: triple: schema; property attributes; required
767+
triple: schema; property attributes; default_value
768+
triple: schema; property attributes; quiet
769+
729770
* All properties support the following attributes:
730771

731772
- ``required``: see `design documentation`_. Adds the property to
@@ -747,26 +788,39 @@ behaviour:
747788
number of times an issue was reopened or reassigned etc.) should
748789
not be displayed to the user as they can be confusing.
749790

791+
.. index:: triple: schema; property attributes; indexme
792+
750793
* String properties can have an ``indexme`` attribute that defines if the
751794
property should be part of the full text index. The default is 'no' but this
752795
can be set to 'yes' to allow a property's contents to be in the full
753796
text index.
797+
798+
.. index:: triple: schema; property attributes; use_double
799+
754800
* Number properties can have a ``use_double`` attribute that, when set
755801
to ``True``, will use double precision floating point in the database.
756802
* Link and Multilink properties can have several attributes:
757-
803+
804+
.. index:: triple: schema; property attributes; do_journal
805+
758806
- ``do_journal``: By default, every change of a link property is
759807
recorded in the item being linked to (or being unlinked). A typical
760808
use-case for setting ``do_journal='no'`` would be to turn off
761809
journalling of nosy list, message author and message recipient link
762810
and unlink events to prevent the journal from clogged with these
763811
events.
812+
813+
.. index:: triple: schema; property attributes; try_id_parsing
814+
764815
- ``try_id_parsing`` is turned on by default. If entering a number
765816
into a Link or Multilink field, roundup interprets this number as an
766817
ID of the item to link to. Sometimes items can have numeric names
767818
(like, e.g., product codes). For these roundup needs to match the
768819
numeric name and should never match an ID. In this case you can set
769820
``try_id_parsing='no'``.
821+
822+
.. index:: triple: schema; property attributes; rev_multilink
823+
770824
- The ``rev_multilink`` option takes a property name to be inserted
771825
into the linked-to class. This property is a Multilink property that
772826
links back to the current class. The new Multilink is read-only (it
@@ -820,6 +874,8 @@ behaviour:
820874
This makes it easy to list all issues that the user is responsible
821875
for (aka assigned_to).
822876

877+
.. index:: triple: schema; property attributes; msg_header_property
878+
823879
- The ``msg_header_property`` is used by the mail gateway when sending
824880
out messages. When a link or multilink property of an issue changes,
825881
roundup creates email headers of the form::
@@ -883,6 +939,11 @@ behaviour:
883939
If this property is set to the empty string "", it will prevent
884940
the header from being generated on outgoing mail.
885941

942+
.. index:: triple: schema; class property; creator
943+
triple: schema; class property; creation
944+
triple: schema; class property; actor
945+
triple: schema; class property; activity
946+
886947
All Classes automatically have a number of properties by default:
887948

888949
*creator*
@@ -895,6 +956,9 @@ All Classes automatically have a number of properties by default:
895956
Date the item was last modified.
896957

897958

959+
.. index:: triple: schema; class property; content
960+
triple: schema; class property; type
961+
898962
FileClass
899963
~~~~~~~~~
900964

@@ -906,6 +970,10 @@ stored in the files sub-directory of the ``'db'`` directory in your
906970
tracker. FileClasses also have a "type" attribute to store the MIME
907971
type of the file.
908972

973+
.. index:: triple: schema; class property; messages
974+
triple: schema; class property; files
975+
triple: schema; class property; nosy
976+
triple: schema; class property; superseder
909977

910978
IssueClass
911979
~~~~~~~~~~
@@ -929,6 +997,7 @@ property on the item was last edited (equivalently, these are the dates
929997
on the first and last records in the item's journal). The "creator"
930998
property holds a link to the user that created the issue.
931999

1000+
.. index: triple: schema; class method; setkey
9321001

9331002
setkey(property)
9341003
~~~~~~~~~~~~~~~~
@@ -948,6 +1017,8 @@ or::
9481017

9491018
Note, the same thing can be done in the web and e-mail interfaces.
9501019

1020+
.. index: triple: schema; class method; setlabelprop
1021+
9511022
setlabelprop(property)
9521023
~~~~~~~~~~~~~~~~~~~~~~
9531024

@@ -969,6 +1040,8 @@ the id property for a class. If the property can not be viewed by a
9691040
user, looping over items in the class (e.g. messages attached to an
9701041
issue) will not work.
9711042

1043+
.. index: triple: schema; class method; setorderprop
1044+
9721045
setorderprop(property)
9731046
~~~~~~~~~~~~~~~~~~~~~~
9741047

@@ -985,12 +1058,15 @@ for the order property:
9851058
So in most cases you can get away without specifying setorderprop
9861059
explicitly.
9871060

1061+
.. index: triple: schema; class method; create
1062+
9881063
create(information)
9891064
~~~~~~~~~~~~~~~~~~~
9901065

9911066
Create an item in the database. This is generally used to create items
9921067
in the "definitional" classes like "priority" and "status".
9931068

1069+
.. index: schema; item ordering
9941070

9951071
A note about ordering
9961072
~~~~~~~~~~~~~~~~~~~~~
@@ -1075,6 +1151,11 @@ __ design.html
10751151
Detector API
10761152
------------
10771153

1154+
.. index:: pair: detectors; auditors
1155+
single: auditors; function signature
1156+
single: auditors; defining
1157+
single: auditors; arguments
1158+
10781159
Auditors are called with the arguments::
10791160

10801161
audit(db, cl, itemid, newdata)
@@ -1092,6 +1173,11 @@ properties that are about to be changed.
10921173

10931174
For a ``retire()`` or ``restore()`` operation, newdata is None.
10941175

1176+
.. index:: pair: detectors; reactor
1177+
single: reactors; function signature
1178+
single: reactors; defining
1179+
single: reactors; arguments
1180+
10951181
Reactors are called with the arguments::
10961182

10971183
react(db, cl, itemid, olddata)
@@ -1144,6 +1230,9 @@ to use one, copy it to the ``'detectors'`` of your tracker instance:
11441230
information, see the detector code - it has a length explanation.
11451231

11461232

1233+
.. index:: auditors; rules for use
1234+
single: reactors; rules for use
1235+
11471236
Auditor or Reactor?
11481237
-------------------
11491238

@@ -1195,6 +1284,9 @@ is not required - this is referred to as a "System Message" because it
11951284
comes from "the system" and not a user).
11961285

11971286

1287+
.. index:: extensions
1288+
.. index:: extensions; add python functions to tracker
1289+
11981290
Extensions - adding capabilities to your tracker
11991291
================================================
12001292
.. _extensions:
@@ -1267,9 +1359,12 @@ path in the tracker's `config.ini`. In the example above:
12671359

12681360
Note that a file name match overrides the mime type settings.
12691361

1362+
12701363
Example: Implement password complexity checking
12711364
-----------------------------------------------
12721365

1366+
.. index:: tracker; lib directory (example)
1367+
12731368
This example uses the zxcvbn_ module that you can place in the zxcvbn
12741369
subdirectory of your tracker's lib directory.
12751370

@@ -4769,6 +4864,9 @@ So you could reimplement this as something like::
47694864
Changes to Tracker Behaviour
47704865
----------------------------
47714866

4867+
.. index:: single: auditors; how to register (example)
4868+
single: reactors; how to register (example)
4869+
47724870
Preventing SPAM
47734871
~~~~~~~~~~~~~~~
47744872

@@ -5294,7 +5392,8 @@ Scalability
52945392
many users this will be a serious performance bottleneck.
52955393
A way out would be to link from the keywords to the users who
52965394
selected these keywords as nosy keywords. This will eliminate the
5297-
loop over all users.
5395+
loop over all users. See the ``rev_multilink`` attribute to make
5396+
this easier.
52985397

52995398
Restricting updates that arrive by email
53005399
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

doc/design.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -911,6 +911,11 @@ addition of a convenience function like Choice for setting up the
911911
return hyperdb.Link(name)
912912

913913

914+
.. index:: schema; detectors design
915+
single: detectors; design of
916+
single: pair: detectors; auditors
917+
single: pair: detectors; reactors
918+
914919
Detector Interface
915920
------------------
916921

@@ -936,6 +941,13 @@ carry out the operation. After it's done, it then calls all of the
936941
*reactors* that have been registered for the operation.
937942

938943

944+
.. index:: detectors; interface specification
945+
single: detectors; register
946+
single: auditors; class registration method
947+
single: reactors; class registration method
948+
pair: class methods; audit
949+
pair: class methods; react
950+
939951
Detector Interface Specification
940952
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
941953

0 commit comments

Comments
 (0)