comparison doc/index.html @ 260:2099d0d052ed

More documentation and a new TODO item.
author Richard Jones <richard@users.sourceforge.net>
date Mon, 01 Oct 2001 06:30:23 +0000
parents 2a77a461cc33
children 0a28169a61b0
comparison
equal deleted inserted replaced
259:b3ccf457afeb 260:2099d0d052ed
30 <li><a href="#web">Web Interface</a> 30 <li><a href="#web">Web Interface</a>
31 <li><a href="#mail">E-Mail Gateway</a> 31 <li><a href="#mail">E-Mail Gateway</a>
32 </ul> 32 </ul>
33 <li><a href="#custom">Customising Roundup</a> 33 <li><a href="#custom">Customising Roundup</a>
34 <ul> 34 <ul>
35 <li><a href="#config">Instance Configuration</a>
35 <li><a href="#custinst">Instance Schema</a> 36 <li><a href="#custinst">Instance Schema</a>
36 <li><a href="#custweb">Web Interface</a> 37 <li><a href="#custweb">Web Interface</a>
37 </ul> 38 </ul>
38 <li><a href="spec.html">Roundup's Design Document</a> ("Implementation Guide") 39 <li><a href="spec.html">Roundup's Design Document</a> ("Implementation Guide")
39 <li><a href="#ack">Acknowledgements</a> 40 <li><a href="#ack">Acknowledgements</a>
123 <li>Schema to use 124 <li>Schema to use
124 <li>Database back-end to use 125 <li>Database back-end to use
125 <li>Administration user "admin" password. 126 <li>Administration user "admin" password.
126 </ol> 127 </ol>
127 128
128 Roundup is configurable using a localconfig.py file in the instance home. 129 Roundup is configurable using an instance_config.py file in the instance home.
129 It may have the following variable declarations: 130 It should be edited before roundup is used, and may have the following
131 variable declarations:
130 132
131 <ol> 133 <ol>
132 <li>MAILHOST 134 <li>MAILHOST
133 <br>The SMTP mail host that roundup will use to send mail 135 <br>The SMTP mail host that roundup will use to send mail
134 <li>MAIL_DOMAIN 136 <li>MAIL_DOMAIN
135 <br>The domain name used for email addresses 137 <br>The domain name used for email addresses
138 <li>ISSUE_TRACKER_WEB
139 <br>The web address of the issue tracker's web interface
136 </ol> 140 </ol>
137 141
138 Any further configuration should be possible by editing the instance home's
139 __init__.py directly.
140 <p> 142 <p>
141 The email addresses used by the system by default are: 143 The email addresses used by the system by default are:
142 144
143 <ol> 145 <ol>
144 <li>issue_tracker@MAIL_DOMAIN 146 <li>ISSUE_TRACKER_EMAIL - issue_tracker@MAIL_DOMAIN
145 <br>submissions of issues 147 <br>submissions of issues
146 <li>roundup-admin@MAIL_DOMAIN 148 <li>ADMIN_EMAIL - roundup-admin@MAIL_DOMAIN
147 <br>roundup's internal use (problems, etc) 149 <br>roundup's internal use (problems, etc)
148 </ol> 150 </ol>
149 151
150 <em>Note:</em> 152 <em>Note:</em>
151 We run the instance as group "issue_tracker" and add the mail and web user 153 We run the instance as group "issue_tracker" and add the mail and web user
266 268
267 <p> 269 <p>
268 <table border=1 cellspacing=0> 270 <table border=1 cellspacing=0>
269 <tr><th colspan=2>Command Help</th></tr> 271 <tr><th colspan=2>Command Help</th></tr>
270 <tr><td valign=top><strong>history</strong></td> 272 <tr><td valign=top><strong>history</strong></td>
271 <td><tt>history designator</tt><br> 273 <td><tt>history designator</tt><p>
272 Lists the journal entries for the node identified by the designator. 274 Lists the journal entries for the node identified by the designator.
273 </td></tr> 275 </td></tr>
274 276
275 <tr><td valign=top><strong>find</strong></td> 277 <tr><td valign=top><strong>find</strong></td>
276 <td><tt>find classname propname=value ...</tt><br> 278 <td><tt>find classname propname=value ...</tt><p>
277 Find the nodes of the given class with a given property value. The 279 Find the nodes of the given class with a given property value. The
278 value may be either the nodeid of the linked node, or its key value. 280 value may be either the nodeid of the linked node, or its key value.
279 </td></tr> 281 </td></tr>
280 282
281 <tr><td valign=top><strong>list</strong></td> 283 <tr><td valign=top><strong>list</strong></td>
282 <td><tt>list classname [property]</tt><br> 284 <td><tt>list classname [property]</tt><p>
283 Lists all instances of the given class along. If the property is not 285 Lists all instances of the given class along. If the property is not
284 specified, the "label" property is used. The label property is tried 286 specified, the "label" property is used. The label property is tried
285 in order: the key, "name", "title" and then the first property, 287 in order: the key, "name", "title" and then the first property,
286 alphabetically. 288 alphabetically.
287 </td></tr> 289 </td></tr>
288 290
289 <tr><td valign=top><strong>retire</strong></td> 291 <tr><td valign=top><strong>retire</strong></td>
290 <td><tt>retire designator[,designator]*</tt><br> 292 <td><tt>retire designator[,designator]*</tt><p>
291 This action indicates that a particular node is not to be retrieved by 293 This action indicates that a particular node is not to be retrieved by
292 the list or find commands, and its key value may be re-used. 294 the list or find commands, and its key value may be re-used.
293 </td></tr> 295 </td></tr>
294 296
295 <tr><td valign=top><strong>create</strong></td> 297 <tr><td valign=top><strong>create</strong></td>
296 <td><tt>create classname property=value ...</tt><br> 298 <td><tt>create classname property=value ...</tt><p>
297 This creates a new entry of the given class using the property 299 This creates a new entry of the given class using the property
298 name=value arguments provided on the command line after the "create" 300 name=value arguments provided on the command line after the "create"
299 command. 301 command.
300 </td></tr> 302 </td></tr>
301 303
302 <tr><td valign=top><strong>get</strong></td> 304 <tr><td valign=top><strong>get</strong></td>
303 <td><tt>get property designator[,designator]*</tt><br> 305 <td><tt>get property designator[,designator]*</tt><p>
304 Retrieves the property value of the nodes specified by the designators. 306 Retrieves the property value of the nodes specified by the designators.
305 </td></tr> 307 </td></tr>
306 308
307 <tr><td valign=top><strong>spec</strong></td> 309 <tr><td valign=top><strong>spec</strong></td>
308 <td><tt>spec classname</tt><br> 310 <td><tt>spec classname</tt><p>
309 This lists the properties for a given class. 311 This lists the properties for a given class.
310 </td></tr> 312 </td></tr>
311 313
312 <tr><td valign=top><strong>set</strong></td> 314 <tr><td valign=top><strong>set</strong></td>
313 <td><tt>set designator[,designator]* propname=value ...</tt><br> 315 <td><tt>set designator[,designator]* propname=value ...</tt><p>
314 Sets the property to the value for all designators given. 316 Sets the property to the value for all designators given.
315 </td></tr> 317 </td></tr>
316 318
317 <tr><td valign=top><strong>init</strong></td> 319 <tr><td valign=top><strong>init</strong></td>
318 <td><tt>init [template [backend [admin password]]]</tt><br> 320 <td><tt>init [template [backend [admin password]]]</tt><p>
319 The command will prompt for the instance home directory (if not supplied 321 The command will prompt for the instance home directory (if not supplied
320 through INSTANCE_HOME or the -i option. The template, backend and admin 322 through INSTANCE_HOME or the -i option. The template, backend and admin
321 password may be specified on the command-line as arguments, in that order. 323 password may be specified on the command-line as arguments, in that order.
322 </td></tr> 324 </td></tr>
323 325
324 <tr><td valign=top><strong>freshen</strong></td> 326 <tr><td valign=top><strong>freshen</strong></td>
325 <td><tt>freshen</tt><br> 327 <td><tt>freshen</tt><p>
326 <strong>**DO NOT USE**</strong> 328 <strong>**DO NOT USE**</strong>
327 <p> 329 <p>
328 This currently kills databases!!!! 330 This currently kills databases!!!!
329 <p> 331 <p>
330 This action should generally not be used. It reads in an instance 332 This action should generally not be used. It reads in an instance
332 instance code to account for changes in templates. It's probably wise 334 instance code to account for changes in templates. It's probably wise
333 not to use it anyway. Until we're sure it won't break things... 335 not to use it anyway. Until we're sure it won't break things...
334 </td></tr> 336 </td></tr>
335 337
336 <tr><td><strong>help</strong></td> 338 <tr><td><strong>help</strong></td>
337 <td><tt>help [command]</tt><br> 339 <td><tt>help [command]</tt><p>
338 Short help about roundup-admin or the specific command. 340 Short help about roundup-admin or the specific command.
339 </td></tr> 341 </td></tr>
340 342
341 <tr><td><strong>morehelp</strong></td> 343 <tr><td><strong>morehelp</strong></td>
342 <td><tt>morehelp</tt><br> 344 <td><tt>morehelp</tt><p>
343 All available help from the roundup-admin tool. 345 All available help from the roundup-admin tool.
344 </td></tr> 346 </td></tr>
345 </table> 347 </table>
346 348
347 <p> 349 <p>
457 <p><hr> 459 <p><hr>
458 <h1><a name="custom">Customising Roundup</a></h1> 460 <h1><a name="custom">Customising Roundup</a></h1>
459 461
460 Instances have the following structure: 462 Instances have the following structure:
461 <table> 463 <table>
464 <tr><td valign=top><strong>instance_config.py</strong></td>
465 <td>Holds the basic <a href="#config">instance configuration</a></td></tr>
462 <tr><td valign=top><strong>dbinit.py</strong></td> 466 <tr><td valign=top><strong>dbinit.py</strong></td>
463 <td>Holds the instance schema</td></tr> 467 <td>Holds the <a href="#custinst">instance schema</a></td></tr>
464 <tr><td valign=top><strong>instance_config.py</strong></td>
465 <td>Holds the basic instance configuration</td></tr>
466 <tr><td valign=top><strong>interfaces.py</strong></td> 468 <tr><td valign=top><strong>interfaces.py</strong></td>
467 <td>Defines the Web and E-Mail interfaces for the instance</td></tr> 469 <td>Defines the <a href="#custweb">Web</a> and E-Mail interfaces for the instance</td></tr>
468 <tr><td valign=top><strong>select_db.py</strong></td> 470 <tr><td valign=top><strong>select_db.py</strong></td>
469 <td>Selects the database back-end for the instance</td></tr> 471 <td>Selects the database back-end for the instance</td></tr>
470 <tr><td valign=top><strong>db/</strong></td> 472 <tr><td valign=top><strong>db/</strong></td>
471 <td>Holds the instance's database</td></tr> 473 <td>Holds the instance's database</td></tr>
472 <tr><td valign=top><strong>db/files/</strong></td> 474 <tr><td valign=top><strong>db/files/</strong></td>
473 <td>Holds the instance's upload files and messages</td></tr> 475 <td>Holds the instance's upload files and messages</td></tr>
474 <tr><td valign=top><strong>detectors/</strong></td> 476 <tr><td valign=top><strong>detectors/</strong></td>
475 <td>Auditors and reactors for this instance</td></tr> 477 <td>Auditors and reactors for this instance</td></tr>
476 <tr><td valign=top><strong>html/</strong></td> 478 <tr><td valign=top><strong>html/</strong></td>
477 <td>Web interface templates, images and style sheets</td></tr> 479 <td>Web interface <a href="#custweb">templates</a>, images and style sheets</td></tr>
478 </table> 480 </table>
481
482 <h2><a name="config">Instance Configuration</a></h2>
483 The <tt>instance_config.py</tt> located in your instance home contains the
484 basic configuration for the web and e-mail components of roundup's
485 interfaces. This file is a Python module. The default
486 <tt>instance_config.py</tt> is given below - as you can see, the
487 MAIL_DOMAIN must be edited before any interaction with the instance is
488 attempted.
489
490 <p>
491 <pre>
492 MAIL_DOMAIN=MAILHOST=HTTP_HOST=None
493 HTTP_PORT=0
494
495 # roundup home is this package's directory
496 INSTANCE_HOME=os.path.split(__file__)[0]
497
498 # The SMTP mail host that roundup will use to send mail
499 if not MAILHOST:
500 MAILHOST = 'localhost'
501
502 # The domain name used for email addresses.
503 if not MAIL_DOMAIN:
504 MAIL_DOMAIN = 'fill.me.in.'
505
506 # the next two are only used for the standalone HTTP server.
507 if not HTTP_HOST:
508 HTTP_HOST = ''
509 if not HTTP_PORT:
510 HTTP_PORT = 9080
511
512 # This is the directory that the database is going to be stored in
513 DATABASE = os.path.join(INSTANCE_HOME, 'db')
514
515 # This is the directory that the HTML templates reside in
516 TEMPLATES = os.path.join(INSTANCE_HOME, 'html')
517
518 # The email address that mail to roundup should go to
519 ISSUE_TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN
520
521 # The web address that the instance is viewable at
522 ISSUE_TRACKER_WEB = 'http://some.useful.url/'
523
524 # The email address that roundup will complain to if it runs into trouble
525 ADMIN_EMAIL = 'roundup-admin@%s'%MAIL_DOMAIN
526
527 # Somewhere for roundup to log stuff internally sent to stdout or stderr
528 LOG = os.path.join(INSTANCE_HOME, 'roundup.log')
529 </pre>
479 530
480 <h2><a name="custinst">Instance Schema</a></h2> 531 <h2><a name="custinst">Instance Schema</a></h2>
481 An instance schema defines what data is stored in the instance's database. 532 An instance schema defines what data is stored in the instance's database.
482 The two schemas shipped with Roundup turn it into a typical software bug 533 The two schemas shipped with Roundup turn it into a typical software bug
483 tracker (the extended schema allowing for support issues as well as bugs). 534 tracker (the extended schema allowing for support issues as well as bugs).
985 Go Ping, you rock! Also, go Bizar Software for letting me implement this 1036 Go Ping, you rock! Also, go Bizar Software for letting me implement this
986 system on their time. 1037 system on their time.
987 1038
988 <p>&nbsp;</p> 1039 <p>&nbsp;</p>
989 <hr> 1040 <hr>
990 $Id: index.html,v 1.6 2001-10-01 04:58:33 richard Exp $ 1041 $Id: index.html,v 1.7 2001-10-01 06:30:23 richard Exp $
991 <p>&nbsp;</p> 1042 <p>&nbsp;</p>
992 1043
993 </body></html> 1044 </body></html>
994 1045

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