Mercurial > p > roundup > code
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] <command> | |
| 249 <arguments></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 ">" 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. |
