1 #
2 # Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/)
3 # This module is free software, and you may redistribute it and/or modify
4 # under the same terms as Python, so long as this copyright message and
5 # disclaimer are retained in their original form.
6 #
7 # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
8 # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING
9 # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
10 # POSSIBILITY OF SUCH DAMAGE.
11 #
12 # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
17 #
18 # $Id: instance_config.py,v 1.19 2002-07-26 08:26:59 richard Exp $
20 MAIL_DOMAIN=MAILHOST=HTTP_HOST=None
21 HTTP_PORT=0
23 try:
24 from localconfig import *
25 except ImportError:
26 localconfig = None
28 import os
30 # roundup home is this package's directory
31 INSTANCE_HOME=os.path.split(__file__)[0]
33 # The SMTP mail host that roundup will use to send mail
34 if not MAILHOST:
35 MAILHOST = 'localhost'
37 # The domain name used for email addresses.
38 if not MAIL_DOMAIN:
39 MAIL_DOMAIN = 'your.tracker.email.domain.example'
41 # the next two are only used for the standalone HTTP server.
42 if not HTTP_HOST:
43 HTTP_HOST = ''
44 if not HTTP_PORT:
45 HTTP_PORT = 9080
47 # This is the directory that the database is going to be stored in
48 DATABASE = os.path.join(INSTANCE_HOME, 'db')
50 # This is the directory that the HTML templates reside in
51 TEMPLATES = os.path.join(INSTANCE_HOME, 'html')
53 # A descriptive name for your roundup instance
54 INSTANCE_NAME = 'Roundup issue tracker'
56 # The email address that mail to roundup should go to
57 ISSUE_TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN
59 # The web address that the instance is viewable at
60 ISSUE_TRACKER_WEB = 'http://your.tracker.url.example/'
62 # The email address that roundup will complain to if it runs into trouble
63 ADMIN_EMAIL = 'roundup-admin@%s'%MAIL_DOMAIN
65 # Somewhere for roundup to log stuff internally sent to stdout or stderr
66 LOG = os.path.join(INSTANCE_HOME, 'roundup.log')
68 # Where to place the web filtering HTML on the index page
69 FILTER_POSITION = 'bottom' # one of 'top', 'bottom', 'top and bottom'
71 #
72 # SECURITY DEFINITIONS
73 #
74 # define the Roles that a user gets when they register with the tracker
75 # these are a comma-separated string of role names (e.g. 'Admin,User')
76 NEW_WEB_USER_ROLES = 'User'
77 NEW_EMAIL_USER_ROLES = 'User'
79 # Send nosy messages to the author of the message
80 MESSAGES_TO_AUTHOR = 'no' # either 'yes' or 'no'
82 # Does the author of a message get placed on the nosy list automatically?
83 # If 'new' is used, then the author will only be added when a message
84 # creates a new issue. If 'yes', then the author will be added on followups
85 # too. If 'no', they're never added to the nosy.
86 ADD_AUTHOR_TO_NOSY = 'new' # one of 'yes', 'no', 'new'
88 # Do the recipients (To:, Cc:) of a message get placed on the nosy list?
89 # If 'new' is used, then the recipients will only be added when a message
90 # creates a new issue. If 'yes', then the recipients will be added on followups
91 # too. If 'no', they're never added to the nosy.
92 ADD_RECIPIENTS_TO_NOSY = 'new' # either 'yes', 'no', 'new'
94 # Where to place the email signature
95 EMAIL_SIGNATURE_POSITION = 'bottom' # one of 'top', 'bottom', 'none'
97 # Keep email citations
98 EMAIL_KEEP_QUOTED_TEXT = 'no' # either 'yes' or 'no'
100 # Preserve the email body as is
101 EMAIL_LEAVE_BODY_UNCHANGED = 'no' # either 'yes' or 'no'
103 # Default class to use in the mailgw if one isn't supplied in email
104 # subjects. To disable, comment out the variable below or leave it blank.
105 # Examples:
106 MAIL_DEFAULT_CLASS = 'issue' # use "issue" class by default
107 #MAIL_DEFAULT_CLASS = '' # disable (or just comment the var out)
109 # Define what index links are available in the header, and what their
110 # labels are. Each key is used to look up one of the index specifications
111 # below - so 'DEFAULT' will use 'DEFAULT_INDEX'.
112 # Where the FILTERSPEC has 'assignedto' with a value of None, it will be
113 # replaced by the id of the logged-in user.
114 HEADER_INDEX_LINKS = ['DEFAULT', 'UNASSIGNED', 'USER']
116 # list the classes that users are able to add nodes to
117 HEADER_ADD_LINKS = ['issue']
119 # list the classes that users can search
120 HEADER_SEARCH_LINKS = ['issue']
122 # list search filters per class
123 SEARCH_FILTERS = ['ISSUE_FILTER', 'SUPPORT_FILTER']
125 # Now the DEFAULT display specification. TODO: describe format
126 DEFAULT_INDEX = {
127 'LABEL': 'All Issues',
128 'CLASS': 'issue',
129 'SORT': ['-activity'],
130 'GROUP': ['priority'],
131 'FILTER': ['status'],
132 'COLUMNS': ['id','activity','title','creator','assignedto'],
133 'FILTERSPEC': {
134 'status': ['-1', '1', '2', '3', '4', '5', '6', '7'],
135 },
136 }
138 # The "unsassigned issues" index
139 UNASSIGNED_INDEX = {
140 'LABEL': 'Unassigned Issues',
141 'CLASS': 'issue',
142 'SORT': ['-activity'],
143 'GROUP': ['priority'],
144 'FILTER': ['status', 'assignedto'],
145 'COLUMNS': ['id','activity','title','creator','status'],
146 'FILTERSPEC': {
147 'status': ['-1', '1', '2', '3', '4', '5', '6', '7'],
148 'assignedto': ['-1'],
149 },
150 }
152 # The "my issues" index -- note that the user's id will replace the
153 # 'CURRENT USER' value of the "assignedto" filterspec
154 USER_INDEX = {
155 'LABEL': 'My Issues',
156 'CLASS': 'issue',
157 'SORT': ['-activity'],
158 'GROUP': ['priority'],
159 'FILTER': ['status', 'assignedto'],
160 'COLUMNS': ['id','activity','title','creator','status'],
161 'FILTERSPEC': {
162 'status': ['-1', '1', '2', '3', '4', '5', '6', '7'],
163 'assignedto': 'CURRENT USER',
164 },
165 }
167 ISSUE_FILTER = {
168 'CLASS': 'issue',
169 'FILTER': ['status', 'priority', 'assignedto', 'creator']
170 }
172 SUPPORT_FILTER = {
173 'CLASS': 'issue',
174 'FILTER': ['status', 'priority', 'assignedto', 'creator']
175 }
178 #
179 # $Log: not supported by cvs2svn $
180 # Revision 1.18 2002/05/25 07:16:25 rochecompaan
181 # Merged search_indexing-branch with HEAD
182 #
183 # Revision 1.17 2002/05/22 00:32:33 richard
184 # . changed the default message list in issues to display the message body
185 # . made backends.__init__ be more specific about which ImportErrors it really
186 # wants to ignore
187 # . fixed the example addresses in the templates to use correct example domains
188 # . cleaned out the template stylesheets, removing a bunch of junk that really
189 # wasn't necessary (font specs, styles never used) and added a style for
190 # message content
191 #
192 # Revision 1.16 2002/05/21 06:05:54 richard
193 # . #551483 ] assignedto in Client.make_index_link
194 #
195 # Revision 1.15 2002/05/02 07:56:34 richard
196 # . added option to automatically add the authors and recipients of messages
197 # to the nosy lists with the options ADD_AUTHOR_TO_NOSY (default 'new') and
198 # ADD_RECIPIENTS_TO_NOSY (default 'new'). These settings emulate the current
199 # behaviour. Setting them to 'yes' will add the author/recipients to the nosy
200 # on messages that create issues and followup messages.
201 # . added missing documentation for a few of the config option values
202 #
203 # Revision 1.14 2002/04/23 15:46:49 rochecompaan
204 # . stripping of the email message body can now be controlled through
205 # the config variables EMAIL_KEEP_QUOTED_TEST and
206 # EMAIL_LEAVE_BODY_UNCHANGED.
207 #
208 # Revision 1.13.2.2 2002/05/02 11:49:19 rochecompaan
209 # Allow customization of the search filters that should be displayed
210 # on the search page.
211 #
212 # Revision 1.13.2.1 2002/04/20 13:23:33 rochecompaan
213 # We now have a separate search page for nodes. Search links for
214 # different classes can be customized in instance_config similar to
215 # index links.
216 #
217 # Revision 1.13 2002/03/14 23:59:24 richard
218 # . #517734 ] web header customisation is obscure
219 #
220 # Revision 1.12 2002/02/15 00:13:38 richard
221 # . #503204 ] mailgw needs a default class
222 # - partially done - the setting of additional properties can wait for a
223 # better configuration system.
224 #
225 # Revision 1.11 2002/02/14 23:46:02 richard
226 # . #516883 ] mail interface + ANONYMOUS_REGISTER
227 #
228 # Revision 1.10 2001/11/26 22:55:56 richard
229 # Feature:
230 # . Added INSTANCE_NAME to configuration - used in web and email to identify
231 # the instance.
232 # . Added EMAIL_SIGNATURE_POSITION to indicate where to place the roundup
233 # signature info in e-mails.
234 # . Some more flexibility in the mail gateway and more error handling.
235 # . Login now takes you to the page you back to the were denied access to.
236 #
237 # Fixed:
238 # . Lots of bugs, thanks Roché and others on the devel mailing list!
239 #
240 # Revision 1.9 2001/10/30 00:54:45 richard
241 # Features:
242 # . #467129 ] Lossage when username=e-mail-address
243 # . #473123 ] Change message generation for author
244 # . MailGW now moves 'resolved' to 'chatting' on receiving e-mail for an issue.
245 #
246 # Revision 1.8 2001/10/23 01:00:18 richard
247 # Re-enabled login and registration access after lopping them off via
248 # disabling access for anonymous users.
249 # Major re-org of the htmltemplate code, cleaning it up significantly. Fixed
250 # a couple of bugs while I was there. Probably introduced a couple, but
251 # things seem to work OK at the moment.
252 #
253 # Revision 1.7 2001/10/22 03:25:01 richard
254 # Added configuration for:
255 # . anonymous user access and registration (deny/allow)
256 # . filter "widget" location on index page (top, bottom, both)
257 # Updated some documentation.
258 #
259 # Revision 1.6 2001/10/01 06:10:42 richard
260 # stop people setting up roundup with our addresses as default - need to
261 # handle this better in the init
262 #
263 # Revision 1.5 2001/08/07 00:24:43 richard
264 # stupid typo
265 #
266 # Revision 1.4 2001/08/07 00:15:51 richard
267 # Added the copyright/license notice to (nearly) all files at request of
268 # Bizar Software.
269 #
270 # Revision 1.3 2001/08/02 06:38:17 richard
271 # Roundupdb now appends "mailing list" information to its messages which
272 # include the e-mail address and web interface address. Templates may
273 # override this in their db classes to include specific information (support
274 # instructions, etc).
275 #
276 # Revision 1.2 2001/07/29 07:01:39 richard
277 # Added vim command to all source so that we don't get no steenkin' tabs :)
278 #
279 # Revision 1.1 2001/07/23 23:28:43 richard
280 # Adding the classic template
281 #
282 # Revision 1.1 2001/07/23 04:33:21 anthonybaxter
283 # split __init__.py into 2. dbinit and instance_config.
284 #
285 #
286 # vim: set filetype=python ts=4 sw=4 et si