annotate doc/customizing.txt @ 1096:fa7df238e2d4

More cleaning up of configuration, and the "instance" -> "tracker" renaming.
author Richard Jones <richard@users.sourceforge.net>
date Tue, 10 Sep 2002 03:01:20 +0000
parents d870139aeb5c
children c5819344714c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
688
b38f4f95bffd More doc tweaks
Richard Jones <richard@users.sourceforge.net>
parents: 686
diff changeset
1 ===================
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 Customising Roundup
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 ===================
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4
1096
fa7df238e2d4 More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents: 1091
diff changeset
5 :Version: $Revision: 1.25 $
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
6
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
7 .. This document borrows from the ZopeBook section on ZPT. The original is at:
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
8 http://www.zope.org/Documentation/Books/ZopeBook/current/ZPT.stx
686
c52122f38c9b Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
9
c52122f38c9b Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
10 .. contents::
c52122f38c9b Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
11
c52122f38c9b Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
12
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
13 What You Can Do
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
14 ---------------
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
15
935
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
16 Customisation of Roundup can take one of five forms:
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
17
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
18 1. `tracker configuration`_ file changes
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
19 2. database, or `tracker schema`_ changes
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
20 3. "definition" class `database content`_ changes
909
ef9c759c243e Fix to hasPermission, thanks Stefan Seefeld.
Richard Jones <richard@users.sourceforge.net>
parents: 907
diff changeset
21 4. behavioural changes, through detectors_
935
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
22 5. `access controls`_
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
23
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
24 The third case is special because it takes two distinctly different forms
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
25 depending upon whether the tracker has been initialised or not. The other two
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
26 may be done at any time, before or after tracker initialisation. Yes, this
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
27 includes adding or removing properties from classes.
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
28
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
29
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
30 Trackers in a Nutshell
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
31 ----------------------
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
32
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
33 Trackers have the following structure:
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
34
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
35 +-------------------+--------------------------------------------------------+
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
36 |config.py |Holds the basic `tracker configuration`_ |
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
37 +-------------------+--------------------------------------------------------+
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
38 |dbinit.py |Holds the `tracker schema`_ |
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39 +-------------------+--------------------------------------------------------+
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
40 |interfaces.py |Defines the Web and E-Mail interfaces for the tracker |
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
41 +-------------------+--------------------------------------------------------+
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
42 |select_db.py |Selects the database back-end for the tracker |
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43 +-------------------+--------------------------------------------------------+
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
44 |db/ |Holds the tracker's database |
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45 +-------------------+--------------------------------------------------------+
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
46 |db/files/ |Holds the tracker's upload files and messages |
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
47 +-------------------+--------------------------------------------------------+
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
48 |detectors/ |Auditors and reactors for this tracker |
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
49 +-------------------+--------------------------------------------------------+
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
50 |html/ |Web interface templates, images and style sheets |
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
51 +-------------------+--------------------------------------------------------+
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
52
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
53 Tracker Configuration
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
54 ---------------------
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
55
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
56 The config.py located in your tracker home contains the basic
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
57 configuration for the web and e-mail components of roundup's interfaces. This
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
58 file is a Python module. The configuration variables available are:
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
59
1096
fa7df238e2d4 More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents: 1091
diff changeset
60 **TRACKER_HOME** - ``os.path.split(__file__)[0]``
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
61 The tracker home directory. The above default code will automatically
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
62 determine the tracker home for you.
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
63
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
64 **MAILHOST** - ``'localhost'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
65 The SMTP mail host that roundup will use to send e-mail.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
66
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
67 **MAIL_DOMAIN** - ``'your.tracker.email.domain.example'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
68 The domain name used for email addresses.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
69
1096
fa7df238e2d4 More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents: 1091
diff changeset
70 **DATABASE** - ``os.path.join(TRACKER_HOME, 'db')``
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
71 This is the directory that the database is going to be stored in. By default
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
72 it is in the tracker home.
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
73
1096
fa7df238e2d4 More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents: 1091
diff changeset
74 **TEMPLATES** - ``os.path.join(TRACKER_HOME, 'html')``
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
75 This is the directory that the HTML templates reside in. By default they are
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
76 in the tracker home.
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
77
1096
fa7df238e2d4 More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents: 1091
diff changeset
78 **TRACKER_NAME** - ``'Roundup issue tracker'``
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
79 A descriptive name for your roundup tracker. This is sent out in e-mails and
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
80 appears in the heading of CGI pages.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
81
1096
fa7df238e2d4 More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents: 1091
diff changeset
82 **TRACKER_EMAIL** - ``'issue_tracker@%s'%MAIL_DOMAIN``
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
83 The email address that e-mail sent to roundup should go to. Think of it as the
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
84 tracker's personal e-mail address.
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
85
1096
fa7df238e2d4 More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents: 1091
diff changeset
86 **TRACKER_WEB** - ``'http://your.tracker.url.example/'``
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
87 The web address that the tracker is viewable at. This will be included in
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
88 information sent to users of the tracker.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
89
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
90 **ADMIN_EMAIL** - ``'roundup-admin@%s'%MAIL_DOMAIN``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
91 The email address that roundup will complain to if it runs into trouble.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
92
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
93 **MESSAGES_TO_AUTHOR** - ``'yes'`` or``'no'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
94 Send nosy messages to the author of the message.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
95
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
96 **ADD_AUTHOR_TO_NOSY** - ``'new'``, ``'yes'`` or ``'no'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
97 Does the author of a message get placed on the nosy list automatically?
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
98 If ``'new'`` is used, then the author will only be added when a message
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
99 creates a new issue. If ``'yes'``, then the author will be added on followups
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
100 too. If ``'no'``, they're never added to the nosy.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
101
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
102 **ADD_RECIPIENTS_TO_NOSY** - ``'new'``, ``'yes'`` or ``'no'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
103 Do the recipients (To:, Cc:) of a message get placed on the nosy list?
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
104 If ``'new'`` is used, then the recipients will only be added when a message
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
105 creates a new issue. If ``'yes'``, then the recipients will be added on
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
106 followups too. If ``'no'``, they're never added to the nosy.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
107
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
108 **EMAIL_SIGNATURE_POSITION** - ``'top'``, ``'bottom'`` or ``'none'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
109 Where to place the email signature in messages that Roundup generates.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
110
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
111 **EMAIL_KEEP_QUOTED_TEXT** - ``'yes'`` or ``'no'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
112 Keep email citations. Citations are the part of e-mail which the sender has
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
113 quoted in their reply to previous e-mail.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
114
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
115 **EMAIL_LEAVE_BODY_UNCHANGED** - ``'no'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
116 Preserve the email body as is. Enabiling this will cause the entire message
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
117 body to be stored, including all citations and signatures. It should be
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
118 either ``'yes'`` or ``'no'``.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
119
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
120 **MAIL_DEFAULT_CLASS** - ``'issue'`` or ``''``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
121 Default class to use in the mailgw if one isn't supplied in email
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
122 subjects. To disable, comment out the variable below or leave it blank.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
123
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
124 The default config.py is given below - as you
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
125 can see, the MAIL_DOMAIN must be edited before any interaction with the
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
126 tracker is attempted.::
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
127
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
128 # roundup home is this package's directory
1096
fa7df238e2d4 More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents: 1091
diff changeset
129 TRACKER_HOME=os.path.split(__file__)[0]
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
130
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
131 # The SMTP mail host that roundup will use to send mail
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
132 MAILHOST = 'localhost'
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
133
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
134 # The domain name used for email addresses.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
135 MAIL_DOMAIN = 'your.tracker.email.domain.example'
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
136
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
137 # This is the directory that the database is going to be stored in
1096
fa7df238e2d4 More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents: 1091
diff changeset
138 DATABASE = os.path.join(TRACKER_HOME, 'db')
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
139
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
140 # This is the directory that the HTML templates reside in
1096
fa7df238e2d4 More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents: 1091
diff changeset
141 TEMPLATES = os.path.join(TRACKER_HOME, 'html')
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
142
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
143 # A descriptive name for your roundup tracker
1096
fa7df238e2d4 More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents: 1091
diff changeset
144 TRACKER_NAME = 'Roundup issue tracker'
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
145
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
146 # The email address that mail to roundup should go to
1096
fa7df238e2d4 More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents: 1091
diff changeset
147 TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
148
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
149 # The web address that the tracker is viewable at
1096
fa7df238e2d4 More cleaning up of configuration, and the "instance" -> "tracker" renaming.
Richard Jones <richard@users.sourceforge.net>
parents: 1091
diff changeset
150 TRACKER_WEB = 'http://your.tracker.url.example/'
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
151
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
152 # The email address that roundup will complain to if it runs into trouble
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
153 ADMIN_EMAIL = 'roundup-admin@%s'%MAIL_DOMAIN
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
154
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
155 # Send nosy messages to the author of the message
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
156 MESSAGES_TO_AUTHOR = 'no' # either 'yes' or 'no'
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
157
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
158 # Does the author of a message get placed on the nosy list automatically?
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
159 # If 'new' is used, then the author will only be added when a message
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
160 # creates a new issue. If 'yes', then the author will be added on followups
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
161 # too. If 'no', they're never added to the nosy.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
162 ADD_AUTHOR_TO_NOSY = 'new' # one of 'yes', 'no', 'new'
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
163
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
164 # Do the recipients (To:, Cc:) of a message get placed on the nosy list?
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
165 # If 'new' is used, then the recipients will only be added when a message
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
166 # creates a new issue. If 'yes', then the recipients will be added on followups
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
167 # too. If 'no', they're never added to the nosy.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
168 ADD_RECIPIENTS_TO_NOSY = 'new' # either 'yes', 'no', 'new'
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
169
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
170 # Where to place the email signature
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
171 EMAIL_SIGNATURE_POSITION = 'bottom' # one of 'top', 'bottom', 'none'
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
172
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
173 # Keep email citations
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
174 EMAIL_KEEP_QUOTED_TEXT = 'no' # either 'yes' or 'no'
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
175
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
176 # Preserve the email body as is
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
177 EMAIL_LEAVE_BODY_UNCHANGED = 'no' # either 'yes' or 'no'
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
178
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
179 # Default class to use in the mailgw if one isn't supplied in email
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
180 # subjects. To disable, comment out the variable below or leave it blank.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
181 # Examples:
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
182 MAIL_DEFAULT_CLASS = 'issue' # use "issue" class by default
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
183 #MAIL_DEFAULT_CLASS = '' # disable (or just comment the var out)
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
184
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
185 Tracker Schema
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
186 --------------
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
187
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
188 Note: if you modify the schema, you'll most likely need to edit the
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
189 `web interface`_ HTML template files and `detectors`_ to reflect
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
190 your changes.
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
191
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
192 A tracker schema defines what data is stored in the tracker's database.
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
193 The
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
194 schemas shipped with Roundup turn it into a typical software bug tracker or
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
195 help desk.
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
196
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
197 XXX make sure we ship the help desk
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
198
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
199 Schemas are defined using Python code in the ``dbinit.py`` module of your
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
200 tracker. The "classic" schema looks like this::
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
201
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
202 pri = Class(db, "priority", name=String(), order=String())
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
203 pri.setkey("name")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
204 pri.create(name="critical", order="1")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
205 pri.create(name="urgent", order="2")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
206 pri.create(name="bug", order="3")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
207 pri.create(name="feature", order="4")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
208 pri.create(name="wish", order="5")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
209
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
210 stat = Class(db, "status", name=String(), order=String())
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
211 stat.setkey("name")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
212 stat.create(name="unread", order="1")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
213 stat.create(name="deferred", order="2")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
214 stat.create(name="chatting", order="3")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
215 stat.create(name="need-eg", order="4")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
216 stat.create(name="in-progress", order="5")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
217 stat.create(name="testing", order="6")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
218 stat.create(name="done-cbb", order="7")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
219 stat.create(name="resolved", order="8")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
220
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
221 keyword = Class(db, "keyword", name=String())
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
222 keyword.setkey("name")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
223
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
224 user = Class(db, "user", username=String(), password=String(),
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
225 address=String(), realname=String(), phone=String(),
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
226 organisation=String())
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
227 user.setkey("username")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
228 user.create(username="admin", password=adminpw,
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
229 address=config.ADMIN_EMAIL)
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
230
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
231 msg = FileClass(db, "msg", author=Link("user"), recipients=Multilink
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
232 ("user"), date=Date(), summary=String(), files=Multilink("file"))
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
233
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
234 file = FileClass(db, "file", name=String(), type=String())
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
235
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
236 issue = IssueClass(db, "issue", assignedto=Link("user"),
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
237 topic=Multilink("keyword"), priority=Link("priority"), status=Link
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
238 ("status"))
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
239 issue.setkey('title')
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
240
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
241 XXX security definitions
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
242
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
243 Classes and Properties - creating a new information store
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
244 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
245
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
246 In the tracker above, we've defined 7 classes of information:
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
247
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
248 priority
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
249 Defines the possible levels of urgency for issues.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
250
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
251 status
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
252 Defines the possible states of processing the issue may be in.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
253
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
254 keyword
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
255 Initially empty, will hold keywords useful for searching issues.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
256
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
257 user
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
258 Initially holding the "admin" user, will eventually have an entry for all
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
259 users using roundup.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
260
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
261 msg
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
262 Initially empty, will all e-mail messages sent to or generated by
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
263 roundup.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
264
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
265 file
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
266 Initially empty, will all files attached to issues.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
267
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
268 issue
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
269 Initially empty, this is where the issue information is stored.
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
270
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
271 We define the "priority" and "status" classes to allow two things: reduction in
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
272 the amount of information stored on the issue and more powerful, accurate
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
273 searching of issues by priority and status. By only requiring a link on the
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
274 issue (which is stored as a single number) we reduce the chance that someone
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
275 mis-types a priority or status - or simply makes a new one up.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
276
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
277 Class and Items
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
278 :::::::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
279
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
280 A Class defines a particular class (or type) of data that will be stored in the
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
281 database. A class comprises one or more properties, which given the information
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
282 about the class items.
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
283 The actual data entered into the database, using class.create() are called
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
284 items. They have a special immutable property called id. We sometimes refer to
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
285 this as the itemid.
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
286
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
287 Properties
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
288 ::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
289
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
290 A Class is comprised of one or more properties of the following types:
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
291
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
292 * String properties are for storing arbitrary-length strings.
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
293 * Password properties are for storing encoded arbitrary-length strings. The
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
294 default encoding is defined on the roundup.password.Password class.
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
295 * Date properties store date-and-time stamps. Their values are Timestamp
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
296 objects.
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
297 * Number properties store numeric values.
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
298 * Boolean properties store on/off, yes/no, true/false values.
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
299 * A Link property refers to a single other item selected from a specified
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
300 class. The class is part of the property; the value is an integer, the id
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
301 of the chosen item.
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
302 * A Multilink property refers to possibly many items in a specified class.
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
303 The value is a list of integers.
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
304
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
305 FileClass
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
306 :::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
307
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
308 FileClasses save their "content" attribute off in a separate file from the rest
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
309 of the database. This reduces the number of large entries in the database,
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
310 which generally makes databases more efficient, and also allows us to use
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
311 command-line tools to operate on the files. They are stored in the files sub-
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
312 directory of the db directory in your tracker.
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
313
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
314 IssueClass
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
315 ::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
316
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
317 IssueClasses automatically include the "messages", "files", "nosy", and
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
318 "superseder" properties.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
319 The messages and files properties list the links to the messages and files
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
320 related to the issue. The nosy property is a list of links to users who wish to
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
321 be informed of changes to the issue - they get "CC'ed" e-mails when messages
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
322 are sent to or generated by the issue. The nosy reactor (in the detectors
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
323 directory) handles this action. The superceder link indicates an issue which
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
324 has superceded this one.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
325 They also have the dynamically generated "creation", "activity" and "creator"
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
326 properties.
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
327 The value of the "creation" property is the date when an item was created, and
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
328 the value of the "activity" property is the date when any property on the item
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
329 was last edited (equivalently, these are the dates on the first and last
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
330 records in the item's journal). The "creator" property holds a link to the user
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
331 that created the issue.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
332
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
333 setkey(property)
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
334 ::::::::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
335
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
336 Select a String property of the class to be the key property. The key property
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
337 muse be unique, and allows references to the items in the class by the content
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
338 of the key property. That is, we can refer to users by their username, e.g.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
339 let's say that there's an issue in roundup, issue 23. There's also a user,
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
340 richard who happens to be user 2. To assign an issue to him, we could do either
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
341 of::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
342
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
343 roundup-admin set issue assignedto=2
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
344
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
345 or::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
346
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
347 roundup-admin set issue assignedto=richard
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
348
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
349 Note, the same thing can be done in the web and e-mail interfaces.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
350
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
351 create(information)
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
352 :::::::::::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
353
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
354 Create an item in the database. This is generally used to create items in the
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
355 "definitional" classes like "priority" and "status".
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
356
684
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
357
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
358 Examples of adding to your schema
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
359 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
360
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
361 TODO
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
362
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
363
684
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
364 Detectors - adding behaviour to your tracker
907
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
365 --------------------------------------------
909
ef9c759c243e Fix to hasPermission, thanks Stefan Seefeld.
Richard Jones <richard@users.sourceforge.net>
parents: 907
diff changeset
366 .. _detectors:
684
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
367
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
368 The detectors in your tracker fire before (*auditors*) and after (*reactors*)
907
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
369 changes to the contents of your database. They are Python modules that sit in
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
370 your tracker's ``detectors`` directory. You will have some installed by
907
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
371 default - have a look. You can write new detectors or modify the existing
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
372 ones. The existing detectors installed for you are:
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
373
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
374 **nosyreaction.py**
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
375 This provides the automatic nosy list maintenance and email sending. The nosy
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
376 reactor (``nosyreaction``) fires when new messages are added to issues.
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
377 The nosy auditor (``updatenosy``) fires when issues are changed and figures
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
378 what changes need to be made to the nosy list (like adding new authors etc)
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
379 **statusauditor.py**
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
380 This provides the ``chatty`` auditor which changes the issue status from
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
381 ``unread`` or ``closed`` to ``chatting`` if new messages appear. It also
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
382 provides the ``presetunread`` auditor which pre-sets the status to
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
383 ``unread`` on new items if the status isn't explicitly defined.
907
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
384
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
385 See the detectors section in the `design document`__ for details of the
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
386 interface for detectors.
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
387
909
ef9c759c243e Fix to hasPermission, thanks Stefan Seefeld.
Richard Jones <richard@users.sourceforge.net>
parents: 907
diff changeset
388 __ design.html
907
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
389
684
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
390 Sample additional detectors that have been found useful will appear in the
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
391 ``detectors`` directory of the Roundup distribution:
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
392
907
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
393 **newissuecopy.py**
684
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
394 This detector sends an email to a team address whenever a new issue is
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
395 created. The address is hard-coded into the detector, so edit it before you
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
396 use it (look for the text 'team@team.host') or you'll get email errors!
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
397
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
398 XXX give the example here.
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
399
684
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
400
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
401 Database Content
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
402 ----------------
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
403
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
404 Note: if you modify the content of definitional classes, you'll most likely
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
405 need to edit the tracker `detectors`_ to reflect your changes.
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
406
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
407 Customisation of the special "definitional" classes (eg. status, priority,
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
408 resolution, ...) may be done either before or after the tracker is
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
409 initialised. The actual method of doing so is completely different in each
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
410 case though, so be careful to use the right one.
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
411
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
412 **Changing content before tracker initialisation**
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
413 Edit the dbinit module in your tracker to alter the items created in using
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
414 the create() methods.
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
415
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
416
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
417 **Changing content after tracker initialisation**
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
418 Use the roundup-admin interface's create, set and retire methods to add,
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
419 alter or remove items from the classes in question.
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
420
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
421 XXX example
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
422
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
423
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
424 Web Interface
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
425 -------------
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
426
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
427 The web is provided by the roundup.cgi.client module and is used by
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
428 roundup.cgi, roundup-server and ZRoundup.
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
429 In all cases, we determine which tracker is being accessed
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
430 (the first part of the URL path inside the scope of the CGI handler) and pass
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
431 control on to the tracker interfaces.Client class - which uses the Client class
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
432 from roundup.cgi.client - which handles the rest of
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
433 the access through its main() method. This means that you can do pretty much
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
434 anything you want as a web interface to your tracker.
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
435
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
436 Repurcussions of changing the tracker schema
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
437 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
438
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
439 If you choose to change the `tracker schema`_ you will need to ensure the web
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
440 interface knows about it:
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
441
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
442 1. Index, item and search pages for the relevant classes may need to have
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
443 properties added or removed,
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
444 2. The "page" template may require links to be changed, as might the "home"
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
445 page's content arguments.
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
446
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
447 How requests are processed
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
448 ~~~~~~~~~~~~~~~~~~~~~~~~~~
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
449
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
450 The basic processing of a web request proceeds as follows:
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
451
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
452 1. figure out who we are, defaulting to the "anonymous" user
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
453 2. figure out what the request is for - we call this the "context"
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
454 3. handle any requested action (item edit, search, ...)
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
455 4. render a template, resulting in HTML output
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
456
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
457 In some situations, exceptions occur:
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
458
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
459 - HTTP Redirect (generally raised by an action)
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
460 - SendFile (generally raised by determine_context)
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
461 here we serve up a FileClass "content" property
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
462 - SendStaticFile (generally raised by determine_context)
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
463 here we serve up a file from the tracker "html" directory
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
464 - Unauthorised (generally raised by an action)
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
465 here the action is cancelled, the request is rendered and an error
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
466 message is displayed indicating that permission was not
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
467 granted for the action to take place
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
468 - NotFound (raised wherever it needs to be)
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
469 this exception percolates up to the CGI interface that called the client
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
470
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
471 Determining web context
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
472 ~~~~~~~~~~~~~~~~~~~~~~~
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
473
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
474 To determine the "context" of a request, we look at the URL and the special
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
475 request variable ``:template``. The URL path after the tracker identifier
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
476 is examined. Typical URL paths look like:
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
477
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
478 1. ``/tracker/issue``
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
479 2. ``/tracker/issue1``
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
480 3. ``/tracker/_file/style.css``
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
481 4. ``/cgi-bin/roundup.cgi/tracker/file1``
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
482 5. ``/cgi-bin/roundup.cgi/tracker/file1/kitten.png``
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
483
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
484 where the "tracker identifier" is "tracker" in the above cases. That means
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
485 we're looking at "issue", "issue1", "_file/style.css", "file1" and
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
486 "file1/kitten.png" in the cases above. The path is generally only one
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
487 entry long - longer paths are handled differently.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
488
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
489 a. if there is no path, then we are in the "home" context.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
490 b. if the path starts with "_file" (as in example 3,
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
491 "/tracker/_file/style.css"), then the additional path entry,
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
492 "style.css" specifies the filename of a static file we're to serve up
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
493 from the tracker "html" directory. Raises a SendStaticFile
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
494 exception.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
495 c. if there is something in the path (as in example 1, "issue"), it identifies
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
496 the tracker class we're to display.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
497 d. if the path is an item designator (as in examples 2 and 4, "issue1" and
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
498 "file1"), then we're to display a specific item.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
499 e. if the path starts with an item designator and is longer than
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
500 one entry (as in example 5, "file1/kitten.png"), then we're assumed
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
501 to be handling an item of a
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
502 FileClass, and the extra path information gives the filename
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
503 that the client is going to label the download with (ie
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
504 "file1/kitten.png" is nicer to download than "file1"). This
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
505 raises a SendFile exception.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
506
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
507 Both b. and e. stop before we bother to
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
508 determine the template we're going to use. That's because they
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
509 don't actually use templates.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
510
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
511 The template used is specified by the ``:template`` CGI variable,
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
512 which defaults to:
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
513
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
514 - only classname suplied: "index"
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
515 - full item designator supplied: "item"
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
516
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
517
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
518 Performing actions in web requests
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
519 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
520
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
521 When a user requests a web page, they may optionally also request for an
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
522 action to take place. As described in `how requests are processed`_, the
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
523 action is performed before the requested page is generated. Actions are
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
524 triggered by using a ``:action`` CGI variable, where the value is one of:
1058
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
525
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
526 login
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
527 Attempt to log a user in.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
528 logout
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
529 Log the user out - make them "anonymous".
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
530 register
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
531 Attempt to create a new user based on the contents of the form and then log
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
532 them in.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
533 edit
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
534 Perform an edit of an item in the database. There are some special form
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
535 elements you may use:
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
536
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
537 :link=designator:property and :multilink=designator:property
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
538 The value specifies an item designator and the property on that
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
539 item to add _this_ item to as a link or multilink.
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
540 :note
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
541 Create a message and attach it to the current item's
1058
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
542 "messages" property.
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
543 :file
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
544 Create a file and attach it to the current item's
1058
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
545 "files" property. Attach the file to the message created from
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
546 the :note if it's supplied.
1058
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
547 :required=property,property,...
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
548 The named properties are required to be filled in the form.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
549
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
550 new
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
551 Add a new item to the database. You may use the same special form elements
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
552 as in the "edit" action.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
553
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
554 editCSV
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
555 Performs an edit of all of a class' items in one go. See also the
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
556 *class*.csv templating method which generates the CSV data to be edited, and
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
557 the "_generic.index" template which uses both of these features.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
558
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
559 search
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
560 Mangle some of the form variables.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
561
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
562 Set the form ":filter" variable based on the values of the
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
563 filter variables - if they're set to anything other than
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
564 "dontcare" then add them to :filter.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
565
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
566 Also handle the ":queryname" variable and save off the query to
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
567 the user's query list.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
568
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
569 Each of the actions is implemented by a corresponding *actionAction* (where
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
570 "action" is the name of the action) method on
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
571 the roundup.cgi.Client class, which also happens to be in your tracker as
1058
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
572 interfaces.Client. So if you need to define new actions, you may add them
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
573 there (see `definining new web actions`_).
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
574
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
575 Each action also has a corresponding *actionPermission* (where
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
576 "action" is the name of the action) method which determines
1058
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
577 whether the action is permissible given the current user. The base permission
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
578 checks are:
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
579
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
580 login
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
581 Determine whether the user has permission to log in.
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
582 Base behaviour is to check the user has "Web Access".
1058
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
583 logout
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
584 No permission checks are made.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
585 register
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
586 Determine whether the user has permission to register
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
587 Base behaviour is to check the user has "Web Registration".
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
588 edit
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
589 Determine whether the user has permission to edit this item.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
590 Base behaviour is to check the user can edit this class. If we're
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
591 editing the "user" class, users are allowed to edit their own
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
592 details. Unless it's the "roles" property, which requires the
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
593 special Permission "Web Roles".
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
594 new
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
595 Determine whether the user has permission to create (edit) this item.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
596 Base behaviour is to check the user can edit this class. No
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
597 additional property checks are made. Additionally, new user items
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
598 may be created if the user has the "Web Registration" Permission.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
599 editCSV
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
600 Determine whether the user has permission to edit this class.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
601 Base behaviour is to check the user can edit this class.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
602 search
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
603 Determine whether the user has permission to search this class.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
604 Base behaviour is to check the user can view this class.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
605
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
606
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
607 Default templates
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
608 ~~~~~~~~~~~~~~~~~
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
609
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
610 Most customisation of the web view can be done by modifying the templates in
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
611 the tracker **html** directory. There are several types of files in there:
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
612
1091
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
613 page
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
614 defines the overall look of your tracker. When you
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
615 view an issue, it appears inside this template. When you view an index, it
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
616 also appears inside this template.
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
617 home
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
618 the default page displayed when no other page is indicated by the user
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
619 home.classlist
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
620 a special version of the default page that lists the classes in the tracker
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
621 *classname*.item
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
622 displays an item of the *classname* class
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
623 *classname*.index
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
624 displays a list of *classname* items
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
625 *classname*.search
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
626 displays a search page for *classname* items
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
627 _generic.index
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
628 used to display a list of items where there is no *classname*.index available
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
629 _generic.help
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
630 used to display a "class help" page where there is no *classname*.help
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
631 user.register
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
632 a special page just for the user class that renders the registration page
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
633 style.css
d870139aeb5c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1089
diff changeset
634 a static file that is served up as-is
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
635
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
636 Overall Look - "page" template
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
637 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
899
4f082e1242f7 more info
Richard Jones <richard@users.sourceforge.net>
parents: 898
diff changeset
638
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
639 XXX
899
4f082e1242f7 more info
Richard Jones <richard@users.sourceforge.net>
parents: 898
diff changeset
640
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
641 How the templates work
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
642 ~~~~~~~~~~~~~~~~~~~~~~
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
643
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
644 Roundup's templates consist of special attributes on your template tags. These
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
645 attributes form the Template Attribute Language, or TAL. The commands are:
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
646
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
647
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
648 tal:define="variable expression; variable expression; ..."
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
649 Define a new variable that is local to this tag and its contents. For
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
650 example::
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
651
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
652 <html tal:define="title request/description">
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
653 <head><title tal:content="title"></title></head>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
654 </html>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
655
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
656 In the example, the variable "title" is defined as being the result of the
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
657 expression "request/description". The tal:content command inside the <html>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
658 tag may then use the "title" variable.
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
659
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
660 tal:condition="expression"
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
661 Only keep this tag and its contents if the expression is true. For example::
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
662
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
663 <p tal:condition="python:request.user.hasPermission('View', 'issue')">
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
664 Display some issue information.
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
665 </p>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
666
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
667 In the example, the <p> tag and its contents are only displayed if the
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
668 user has the View permission for issues. We consider the number zero, a
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
669 blank string, an empty list, and the built-in variable nothing to be false
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
670 values. Nearly every other value is true, including non-zero numbers, and
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
671 strings with anything in them (even spaces!).
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
672
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
673 tal:repeat="variable expression"
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
674 Repeat this tag and its contents for each element of the sequence that the
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
675 expression returns, defining a new local variable and a special "repeat"
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
676 variable for each element. For example::
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
677
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
678 <tr tal:repeat="u user/list">
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
679 <td tal:content="u/id"></td>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
680 <td tal:content="u/username"></td>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
681 <td tal:content="u/realname"></td>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
682 </tr>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
683
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
684 The example would iterate over the sequence of users returned by
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
685 "user/list" and define the local variable "u" for each entry.
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
686
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
687 tal:replace="expression"
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
688 Replace this tag with the result of the expression. For example::
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
689
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
690 <span tal:replace="request/user/realname"></span>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
691
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
692 The example would replace the <span> tag and its contents with the user's
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
693 realname. If the user's realname was "Bruce" then the resultant output
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
694 would be "Bruce".
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
695
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
696 tal:content="expression"
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
697 Replace the contents of this tag with the result of the expression. For
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
698 example::
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
699
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
700 <span tal:content="request/user/realname">user's name appears here</span>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
701
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
702 The example would replace the contents of the <span> tag with the user's
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
703 realname. If the user's realname was "Bruce" then the resultant output
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
704 would be "<span>Bruce</span>".
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
705
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
706 tal:attributes="attribute expression; attribute expression; ..."
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
707 Set attributes on this tag to the results of expressions. For example::
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
708
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
709 <a tal:attributes="href string:user${request/user/id}">My Details</a>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
710
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
711 In the example, the "href" attribute of the <a> tag is set to the value of
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
712 the "string:user${request/user/id}" expression, which will be something
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
713 like "user123".
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
714
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
715 tal:omit-tag="expression"
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
716 Remove this tag (but not its contents) if the expression is true. For
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
717 example::
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
718
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
719 <span tal:omit-tag="python:1">Hello, world!</span>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
720
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
721 would result in output of::
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
722
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
723 Hello, world!
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
724
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
725 Note that the commands on a given tag are evaulated in the order above, so
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
726 *define* comes before *condition*, and so on.
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
727
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
728 Additionally, a tag is defined, tal:block, which is removed from output. Its
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
729 content is not, but the tag itself is (so don't go using any tal:attributes
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
730 commands on it). This is useful for making arbitrary blocks of HTML
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
731 conditional or repeatable (very handy for repeating multiple table rows,
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
732 which would othewise require an illegal tag placement to effect the repeat).
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
733
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
734 The expressions you may use in the attibute values may be one of the following
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
735 three forms:
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
736
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
737 Path Expressions - eg. ``item/status/checklist``
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
738 These are object attribute / item accesses. Roughly speaking, the path
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
739 ``item/status/checklist`` is broken into parts ``item``, ``status``
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
740 and ``checklist``. The ``item`` part is the root of the expression.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
741 We then look for a ``status`` attribute on ``item``, or failing that, a
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
742 ``status`` item (as in ``item['status']``). If that
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
743 fails, the path expression fails. When we get to the end, the object we're
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
744 left with is evaluated to get a string - methods are called, objects are
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
745 stringified. Path expressions may have an optional ``path:`` prefix, though
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
746 they are the default expression type, so it's not necessary.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
747
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
748 XXX | components of expressions
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
749
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
750 XXX "nothing" and "default"
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
751
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
752 String Expressions - eg. ``string:hello ${user/name}``
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
753 These expressions are simple string interpolations (though they can be just
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
754 plain strings with no interpolation if you want. The expression in the
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
755 ``${ ... }`` is just a path expression as above.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
756
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
757 Python Expressions - eg. ``python: 1+1``
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
758 These expressions give the full power of Python. All the "root level"
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
759 variables are available, so ``python:item.status.checklist()`` would be
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
760 equivalent to ``item/status/checklist``, assuming that ``checklist`` is
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
761 a method.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
762
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
763 Information available to templates
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
764 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
765
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
766 The following variables are available to templates.
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
767
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
768 .. taken from roundup.cgi.templating.RoundupPageTemplate docstring
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
769
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
770 *context*
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
771 The current context. This is either None, a wrapper around a
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
772 hyperdb class (an HTMLClass) or a wrapper around a hyperdb item (an
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
773 HTMLItem).
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
774 *request*
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
775 Includes information about the current request, including:
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
776 - the url
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
777 - the current index information (``filterspec``, ``filter`` args,
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
778 ``properties``, etc) parsed out of the form.
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
779 - methods for easy filterspec link generation
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
780 - *user*, the current user item as an HTMLItem instance
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
781 - *form*
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
782 The current CGI form information as a mapping of form argument
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
783 name to value
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
784 *tracker*
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
785 The current tracker
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
786 *db*
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
787 The current database, through which db.config may be reached.
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
788 *nothing*
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
789 XXX a special variable
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
790 *default*
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
791 XXX a special variable
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
792
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
793 The context variable
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
794 ::::::::::::::::::::
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
795
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
796 The *context* variable is one of three things based on the current context
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
797 (see `determining web context`_ for how we figure this out):
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
798
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
799 1. if we're looking at a "home" page, then it's None
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
800 2. if we're looking at a specific hyperdb class, it's an HTMLClass instance
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
801 3. if we're looking at a specific hyperdb item, it's an HTMLItem instance
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
802
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
803 If the context is not None, we can access the properties of the class or item.
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
804 The only real difference between cases 2 and 3 above are:
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
805
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
806 1. the properties may have a real value behind them, and this will appear if
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
807 the property is displayed through ``context/property`` or
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
808 ``context/property/field``.
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
809 2. the context's "id" property will be a false value in the second case, but
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
810 a real, or true value in the third. Thus we can determine whether we're
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
811 looking at a real item from the hyperdb by testing "context/id".
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
812
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
813
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
814 The request variable
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
815 ::::::::::::::::::::
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
816
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
817 The request variable is packed with information about the current request.
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
818
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
819 .. taken from roundup.cgi.templating.HTMLRequest docstring
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
820
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
821 =========== ================================================================
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
822 Variable Holds
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
823 =========== ================================================================
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
824 form the CGI form as a cgi.FieldStorage
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
825 env the CGI environment variables
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
826 url the current URL path for this request
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
827 base the base URL for this tracker
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
828 user a HTMLUser instance for this user
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
829 classname the current classname (possibly None)
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
830 template the current template (suffix, also possibly None)
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
831 form the current CGI form variables in a FieldStorage
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
832 =========== ================================================================
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
833
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
834 **Index page specific variables (indexing arguments)**
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
835
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
836 =========== ================================================================
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
837 Variable Holds
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
838 =========== ================================================================
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
839 columns dictionary of the columns to display in an index page
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
840 show a convenience access to columns - request/show/colname will
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
841 be true if the columns should be displayed, false otherwise
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
842 sort index sort column (direction, column name)
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
843 group index grouping property (direction, column name)
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
844 filter properties to filter the index on
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
845 filterspec values to filter the index on
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
846 search_text text to perform a full-text search on for an index
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
847 =========== ================================================================
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
848
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
849
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
850 Displaying Properties
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
851 ~~~~~~~~~~~~~~~~~~~~~
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
852
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
853 Properties appear in the user interface in three contexts: in indices, in
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
854 editors, and as search arguments.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
855 For each type of property, there are several display possibilities.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
856 For example, in an index view, a string property may just be
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
857 printed as a plain string, but in an editor view, that property may be
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
858 displayed in an editable field.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
859
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
860
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
861 Index Views
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
862 ~~~~~~~~~~~
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
863
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
864 This is one of the class context views. It is also the default view for
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
865 classes. The template used is "*classname*.index".
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
866
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
867 Index View Specifiers
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
868 :::::::::::::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
869
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
870 An index view specifier (URL fragment) looks like this (whitespace has been
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
871 added for clarity)::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
872
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
873 /issue?status=unread,in-progress,resolved&
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
874 topic=security,ui&
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
875 :group=+priority&
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
876 :sort=-activity&
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
877 :filters=status,topic&
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
878 :columns=title,status,fixer
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
879
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
880 The index view is determined by two parts of the specifier: the layout part and
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
881 the filter part. The layout part consists of the query parameters that begin
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
882 with colons, and it determines the way that the properties of selected items
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
883 are displayed. The filter part consists of all the other query parameters, and
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
884 it determines the criteria by which items are selected for display.
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
885 The filter part is interactively manipulated with the form widgets displayed in
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
886 the filter section. The layout part is interactively manipulated by clicking on
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
887 the column headings in the table.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
888
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
889 The filter part selects the union of the sets of items with values matching any
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
890 specified Link properties and the intersection of the sets of items with values
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
891 matching any specified Multilink properties.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
892
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
893 The example specifies an index of "issue" items. Only items with a "status" of
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
894 either "unread" or "in-progres" or "resolved" are displayed, and only items
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
895 with "topic" values including both "security" and "ui" are displayed. The items
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
896 are grouped by priority, arranged in ascending order; and within groups, sorted
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
897 by activity, arranged in descending order. The filter section shows filters for
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
898 the "status" and "topic" properties, and the table includes columns for the
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
899 "title", "status", and "fixer" properties.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
900
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
901 Filtering of indexes
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
902 ::::::::::::::::::::
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
903
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
904 TODO
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
905
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
906 Searching Views
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
907 ~~~~~~~~~~~~~~~
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
908
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
909 This is one of the class context views. The template used is typically
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
910 "*classname*.search".
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
911
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
912 TODO
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
913
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
914 Item Views
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
915 ~~~~~~~~~~
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
916
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
917 The basic view of a hyperdb item is provided by the "*classname*.item"
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
918 template. It generally has three sections; an "editor", a "spool" and a
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
919 "history" section.
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
920
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
921
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
922
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
923 Editor Section
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
924 ::::::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
925
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
926 The editor section is used to manipulate the item - it may be a
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
927 static display if the user doesn't have permission to edit the item.
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
928
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
929 Here's an example of a basic editor template (this is the default "classic"
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
930 template issue item edit form - from the "issue.item" template)::
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
931
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
932 <table class="form">
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
933 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
934 <th nowrap>Title</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
935 <td colspan=3 tal:content="structure python:context.title.field(size=60)">title</td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
936 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
937
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
938 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
939 <th nowrap>Priority</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
940 <td tal:content="structure context/priority/menu">priority</td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
941 <th nowrap>Status</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
942 <td tal:content="structure context/status/menu">status</td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
943 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
944
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
945 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
946 <th nowrap>Superseder</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
947 <td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
948 <span tal:replace="structure python:context.superseder.field(showid=1, size=20)" />
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
949 <span tal:replace="structure python:db.issue.classhelp('id,title', label='list', width=500)" />
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
950 <span tal:condition="context/superseder">
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
951 <br>View: <span tal:replace="structure python:context.superseder.link(showid=1)" />
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
952 </span>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
953 </td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
954 <th nowrap>Nosy List</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
955 <td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
956 <span tal:replace="structure context/nosy/field" />
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
957 <span tal:replace="structure python:db.user.classhelp('username,realname,address,phone', label='list', width=500)" />
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
958 </td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
959 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
960
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
961 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
962 <th nowrap>Assigned To</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
963 <td tal:content="structure context/assignedto/menu">
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
964 assignedto menu
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
965 </td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
966 <td>&nbsp;</td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
967 <td>&nbsp;</td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
968 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
969
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
970 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
971 <th nowrap>Change Note</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
972 <td colspan=3>
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
973 <textarea name=":note" wrap="hard" rows="5" cols="60"></textarea>
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
974 </td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
975 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
976
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
977 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
978 <th nowrap>File</th>
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
979 <td colspan=3><input type="file" name=":file" size="40"></td>
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
980 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
981
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
982 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
983 <td>&nbsp;</td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
984 <td colspan=3 tal:content="structure context/submit">
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
985 submit button will go here
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
986 </td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
987 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
988 </table>
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
989
673
604c84696461 link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents: 659
diff changeset
990
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
991 When a change is submitted, the system automatically generates a message
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
992 describing the changed properties. As shown in the example, the editor
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
993 template can use the ":note" and ":file" fields, which are added to the
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
994 standard change note message generated by Roundup.
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
995
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
996 Spool Section
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
997 :::::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
998
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
999 The spool section lists related information like the messages and files of
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1000 an issue.
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1001
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1002 TODO
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1003
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1004
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1005 History Section
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1006 :::::::::::::::
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1007
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1008 The final section displayed is the history of the item - its database journal.
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1009 This is generally generated with the template::
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1010
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1011 <tal:block tal:replace="structure context/history" />
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1012
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1013 *To be done:*
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1014
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
1015 *The actual history entries of the item may be accessed for manual templating
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1016 through the "journal" method of the item*::
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1017
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1018 <tal:block tal:repeat="entry context/journal">
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1019 a journal entry
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1020 </tal:block>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1021
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1022 *where each journal entry is an HTMLJournalEntry.*
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1023
910
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1024
935
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1025 Access Controls
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1026 ---------------
910
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1027
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1028 A set of Permissions are built in to the security module by default:
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1029
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1030 - Edit (everything)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1031 - View (everything)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1032
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1033 The default interfaces define:
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1034
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1035 - Web Registration
935
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1036 - Web Access
1003
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1037 - Web Roles
910
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1038 - Email Registration
935
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1039 - Email Access
910
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1040
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1041 These are hooked into the default Roles:
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1042
1003
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1043 - Admin (Edit everything, View everything, Web Roles)
935
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1044 - User (Web Access, Email Access)
910
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1045 - Anonymous (Web Registration, Email Registration)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1046
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1047 And finally, the "admin" user gets the "Admin" Role, and the "anonymous" user
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1048 gets the "Anonymous" assigned when the database is initialised on installation.
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1049 The two default schemas then define:
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1050
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1051 - Edit issue, View issue (both)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1052 - Edit file, View file (both)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1053 - Edit msg, View msg (both)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1054 - Edit support, View support (extended only)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1055
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1056 and assign those Permissions to the "User" Role. New users are assigned the
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1057 Roles defined in the config file as:
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1058
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1059 - NEW_WEB_USER_ROLES
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1060 - NEW_EMAIL_USER_ROLES
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1061
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1062 You may alter the configuration variables to change the Role that new web or
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1063 email users get, for example to not give them access to the web interface if
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1064 they register through email.
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1065
935
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1066 You may use the ``roundup-admin`` "``security``" command to display the
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
1067 current Role and Permission configuration in your tracker.
935
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1068
1003
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1069 Adding a new Permission
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1070 ~~~~~~~~~~~~~~~~~~~~~~~
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1071
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1072 When adding a new Permission, you will need to:
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1073
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
1074 1. add it to your tracker's dbinit so it is created
1003
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1075 2. enable it for the Roles that should have it (verify with
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1076 "``roundup-admin security``")
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1077 3. add it to the relevant HTML interface templates
1089
43ab730ee194 instance -> tracker, node -> item
Richard Jones <richard@users.sourceforge.net>
parents: 1083
diff changeset
1078 4. add it to the appropriate xxxPermission methods on in your tracker
1003
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1079 interfaces module
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1080
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1081
910
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1082
686
c52122f38c9b Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
1083 -----------------
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1084
686
c52122f38c9b Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
1085 Back to `Table of Contents`_
c52122f38c9b Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
1086
c52122f38c9b Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
1087 .. _`Table of Contents`: index.html
c52122f38c9b Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
1088

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