annotate doc/customizing.txt @ 1083:40fc5f8cd55c

more doc
author Richard Jones <richard@users.sourceforge.net>
date Mon, 09 Sep 2002 07:55:24 +0000
parents 954ad22eb7d9
children 43ab730ee194
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
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
5 :Version: $Revision: 1.22 $
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
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
18 1. `instance configuration`_ file changes
909
ef9c759c243e Fix to hasPermission, thanks Stefan Seefeld.
Richard Jones <richard@users.sourceforge.net>
parents: 907
diff changeset
19 2. database, or `instance 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
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
25 depending upon whether the instance has been initialised or not. The other two
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
26 may be done at any time, before or after instance initialisation. Yes, this
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
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
30 Instances in a Nutshell
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
31 -----------------------
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
32
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33 Instances have the following structure:
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 +-------------------+--------------------------------------------------------+
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
36 |instance_config.py |Holds the basic instance_configuration |
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
37 +-------------------+--------------------------------------------------------+
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38 |dbinit.py |Holds the instance_schema |
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39 +-------------------+--------------------------------------------------------+
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
40 |interfaces.py |Defines the Web and E-Mail interfaces for the instance |
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
41 +-------------------+--------------------------------------------------------+
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
42 |select_db.py |Selects the database back-end for the instance |
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43 +-------------------+--------------------------------------------------------+
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
44 |db/ |Holds the instance's database |
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45 +-------------------+--------------------------------------------------------+
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
46 |db/files/ |Holds the instance's upload files and messages |
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
47 +-------------------+--------------------------------------------------------+
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
48 |detectors/ |Auditors and reactors for this instance |
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
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
53 Instance Configuration
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
54 ----------------------
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
55
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
56 The instance_config.py located in your instance home contains the basic
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
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
60 **INSTANCE_HOME** - ``os.path.split(__file__)[0]``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
61 The instance home directory. The above default code will automatically
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
62 determine the instance home for you.
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
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
70 **DATABASE** - ``os.path.join(INSTANCE_HOME, 'db')``
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
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
72 it is in the instance home.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
73
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
74 **TEMPLATES** - ``os.path.join(INSTANCE_HOME, 'html')``
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
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
76 in the instance home.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
77
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
78 **INSTANCE_NAME** - ``'Roundup issue tracker'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
79 A descriptive name for your roundup instance. This is sent out in e-mails and
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
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
82 **ISSUE_TRACKER_EMAIL** - ``'issue_tracker@%s'%MAIL_DOMAIN``
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
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
84 instance's personal e-mail address.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
85
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
86 **ISSUE_TRACKER_WEB** - ``'http://your.tracker.url.example/'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
87 The web address that the instance is viewable at. This will be included in
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 **FILTER_POSITION** - ``'top'``, ``'bottom'`` or ``'top and bottom'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
94 Where to place the web filtering HTML on the index page.
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 **ANONYMOUS_ACCESS** - ``'deny'`` or ``'allow'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
97 Deny or allow anonymous access to the web interface.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
98
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
99 **ANONYMOUS_REGISTER** - ``'deny'`` or ``'allow'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
100 Deny or allow anonymous users to register through the web interface.
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 **ANONYMOUS_REGISTER_MAIL** - ``'deny'`` or ``'allow'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
103 Deny or allow anonymous users to register through the mail interface.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
104
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
105 **MESSAGES_TO_AUTHOR** - ``'yes'`` or``'no'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
106 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
107
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
108 **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
109 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
110 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
111 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
112 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
113
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
114 **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
115 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
116 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
117 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
118 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
119
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
120 **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
121 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
122
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
123 **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
124 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
125 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
126
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
127 **EMAIL_LEAVE_BODY_UNCHANGED** - ``'no'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
128 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
129 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
130 either ``'yes'`` or ``'no'``.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
131
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
132 **MAIL_DEFAULT_CLASS** - ``'issue'`` or ``''``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
133 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
134 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
135
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
136 **HEADER_INDEX_LINKS** - ``['DEFAULT', 'UNASSIGNED', 'USER']``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
137 Define what index links are available in the header, and what their
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
138 labels are. Each key is used to look up one of the index specifications
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
139 below - so ``'DEFAULT'`` will use ``'DEFAULT_INDEX'``.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
140
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
141 Example ``DEFAULT_INDEX``::
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
142
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
143 {
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
144 'LABEL': 'All Issues',
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
145 'CLASS': 'issue',
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
146 'SORT': ['-activity'],
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
147 'GROUP': ['priority'],
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
148 'FILTER': ['status'],
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
149 'COLUMNS': ['id','activity','title','creator','assignedto'],
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
150 'FILTERSPEC': {
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
151 'status': ['-1', '1', '2', '3', '4', '5', '6', '7'],
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
152 },
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
153 }
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 This defines one of the index links that appears in the
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
156 ``HEADER_INDEX_LINKS`` list.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
157
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
158 **LABEL** - ``'All Issues'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
159 The text that appears as the link label.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
160 **CLASS** - ``'issue'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
161 The class to display the index for.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
162 **SORT** - ``['-activity']``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
163 Sort by prop name, optionally preceeded with '-' to give descending or
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
164 nothing for ascending sorting.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
165 **GROUP** - ``['priority']``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
166 Group by prop name, optionally preceeded with '-' or to sort in descending
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
167 or nothing for ascending order.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
168 **FILTER** - ``['status']``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
169 Selects which props should be displayed in the filter section.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
170 Default is all.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
171 **COLUMNS** - ``['id','activity','title','creator','assignedto']``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
172 Selects the columns that should be displayed. Default is all.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
173 **FILTERSPEC** - *a dictionary giving the filter specification*
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
174 The ``FILTERSPEC`` gives the filtering arguments. This selects the values
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
175 the node properties given by propname must have.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
176
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
177 Where the ``FILTERSPEC`` value is ``'CURRENT USER'``, it will be replaced
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
178 by the id of the logged-in user. For example::
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
179
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
180 'FILTERSPEC': {
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
181 'status': ['-1', '1', '2', '3', '4', '5', '6', '7'],
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
182 'assignedto': 'CURRENT USER',
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
183 },
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
184
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
185 **HEADER_ADD_LINKS** - ``['issue']``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
186 List the classes that users are able to add nodes to.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
187
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
188 **HEADER_SEARCH_LINKS** - ``['issue']``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
189 List the classes that users can search.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
190
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
191 **SEARCH_FILTERS** - ``['ISSUE_FILTER', 'SUPPORT_FILTER']``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
192 List search filters per class. Like the INDEX entries above, each key is
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
193 used to look up one of the filter specifications below - so ``'ISSUE'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
194 will use ``'ISSUE_FILTER'``.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
195
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
196 Example ``ISSUE_FILTER``::
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
197
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
198 ISSUE_FILTER = {
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
199 'CLASS': 'issue',
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
200 'FILTER': ['status', 'priority', 'assignedto', 'creator']
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
201 }
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
202
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
203 **CLASS** - ``'issue'``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
204 The class that the search page is for.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
205 **FILTER** - ``['status', 'priority', 'assignedto', 'creator']``
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
206 Selects which props should be displayed on the filter page. Default is
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
207 all.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
208
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
209 The default instance_config.py is given below - as you
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
210 can see, the MAIL_DOMAIN must be edited before any interaction with the
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
211 instance is attempted.::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
212
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
213 # roundup home is this package's directory
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
214 INSTANCE_HOME=os.path.split(__file__)[0]
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
215
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
216 # 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
217 MAILHOST = 'localhost'
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
218
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
219 # 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
220 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
221
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
222 # the next two are only used for the standalone HTTP server.
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
223 HTTP_HOST = ''
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
224 HTTP_PORT = 9080
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
225
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
226 # This is the directory that the database is going to be stored in
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
227 DATABASE = os.path.join(INSTANCE_HOME, 'db')
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
228
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
229 # This is the directory that the HTML templates reside in
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
230 TEMPLATES = os.path.join(INSTANCE_HOME, 'html')
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
231
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
232 # A descriptive name for your roundup instance
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
233 INSTANCE_NAME = 'Roundup issue tracker'
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
234
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
235 # The email address that mail to roundup should go to
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
236 ISSUE_TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
237
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
238 # The web address that the instance is viewable at
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
239 ISSUE_TRACKER_WEB = 'http://your.tracker.url.example/'
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
240
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
241 # 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
242 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
243
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
244 # Somewhere for roundup to log stuff internally sent to stdout or stderr
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
245 LOG = os.path.join(INSTANCE_HOME, 'roundup.log')
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
246
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
247 # Where to place the web filtering HTML on the index page
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
248 FILTER_POSITION = 'bottom' # one of 'top', 'bottom', 'top and bottom'
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
249
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
250 # Deny or allow anonymous access to the web interface
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
251 ANONYMOUS_ACCESS = 'deny' # either 'deny' or 'allow'
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
252
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
253 # Deny or allow anonymous users to register through the web interface
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
254 ANONYMOUS_REGISTER = 'deny' # either 'deny' or 'allow'
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
255
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
256 # Deny or allow anonymous users to register through the mail interface
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
257 ANONYMOUS_REGISTER_MAIL = 'deny' # either 'deny' or 'allow'
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
258
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
259 # 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
260 MESSAGES_TO_AUTHOR = 'no' # either 'yes' or 'no'
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
261
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
262 # 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
263 # 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
264 # 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
265 # 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
266 ADD_AUTHOR_TO_NOSY = 'new' # one of 'yes', 'no', 'new'
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
267
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
268 # 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
269 # 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
270 # 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
271 # 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
272 ADD_RECIPIENTS_TO_NOSY = 'new' # either 'yes', 'no', 'new'
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
273
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
274 # Where to place the email signature
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
275 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
276
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
277 # Keep email citations
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
278 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
279
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
280 # Preserve the email body as is
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
281 EMAIL_LEAVE_BODY_UNCHANGED = 'no' # either 'yes' or 'no'
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
282
794
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
283 # 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
284 # 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
285 # Examples:
8c6df3f14020 Added better explanation of the instance configuration.
Richard Jones <richard@users.sourceforge.net>
parents: 724
diff changeset
286 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
287 #MAIL_DEFAULT_CLASS = '' # disable (or just comment the var out)
659
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 Instance Schema
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
290 ---------------
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
291
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
292 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
293 `web interface`_ HTML template files and `detectors`_ to reflect
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
294 your changes.
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
295
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
296 An instance schema defines what data is stored in the instance's database. The
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
297 two schemas shipped with Roundup turn it into a typical software bug tracker
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
298 (the extended schema allowing for support issues as well as bugs). Schemas are
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
299 defined using Python code. The "classic" schema looks like this::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
300
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
301 pri = Class(db, "priority", name=String(), order=String())
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
302 pri.setkey("name")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
303 pri.create(name="critical", order="1")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
304 pri.create(name="urgent", order="2")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
305 pri.create(name="bug", order="3")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
306 pri.create(name="feature", order="4")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
307 pri.create(name="wish", order="5")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
308
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
309 stat = Class(db, "status", name=String(), order=String())
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
310 stat.setkey("name")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
311 stat.create(name="unread", order="1")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
312 stat.create(name="deferred", order="2")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
313 stat.create(name="chatting", order="3")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
314 stat.create(name="need-eg", order="4")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
315 stat.create(name="in-progress", order="5")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
316 stat.create(name="testing", order="6")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
317 stat.create(name="done-cbb", order="7")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
318 stat.create(name="resolved", order="8")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
319
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
320 keyword = Class(db, "keyword", name=String())
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
321 keyword.setkey("name")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
322
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
323 user = Class(db, "user", username=String(), password=String(),
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
324 address=String(), realname=String(), phone=String(),
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
325 organisation=String())
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
326 user.setkey("username")
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
327 user.create(username="admin", password=adminpw,
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
328 address=instance_config.ADMIN_EMAIL)
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
329
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
330 msg = FileClass(db, "msg", author=Link("user"), recipients=Multilink
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
331 ("user"), date=Date(), summary=String(), files=Multilink("file"))
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 file = FileClass(db, "file", name=String(), type=String())
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 issue = IssueClass(db, "issue", assignedto=Link("user"),
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
336 topic=Multilink("keyword"), priority=Link("priority"), status=Link
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
337 ("status"))
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
338 issue.setkey('title')
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
339
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
340 XXX security definitions
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
341
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
342 Classes and Properties - creating a new information store
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
343 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 In the instance above, we've defined 7 classes of information:
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 priority
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
348 Defines the possible levels of urgency for issues.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
349
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
350 status
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
351 Defines the possible states of processing the issue may be in.
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 keyword
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
354 Initially empty, will hold keywords useful for searching issues.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
355
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
356 user
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
357 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
358 users using roundup.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
359
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
360 msg
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
361 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
362 roundup.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
363
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
364 file
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
365 Initially empty, will all files attached to issues.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
366
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
367 issue
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
368 Initially emtyp, this is where the issue information is stored.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
369
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
370 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
371 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
372 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
373 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
374 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
375
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
376 Class and Nodes
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
377 :::::::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
378
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
379 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
380 database. A class comprises one or more properties, which given the information
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
381 about the class nodes.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
382 The actual data entered into the database, using class.create() are called
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
383 nodes. They have a special immutable property called id. We sometimes refer to
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
384 this as the nodeid.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
385
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
386 Properties
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
387 ::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
388
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
389 A Class is comprised of one or more properties of the following types:
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
390 * String properties are for storing arbitrary-length strings.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
391 * Password properties are for storing encoded arbitrary-length strings. The
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
392 default encoding is defined on the roundup.password.Password class.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
393 * Date properties store date-and-time stamps. Their values are Timestamp
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
394 objects.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
395 * A Link property refers to a single other node selected from a specified
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
396 class. The class is part of the property; the value is an integer, the id
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
397 of the chosen node.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
398 * A Multilink property refers to possibly many nodes in a specified class.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
399 The value is a list of integers.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
400
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
401 FileClass
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
402 :::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
403
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
404 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
405 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
406 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
407 command-line tools to operate on the files. They are stored in the files sub-
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
408 directory of the db directory in your instance.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
409
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
410 IssueClass
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
411 ::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
412
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
413 IssueClasses automatically include the "messages", "files", "nosy", and
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
414 "superseder" properties.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
415 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
416 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
417 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
418 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
419 directory) handles this action. The superceder link indicates an issue which
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
420 has superceded this one.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
421 They also have the dynamically generated "creation", "activity" and "creator"
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
422 properties.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
423 The value of the "creation" property is the date when a node was created, and
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
424 the value of the "activity" property is the date when any property on the node
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
425 was last edited (equivalently, these are the dates on the first and last
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
426 records in the node's journal). The "creator" property holds a link to the user
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
427 that created the issue.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
428
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
429 setkey(property)
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
430 ::::::::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
431
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
432 Select a String property of the class to be the key property. The key property
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
433 muse be unique, and allows references to the nodes in the class by the content
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
434 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
435 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
436 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
437 of::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
438
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
439 roundup-admin set issue assignedto=2
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
440
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
441 or::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
442
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
443 roundup-admin set issue assignedto=richard
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
444
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
445 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
446
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
447 create(information)
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
448 :::::::::::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
449
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
450 Create a node in the database. This is generally used to create nodes in the
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
451 "definitional" classes like "priority" and "status".
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
452
684
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
453
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
454 Examples of adding to your schema
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
455 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 TODO
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
458
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
459
684
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
460 Detectors - adding behaviour to your tracker
907
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
461 --------------------------------------------
909
ef9c759c243e Fix to hasPermission, thanks Stefan Seefeld.
Richard Jones <richard@users.sourceforge.net>
parents: 907
diff changeset
462 .. _detectors:
684
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
463
907
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
464 The detectors in your instance fire before (*auditors*) and after (*reactors*)
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
465 changes to the contents of your database. They are Python modules that sit in
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
466 your instance's ``detectors`` directory. You will have some installed by
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
467 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
468 ones. The existing detectors installed for you are:
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
469
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
470 **nosyreaction.py**
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
471 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
472 reactor (``nosyreaction``) fires when new messages are added to issues.
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
473 The nosy auditor (``updatenosy``) fires when issues are changed and figures
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
474 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
475 **statusauditor.py**
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
476 This provides the ``chatty`` auditor which changes the issue status from
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
477 ``unread`` or ``closed`` to ``chatting`` if new messages appear. It also
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
478 provides the ``presetunread`` auditor which pre-sets the status to
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
479 ``unread`` on new nodes if the status isn't explicitly defined.
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
480
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
481 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
482 interface for detectors.
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
483
909
ef9c759c243e Fix to hasPermission, thanks Stefan Seefeld.
Richard Jones <richard@users.sourceforge.net>
parents: 907
diff changeset
484 __ design.html
907
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
485
684
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
486 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
487 ``detectors`` directory of the Roundup distribution:
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
488
907
38a74d1351c5 documentation updates
Richard Jones <richard@users.sourceforge.net>
parents: 899
diff changeset
489 **newissuecopy.py**
684
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
490 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
491 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
492 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
493
5b23ff865f3a added a "detectors" directory...
Richard Jones <richard@users.sourceforge.net>
parents: 673
diff changeset
494
898
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
495 Database Content
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
496 ----------------
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
497
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
498 Note: if you modify the content of definitional classes, you'll most likely
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
499 need to edit the instance `detectors`_ to reflect your changes.
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
500
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
501 Customisation of the special "definitional" classes (eg. status, priority,
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
502 resolution, ...) may be done either before or after the instance is
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
503 initialised. The actual method of doing so is completely different in each
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
504 case though, so be careful to use the right one.
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
505
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
506 **Changing content before instance initialisation**
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
507 Edit the dbinit module in your instance to alter the nodes created in using
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
508 the create() methods.
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
509
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
510
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
511 **Changing content after instance initialisation**
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
512 Use the roundup-admin interface's create, set and retire methods to add,
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
513 alter or remove nodes from the classes in question.
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
514
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
515
5ffac75a7f2e clarification
Richard Jones <richard@users.sourceforge.net>
parents: 798
diff changeset
516
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
517 Web Interface
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
518 -------------
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
519
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
520 The web interface works behind the cgi-bin/roundup.cgi or roundup-server
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
521 scripts. In both cases, the scripts determine which instance is being accessed
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
522 (the first part of the URL path inside the scope of the CGI handler) and pass
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
523 control on to the instance interfaces.Client class which handles the rest of
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
524 the access through its main() method. This means that you can do pretty much
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
525 anything you want as a web interface to your instance.
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
526
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
527 Figuring out what is displayed
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
528 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
529
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
530 Most customisation of the web view can be done by modifying the templates in
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
531 the instance **html** directory. There are several types of files in there:
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
532
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
533 page
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
534 defines the overall look of your tracker. When you
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
535 view an issue, it appears inside this template. When you view an index, it
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
536 also appears inside this template.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
537 home
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
538 the default page displayed when no other page is indicated by the user
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
539 home.classlist
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
540 a special version of the default page that lists the classes in the tracker
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
541 *classname*.item
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
542 displays an item of the *classname* class
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
543 *classname*.index
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
544 displays a list of *classname* items
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
545 *classname*.search
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
546 displays a search page for *classname* items
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
547 _generic.index
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
548 used to display a list of items where there is no *classname*.index available
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
549 _generic.help
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
550 used to display a "class help" page where there is no *classname*.help
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
551 user.register
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
552 a special page just for the user class that renders the registration page
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
553 style.css
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
554 a static file that is served up as-is
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
555
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
556 How requests are processed
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
557 ~~~~~~~~~~~~~~~~~~~~~~~~~~
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
558
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
559 The basic processing of a web request proceeds as follows:
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
560
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
561 1. figure out who we are, defaulting to the "anonymous" user
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
562 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
563 3. handle any requested action (item edit, search, ...)
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
564 4. render a template, resulting in HTML output
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
565
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
566 In some situations, exceptions occur:
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
567
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
568 - HTTP Redirect (generally raised by an action)
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
569 - SendFile (generally raised by determine_context)
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
570 here we serve up a FileClass "content" property
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
571 - SendStaticFile (generally raised by determine_context)
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
572 here we serve up a file from the tracker "html" directory
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
573 - Unauthorised (generally raised by an action)
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
574 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
575 message is displayed indicating that permission was not
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
576 granted for the action to take place
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
577 - NotFound (raised wherever it needs to be)
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
578 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
579
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
580 Determining web context
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
581 ~~~~~~~~~~~~~~~~~~~~~~~
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
582
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
583 To determine the "context" of a request, we look at the URL and the special
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
584 request variable ``:template``. The URL path after the instance identifier
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
585 is examined. Typical URL paths look like:
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
586
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
587 1. ``/tracker/issue``
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
588 2. ``/tracker/issue1``
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
589 3. ``/tracker/_file/style.css``
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
590 4. ``/cgi-bin/roundup.cgi/tracker/file1``
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
591 5. ``/cgi-bin/roundup.cgi/tracker/file1/kitten.png``
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
592
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
593 where the "instance identifier" is "tracker" in the above cases. That means
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
594 we're looking at "issue", "issue1", "_file/style.css", "file1" and
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
595 "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
596 entry long - longer paths are handled differently.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
597
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
598 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
599 b. if the path starts with "_file" (as in example 3,
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
600 "/tracker/_file/style.css"), then the additional path entry,
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
601 "style.css" specifies the filename of a static file we're to serve up
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
602 from the instance "html" directory. Raises a SendStaticFile
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
603 exception.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
604 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
605 the tracker class we're to display.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
606 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
607 "file1"), then we're to display a specific item.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
608 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
609 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
610 to be handling an item of a
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
611 FileClass, and the extra path information gives the filename
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
612 that the client is going to label the download with (ie
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
613 "file1/kitten.png" is nicer to download than "file1"). This
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
614 raises a SendFile exception.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
615
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
616 Both b. and e. stop before we bother to
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
617 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
618 don't actually use templates.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
619
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
620 The template used is specified by the ``:template`` CGI variable,
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
621 which defaults to:
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
622
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
623 - only classname suplied: "index"
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
624 - full item designator supplied: "item"
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
625
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
626
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
627 Performing actions in web requests
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
628 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
629
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
630 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
631 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
632 action is performed before the requested page is generated. Actions are
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
633 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
634
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
635 login
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
636 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
637 logout
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
638 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
639 register
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
640 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
641 them in.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
642 edit
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
643 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
644 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
645
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
646 :link=designator:property and :multilink=designator:property
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
647 The value specifies a node designator and the property on that
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
648 node to add _this_ node to as a link or multilink.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
649 __note
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
650 Create a message and attach it to the current node's
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
651 "messages" property.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
652 __file
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
653 Create a file and attach it to the current node's
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
654 "files" property. Attach the file to the message created from
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
655 the __note if it's supplied.
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
656 :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
657 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
658
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
659 new
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
660 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
661 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
662
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
663 editCSV
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
664 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
665 *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
666 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
667
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
668 search
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
669 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
670
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
671 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
672 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
673 "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
674
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
675 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
676 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
677
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
678 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
679 "action" is the name of the action) method on
1058
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
680 the roundup.cgi.Client class, which also happens to be in your instance as
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
681 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
682 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
683
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
684 Each action also has a corresponding *actionPermission* (where
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
685 "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
686 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
687 checks are:
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
688
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
689 login
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
690 Determine whether the user has permission to log in.
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
691 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
692 logout
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
693 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
694 register
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
695 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
696 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
697 edit
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
698 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
699 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
700 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
701 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
702 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
703 new
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
704 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
705 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
706 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
707 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
708 editCSV
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
709 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
710 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
711 search
a55ef5a98fd3 more docco... and we need to check for web access Permission!
Richard Jones <richard@users.sourceforge.net>
parents: 1057
diff changeset
712 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
713 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
714
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
715
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
716 Repurcussions of changing the instance schema
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
717 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
718
899
4f082e1242f7 more info
Richard Jones <richard@users.sourceforge.net>
parents: 898
diff changeset
719 If you choose to change the `instance schema`_ you will need to ensure the web
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
720 interface knows about it:
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
721
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
722 1. Index, item and search pages for the relevant classes may need to have
798
faf164ab8ed9 Docco changes.
Richard Jones <richard@users.sourceforge.net>
parents: 794
diff changeset
723 properties added or removed,
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
724 2. The "page" template may require links to be changed, as might the "home"
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
725 page's content arguments.
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
726
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
727 Overall Look - "page" template
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
728 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
899
4f082e1242f7 more info
Richard Jones <richard@users.sourceforge.net>
parents: 898
diff changeset
729
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
730 The "page" template in your instances
899
4f082e1242f7 more info
Richard Jones <richard@users.sourceforge.net>
parents: 898
diff changeset
731 roundup.cgi_client.Class. This class is mixed-in to your instance through the
4f082e1242f7 more info
Richard Jones <richard@users.sourceforge.net>
parents: 898
diff changeset
732 instance's interfaces module. This means you can override the header and
4f082e1242f7 more info
Richard Jones <richard@users.sourceforge.net>
parents: 898
diff changeset
733 footer with your own code. This allows you to use a sidebar navigation scheme,
4f082e1242f7 more info
Richard Jones <richard@users.sourceforge.net>
parents: 898
diff changeset
734 for example.
4f082e1242f7 more info
Richard Jones <richard@users.sourceforge.net>
parents: 898
diff changeset
735
4f082e1242f7 more info
Richard Jones <richard@users.sourceforge.net>
parents: 898
diff changeset
736
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
737 How the templates work
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
738 ~~~~~~~~~~~~~~~~~~~~~~
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
739
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
740 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
741 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
742
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
743
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
744 tal:define="variable expression; variable expression; ..."
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
745 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
746 example::
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
747
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
748 <html tal:define="title request/description">
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
749 <head><title tal:content="title"></title></head>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
750 </html>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
751
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
752 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
753 expression "request/description". The tal:content command inside the <html>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
754 tag may then use the "title" variable.
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
755
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
756 tal:condition="expression"
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
757 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
758
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
759 <p tal:condition="python:request.user.hasPermission('View', 'issue')">
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
760 Display some issue information.
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
761 </p>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
762
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
763 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
764 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
765 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
766 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
767 strings with anything in them (even spaces!).
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
768
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
769 tal:repeat="variable expression"
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
770 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
771 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
772 variable for each element. For example::
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
773
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
774 <tr tal:repeat="u user/list">
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
775 <td tal:content="u/id"></td>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
776 <td tal:content="u/username"></td>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
777 <td tal:content="u/realname"></td>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
778 </tr>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
779
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
780 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
781 "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
782
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
783 tal:replace="expression"
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
784 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
785
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
786 <span tal:replace="request/user/realname"></span>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
787
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
788 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
789 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
790 would be "Bruce".
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
791
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
792 tal:content="expression"
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
793 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
794 example::
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
795
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
796 <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
797
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
798 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
799 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
800 would be "<span>Bruce</span>".
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
801
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
802 tal:attributes="attribute expression; attribute expression; ..."
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
803 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
804
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
805 <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
806
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
807 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
808 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
809 like "user123".
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
810
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
811 tal:omit-tag="expression"
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
812 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
813 example::
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
814
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
815 <span tal:omit-tag="python:1">Hello, world!</span>
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
816
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
817 would result in output of::
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
818
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
819 Hello, world!
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
820
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
821 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
822 *define* comes before *condition*, and so on.
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
823
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
824 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
825 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
826 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
827 conditional or repeatable (very handy for repeating multiple table rows,
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
828 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
829
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
830 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
831 three forms:
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
832
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
833 Path Expressions - eg. ``item/status/checklist``
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
834 These are object attribute / item accesses. Roughly speaking, the path
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
835 ``item/status/checklist`` is broken into parts ``item``, ``status``
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
836 and ``checklist``. The ``item`` part is the root of the expression.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
837 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
838 ``status`` item (as in ``item['status']``). If that
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
839 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
840 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
841 stringified. Path expressions may have an optional ``path:`` prefix, though
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
842 they are the default expression type, so it's not necessary.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
843
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
844 XXX | components of expressions
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
845
1070
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
846 XXX "nothing" and "default"
af0abadfda3a *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1058
diff changeset
847
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
848 String Expressions - eg. ``string:hello ${user/name}``
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
849 These expressions are simple string interpolations (though they can be just
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
850 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
851 ``${ ... }`` is just a path expression as above.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
852
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
853 Python Expressions - eg. ``python: 1+1``
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
854 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
855 variables are available, so ``python:item.status.checklist()`` would be
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
856 equivalent to ``item/status/checklist``, assuming that ``checklist`` is
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
857 a method.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
858
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
859 Information available to templates
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
860 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
861
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
862 The following variables are available to templates.
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
863
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
864 .. taken from roundup.cgi.templating.RoundupPageTemplate docstring
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
865
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
866 *context*
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
867 The current context. This is either None, a wrapper around a
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
868 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
869 HTMLItem).
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
870 *request*
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
871 Includes information about the current request, including:
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
872 - the url
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
873 - the current index information (``filterspec``, ``filter`` args,
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
874 ``properties``, etc) parsed out of the form.
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
875 - methods for easy filterspec link generation
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
876 - *user*, the current user node as an HTMLItem instance
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
877 - *form*
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
878 The current CGI form information as a mapping of form argument
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
879 name to value
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
880 *instance*
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
881 The current instance
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
882 *db*
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
883 The current database, through which db.config may be reached.
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
884 *nothing*
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
885 XXX a special variable
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
886 *default*
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
887 XXX a special variable
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
888
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
889 The context variable
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
890 ::::::::::::::::::::
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
891
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
892 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
893 (see `determining web context`_ for how we figure this out):
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
894
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
895 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
896 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
897 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
898
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
899 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
900 The only real difference between cases 2 and 3 above are:
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
901
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
902 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
903 the property is displayed through ``context/property`` or
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
904 ``context/property/field``.
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
905 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
906 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
907 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
908
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
909
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
910 The request variable
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
911 ::::::::::::::::::::
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
912
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
913 The request variable is packed with information about the current request.
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
914
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
915 .. taken from roundup.cgi.templating.HTMLRequest docstring
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
916
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
917 =========== ================================================================
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
918 Variable Holds
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
919 =========== ================================================================
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
920 form the CGI form as a cgi.FieldStorage
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
921 env the CGI environment variables
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
922 url the current URL path for this request
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
923 base the base URL for this instance
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
924 user a HTMLUser instance for this user
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
925 classname the current classname (possibly None)
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
926 template the current template (suffix, also possibly None)
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
927 form the current CGI form variables in a FieldStorage
1083
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
928 =========== ================================================================
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
929
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
930 **Index page specific variables (indexing arguments)**
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
931
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
932 =========== ================================================================
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
933 Variable Holds
40fc5f8cd55c more doc
Richard Jones <richard@users.sourceforge.net>
parents: 1074
diff changeset
934 =========== ================================================================
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
935 columns dictionary of the columns to display in an index page
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
936 show a convenience access to columns - request/show/colname will
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
937 be true if the columns should be displayed, false otherwise
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
938 sort index sort column (direction, column name)
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
939 group index grouping property (direction, column name)
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
940 filter properties to filter the index on
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
941 filterspec values to filter the index on
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
942 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
943 =========== ================================================================
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
944
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
945
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
946 Displaying Properties
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
947 ~~~~~~~~~~~~~~~~~~~~~
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
948
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
949 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
950 editors, and as search arguments.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
951 For each type of property, there are several display possibilities.
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
952 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
953 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
954 displayed in an editable field.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
955
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
956
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
957 Index Views
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
958 ~~~~~~~~~~~
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
959
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
960 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
961 classes. The template used is "*classname*.index".
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
962
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
963 Index View Specifiers
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
964 :::::::::::::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
965
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
966 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
967 added for clarity)::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
968
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
969 /issue?status=unread,in-progress,resolved&
1073
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
970 topic=security,ui&
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
971 :group=+priority&
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
972 :sort=-activity&
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
973 :filters=status,topic&
cf30c6cdca02 More documentation.
Richard Jones <richard@users.sourceforge.net>
parents: 1070
diff changeset
974 :columns=title,status,fixer
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
975
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
976 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
977 the filter part. The layout part consists of the query parameters that begin
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
978 with colons, and it determines the way that the properties of selected nodes
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
979 are displayed. The filter part consists of all the other query parameters, and
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
980 it determines the criteria by which nodes are selected for display.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
981 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
982 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
983 the column headings in the table.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
984
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
985 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
986 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
987 matching any specified Multilink properties.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
988
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
989 The example specifies an index of "issue" nodes. Only items with a "status" of
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
990 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
991 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
992 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
993 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
994 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
995 "title", "status", and "fixer" properties.
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
996
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
997 Filtering of indexes
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
998 ::::::::::::::::::::
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
999
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
1000 TODO
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1001
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
1002 Searching Views
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
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 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
1006 "*classname*.search".
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1007
1057
8b9feca82090 some progress
Richard Jones <richard@users.sourceforge.net>
parents: 1003
diff changeset
1008 TODO
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1009
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1010 Item Views
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1011 ~~~~~~~~~~
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1012
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1013 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
1014 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
1015 "history" section.
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1016
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1017
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1018
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1019 Editor Section
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1020 ::::::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1021
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1022 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
1023 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
1024
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1025 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
1026 template issue item edit form - from the "issue.item" template)::
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1027
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1028 <table class="form">
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1029 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1030 <th nowrap>Title</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1031 <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
1032 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1033
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1034 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1035 <th nowrap>Priority</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1036 <td tal:content="structure context/priority/menu">priority</td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1037 <th nowrap>Status</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1038 <td tal:content="structure context/status/menu">status</td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1039 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1040
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1041 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1042 <th nowrap>Superseder</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1043 <td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1044 <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
1045 <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
1046 <span tal:condition="context/superseder">
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1047 <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
1048 </span>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1049 </td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1050 <th nowrap>Nosy List</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1051 <td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1052 <span tal:replace="structure context/nosy/field" />
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1053 <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
1054 </td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1055 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1056
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1057 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1058 <th nowrap>Assigned To</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1059 <td tal:content="structure context/assignedto/menu">
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1060 assignedto menu
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1061 </td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1062 <td>&nbsp;</td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1063 <td>&nbsp;</td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1064 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1065
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1066 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1067 <th nowrap>Change Note</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1068 <td colspan=3>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1069 <textarea name="__note" wrap="hard" rows="5" cols="60"></textarea>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1070 </td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1071 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1072
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1073 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1074 <th nowrap>File</th>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1075 <td colspan=3><input type="file" name="__file" size="40"></td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1076 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1077
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1078 <tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1079 <td>&nbsp;</td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1080 <td colspan=3 tal:content="structure context/submit">
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1081 submit button will go here
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1082 </td>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1083 </tr>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1084 </table>
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1085
673
604c84696461 link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents: 659
diff changeset
1086
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1087 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
1088 describing the changed properties. As shown in the example, the editor
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1089 template can use the "__note" and "__file" fields, which are added to the
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1090 standard change note message generated by Roundup.
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1091
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1092 Spool Section
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1093 :::::::::::::
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1094
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1095 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
1096 an issue.
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1097
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1098 TODO
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1099
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1100
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1101 History Section
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1102 :::::::::::::::
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1103
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1104 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
1105 This is generally generated with the template::
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1106
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1107 <tal:block tal:replace="structure context/history" />
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1108
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1109 *To be done:*
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1110
1074
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1111 *The actual history entries of the node may be accessed for manual templating
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1112 through the "journal" method of the item*::
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1113
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1114 <tal:block tal:repeat="entry context/journal">
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1115 a journal entry
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1116 </tal:block>
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1117
954ad22eb7d9 more doc, more cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1073
diff changeset
1118 *where each journal entry is an HTMLJournalEntry.*
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1119
910
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1120
935
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1121 Access Controls
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1122 ---------------
910
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1123
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1124 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
1125
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1126 - Edit (everything)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1127 - View (everything)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1128
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1129 The default interfaces define:
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1130
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1131 - Web Registration
935
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1132 - Web Access
1003
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1133 - Web Roles
910
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1134 - Email Registration
935
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1135 - Email Access
910
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1136
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1137 These are hooked into the default Roles:
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1138
1003
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1139 - Admin (Edit everything, View everything, Web Roles)
935
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1140 - User (Web Access, Email Access)
910
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1141 - Anonymous (Web Registration, Email Registration)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1142
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1143 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
1144 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
1145 The two default schemas then define:
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1146
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1147 - Edit issue, View issue (both)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1148 - Edit file, View file (both)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1149 - Edit msg, View msg (both)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1150 - Edit support, View support (extended only)
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1151
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1152 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
1153 Roles defined in the config file as:
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1154
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1155 - NEW_WEB_USER_ROLES
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1156 - NEW_EMAIL_USER_ROLES
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1157
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1158 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
1159 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
1160 they register through email.
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1161
935
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1162 You may use the ``roundup-admin`` "``security``" command to display the
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1163 current Role and Permission configuration in your instance.
2abb6b2697b6 doc updates
Richard Jones <richard@users.sourceforge.net>
parents: 910
diff changeset
1164
1003
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1165 Adding a new Permission
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1166 ~~~~~~~~~~~~~~~~~~~~~~~
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1167
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1168 When adding a new Permission, you will need to:
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1169
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1170 1. add it to your instance's dbinit so it is created
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1171 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
1172 "``roundup-admin security``")
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1173 3. add it to the relevant HTML interface templates
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1174 4. add it to the appropriate xxxPermission methods on in your instance
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1175 interfaces module
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1176
f89b8d32291b Hack hack hack...
Richard Jones <richard@users.sourceforge.net>
parents: 935
diff changeset
1177
910
299f4890427d documentation reorg post-new-security
Richard Jones <richard@users.sourceforge.net>
parents: 909
diff changeset
1178
686
c52122f38c9b Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
1179 -----------------
659
e429649ed124 More documentation cleanups.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1180
686
c52122f38c9b Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
1181 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
1182
c52122f38c9b Documentation cleanup, added info for potential (and current) developers
Richard Jones <richard@users.sourceforge.net>
parents: 684
diff changeset
1183 .. _`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
1184

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