comparison doc/index.html @ 253:5973f1d80ace

More doc, straight out of the mailgw module and roundup-admin help
author Richard Jones <richard@users.sourceforge.net>
date Sat, 29 Sep 2001 13:42:07 +0000
parents 2f4123c715f1
children af6e10660e27
comparison
equal deleted inserted replaced
252:76c6994aa4e8 253:5973f1d80ace
22 <li><a href="#startweb">E-Mail Interface</a> 22 <li><a href="#startweb">E-Mail Interface</a>
23 <li><a href="#startweb">Web Interface</a> 23 <li><a href="#startweb">Web Interface</a>
24 <li><a href="#users">Users</a> 24 <li><a href="#users">Users</a>
25 <li><a href="#issues">Issues</a> 25 <li><a href="#issues">Issues</a>
26 </ul> 26 </ul>
27 <li><a href="#admin">Administration</a> 27 <li><a href="#guide">User Guide</a>
28 <ul> 28 <ul>
29 <li><a href="#cmd">Command Line Tool</a> 29 <li><a href="#cmd">Command Line Tool</a>
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>
238 <li>Any e-mail sent to roundup with the subject line containing [issue] 238 <li>Any e-mail sent to roundup with the subject line containing [issue]
239 will automatically created a new issue in the database using the 239 will automatically created a new issue in the database using the
240 contents of the e-mail. 240 contents of the e-mail.
241 </ol> 241 </ol>
242 242
243 <p><br>
244 <h2><a name="guide">User Guide</a></h2>
245 <h3><a name="cmd">Command Line Tool</a></h3>
246
247 Usage:
248 <tt>roundup-admin [-i instance home] [-u login] [-c] &lt;command&gt;
249 &lt;arguments&gt;</tt>
250 <p>
251 <dl>
252 <dt>Commands:
253 <dd>create classname property=value ...
254 <dd>find classname propname=value ...
255 <dd>freshen
256 <dd>get property designator[,designator]*
257 <dd>history designator
258 <dd>init [template [backend [admin password]]]
259 <dd>list classname [property]
260 <dd>retire designator[,designator]*
261 <dd>set designator[,designator]* propname=value ...
262 <dd>spec classname
263 <dt>Help:
264 <dd>roundup-admin -h
265 <dd>roundup-admin help -- this help
266 <dd>roundup-admin help <command> -- command-specific help
267 <dd>roundup-admin morehelp -- even more detailed help
268 <dt>Options:
269 <dd>-i instance home -- specify the issue tracker "home directory" to administer
270 <dd>-u -- the user[:password] to use for commands
271 <dd>-c -- when outputting lists of data, just comma-separate them
272 </dl>
273
274 <p>
275 All commands (except help) require an instance specifier. This is just the path
276 to the roundup instance you're working with. A roundup instance is where
277 roundup keeps the database and configuration file that defines an issue
278 tracker. It may be thought of as the issue tracker's "home directory". It may
279 be specified in the environment variable ROUNDUP_INSTANCE or on the command
280 line as "-i instance".
281
282 <p>
283 A designator is a classname and a nodeid concatenated, eg. bug1, user10, ...
284
285 <p>
286 Property values are represented as strings in command arguments and in the
287 printed results:
288 <ul>
289 <li>Strings are, well, strings.
290 <li>Date values are printed in the full date format in the local time zone, and
291 accepted in the full format or any of the partial formats explained below.
292 <li>Link values are printed as node designators. When given as an argument,
293 node designators and key strings are both accepted.
294 <li>Multilink values are printed as lists of node designators joined by commas.
295 When given as an argument, node designators and key strings are both
296 accepted; an empty string, a single node, or a list of nodes joined by
297 commas is accepted.
298 </ul>
299 When multiple nodes are specified to the roundup get or roundup set
300 commands, the specified properties are retrieved or set on all the listed
301 nodes.
302 <p>
303 When multiple results are returned by the roundup get or roundup find
304 commands, they are printed one per line (default) or joined by commas (with
305 the -c) option.
306 <p>
307 Where the command changes data, a login name/password is required. The
308 login may be specified as either "name" or "name:password".
309 <ul>
310 <li>ROUNDUP_LOGIN environment variable
311 <li>the -u command-line option
312 </ul>
313 If either the name or password is not supplied, they are obtained from the
314 command-line.
315 <p>
316 Date format examples:
317 <table>
318 <tr><th>Input of...</th><th>Means...</th></tr>
319 <tr><td>"2000-04-17.03:45"</td><td>2000-04-17.08:45:00</td></tr>
320 <tr><td>"2000-04-17"</td><td>2000-04-17.00:00:00</td></tr>
321 <tr><td>"01-25"</td><td>yyyy-01-25.00:00:00</td></tr>
322 <tr><td>"08-13.22:13"</td><td>yyyy-08-14.03:13:00</td></tr>
323 <tr><td>"11-07.09:32:43"</td><td>yyyy-11-07.14:32:43</td></tr>
324 <tr><td>"14:25"</td><td>yyyy-mm-dd.19:25:00</td></tr>
325 <tr><td>"8:47:11"</td><td>yyyy-mm-dd.13:47:11</td></tr>
326 <tr><td>"."</td><td>"right now"</td></tr>
327 </table>
328
329 <h4>Specific Command help</h4>
330
331 <pre>
332 history:
333 Usage: history designator
334 Show the history entries of a designator.
335
336 Lists the journal entries for the node identified by the designator.
337
338 find:
339 Usage: find classname propname=value ...
340 Find the nodes of the given class with a given property value.
341
342 Find the nodes of the given class with a given property value. The
343 value may be either the nodeid of the linked node, or its key value.
344
345 list:
346 Usage: list classname [property]
347 List the instances of a class.
348
349 Lists all instances of the given class along. If the property is not
350 specified, the "label" property is used. The label property is tried
351 in order: the key, "name", "title" and then the first property,
352 alphabetically.
353
354 retire:
355 Usage: retire designator[,designator]*
356 Retire the node specified by designator.
357
358 This action indicates that a particular node is not to be retrieved by
359 the list or find commands, and its key value may be re-used.
360
361 create:
362 Usage: create classname property=value ...
363 Create a new entry of a given class.
364
365 This creates a new entry of the given class using the property
366 name=value arguments provided on the command line after the "create"
367 command.
368
369 get:
370 Usage: get property designator[,designator]*
371 Get the given property of one or more designator(s).
372
373 Retrieves the property value of the nodes specified by the designators.
374
375 spec:
376 Usage: spec classname
377 Show the properties for a classname.
378
379 This lists the properties for a given class.
380
381 set:
382 Usage: set designator[,designator]* propname=value ...
383 Set the given property of one or more designator(s).
384
385 Sets the property to the value for all designators given.
386
387 init:
388 Usage: init [template [backend [admin password]]]
389 Initialise a new Roundup instance.
390
391 The command will prompt for the instance home directory (if not supplied
392 through INSTANCE_HOME or the -i option. The template, backend and admin
393 password may be specified on the command-line as arguments, in that order.
394
395 freshen:
396 Usage: freshen
397 Freshen an existing instance. **DO NOT USE**
398
399 This currently kills databases!!!!
400
401 This action should generally not be used. It reads in an instance
402 database and writes it again. In the future, is may also update
403 instance code to account for changes in templates. It's probably wise
404 not to use it anyway. Until we're sure it won't break things...
405 </pre>
406
407 <h3><a name="web">Web Interface</a></h3>
408 T.B.D.
409
410 <h3><a name="mail">E-Mail Gateway</a></h3>
411
412 Incoming messages are examined for multiple parts:
413 <ul>
414 <li>In a multipart/mixed message or part, each subpart is extracted and
415 examined. The text/plain subparts are assembled to form the textual
416 body of the message, to be stored in the file associated with a "msg"
417 class node. Any parts of other types are each stored in separate files
418 and given "file" class nodes that are linked to the "msg" node.
419 <li>In a multipart/alternative message or part, we look for a text/plain
420 subpart and ignore the other parts.
421 </ul>
422
423 <h4>Summary</h4>
424 The "summary" property on message nodes is taken from the first non-quoting
425 section in the message body. The message body is divided into sections by
426 blank lines. Sections where the second and all subsequent lines begin with
427 a "&gt;" or "|" character are considered "quoting sections". The first line of
428 the first non-quoting section becomes the summary of the message.
429
430 <h4>Addresses</h4>
431 All of the addresses in the To: and Cc: headers of the incoming message are
432 looked up among the user nodes, and the corresponding users are placed in
433 the "recipients" property on the new "msg" node. The address in the From:
434 header similarly determines the "author" property of the new "msg"
435 node. The default handling for addresses that don't have corresponding
436 users is to create new users with no passwords and a username equal to the
437 address. (The web interface does not permit logins for users with no
438 passwords.) If we prefer to reject mail from outside sources, we can simply
439 register an auditor on the "user" class that prevents the creation of user
440 nodes with no passwords.
441
442 <h4>Actions</h4>
443 The subject line of the incoming message is examined to determine whether
444 the message is an attempt to create a new item or to discuss an existing
445 item. A designator enclosed in square brackets is sought as the first thing
446 on the subject line (after skipping any "Fwd:" or "Re:" prefixes).
447
448 If an item designator (class name and id number) is found there, the newly
449 created "msg" node is added to the "messages" property for that item, and
450 any new "file" nodes are added to the "files" property for the item.
451
452 If just an item class name is found there, we attempt to create a new item
453 of that class with its "messages" property initialized to contain the new
454 "msg" node and its "files" property initialized to contain any new "file"
455 nodes.
456
457 <h4>Triggers</h4>
458 Both cases may trigger detectors (in the first case we are calling the
459 set() method to add the message to the item's spool; in the second case we
460 are calling the create() method to create a new node). If an auditor raises
461 an exception, the original message is bounced back to the sender with the
462 explanatory message given in the exception.
463
243 <p><hr> 464 <p><hr>
244 <h2><a name="ack">Acknowledgements</a></h2> 465 <h2><a name="ack">Acknowledgements</a></h2>
245 466
246 Go Ping, you rock! Also, go Bizar Software for letting me implement this 467 Go Ping, you rock! Also, go Bizar Software for letting me implement this
247 system on their time. 468 system on their time.

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