Mercurial > p > roundup > code
comparison doc/user_guide.txt @ 1356:83f33642d220 maint-0.5
[[Metadata associated with this commit was garbled during conversion from CVS
to Subversion.]]
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Thu, 09 Jan 2003 22:59:22 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1242:3d0158c8c32b | 1356:83f33642d220 |
|---|---|
| 1 ========== | |
| 2 User Guide | |
| 3 ========== | |
| 4 | |
| 5 :Version: $Revision: 1.12 $ | |
| 6 | |
| 7 .. contents:: | |
| 8 | |
| 9 Note: this document will refer to *issues* as the primary store of information | |
| 10 in the tracker. This is the default of the classic template, bubt may vary in | |
| 11 any given installation. | |
| 12 | |
| 13 Your Tracker in a Nutshell | |
| 14 ========================== | |
| 15 | |
| 16 Your tracker holds information about issues in bundles we call *items*. An | |
| 17 item may be an *issue* (a bug or feature request) or a *user*. The issue-ness or | |
| 18 user-ness is called the item's *class*. So, for bug reports and features, the | |
| 19 class is "issue", and for users the class is "user". | |
| 20 | |
| 21 Each item in the tracker has an id number that identifies it along with its | |
| 22 item class. To identify a particular issue or user, we combine the class with | |
| 23 the number to create a unique label, so that user 1 (who, incidentally, is | |
| 24 *always* the "admin" user) is referred to as "user1". Issue number 315 is | |
| 25 referred to as "issue315". We call that label the item's *designator*. | |
| 26 | |
| 27 Accessing the Tracker | |
| 28 --------------------- | |
| 29 | |
| 30 You may access your tracker through one of three ways: | |
| 31 | |
| 32 1. through the `web interface`_, | |
| 33 2. through the `e-mail gateway`_, or | |
| 34 3. using the `command line tool`_. | |
| 35 | |
| 36 The last is usually only used by administrators. Most users will use the web | |
| 37 and email interfaces. All three are explained below. | |
| 38 | |
| 39 | |
| 40 Web Interface | |
| 41 ============= | |
| 42 | |
| 43 Note: this document contains screenshots of the default look and feel. Your | |
| 44 site may have a slightly (or very) different look, but the functionality will | |
| 45 be very similar, and the concepts still hold. | |
| 46 | |
| 47 The web interface is broken up into the following parts: | |
| 48 | |
| 49 1. `lists of items`_, | |
| 50 2. `display, edit or entry of an item`_, and | |
| 51 3. `searching page`_. | |
| 52 | |
| 53 | |
| 54 Lists of Items | |
| 55 -------------- | |
| 56 | |
| 57 The first thing you'll see when you log into Roundup will be a list of open | |
| 58 (ie. not resolved) issues. This list has been generated by a bunch of controls | |
| 59 `under the covers`_ but for now, you can see something like: | |
| 60 | |
| 61 .. img: images/index_logged_out.png | |
| 62 | |
| 63 The screen is divided up into three sections: | |
| 64 | |
| 65 .. img: images/page_layout.png | |
| 66 | |
| 67 you may either register or log in. Registration takes you to: | |
| 68 | |
| 69 .. img: images/registration.png | |
| 70 | |
| 71 Once you're logged in, the screen changes slightly to: | |
| 72 | |
| 73 .. img: images/index_logged_in.png | |
| 74 | |
| 75 Note that the sidebar menu has changed slightly, so you can now get to your | |
| 76 "My Details" page: | |
| 77 | |
| 78 .. img: images/my_details.png | |
| 79 | |
| 80 Note the new information on this page - the history. | |
| 81 | |
| 82 | |
| 83 Display, edit or entry of an item | |
| 84 --------------------------------- | |
| 85 | |
| 86 Create a new issue with "create new" under the issue subheading. This will | |
| 87 take you to: | |
| 88 | |
| 89 .. img: images/new_issue.png | |
| 90 | |
| 91 The `nosy list`_ is explained below. | |
| 92 Enter some information and click "submit new entry" and you'll be rewarded | |
| 93 with: | |
| 94 | |
| 95 .. img: images/new_issue_created.png | |
| 96 | |
| 97 or, if you don't enter all the required information (or some other error | |
| 98 occurs) you'll get something like: | |
| 99 | |
| 100 .. img: images/new_issue_error.png | |
| 101 | |
| 102 | |
| 103 Searching Page | |
| 104 -------------- | |
| 105 | |
| 106 XXX: some information about how searching works | |
| 107 | |
| 108 | |
| 109 Under the covers | |
| 110 ---------------- | |
| 111 | |
| 112 Index views may be modified by the following arguments: | |
| 113 | |
| 114 ========== ============================================================= | |
| 115 Argument Description | |
| 116 ========== ============================================================= | |
| 117 :sort sort by prop name, optionally preceeded with '-' | |
| 118 to give descending or nothing for ascending sorting. | |
| 119 :group group by prop name, optionally preceeded with '-' or | |
| 120 to sort in descending or nothing for ascending order. | |
| 121 :filter selects which props should be displayed in the filter | |
| 122 section. Default is all. | |
| 123 :columns selects the columns that should be displayed. | |
| 124 Default is all. | |
| 125 propname selects the values the item properties given by propname | |
| 126 must have (very basic search/filter). | |
| 127 ========== ============================================================= | |
| 128 | |
| 129 Access Controls | |
| 130 --------------- | |
| 131 | |
| 132 User access is controlled through Permissions. These are are grouped into | |
| 133 Roles, and users have a comma-separated list of Roles assigned to them. | |
| 134 | |
| 135 Permissions divide access controls up into answering questions like: | |
| 136 | |
| 137 - may the user edit issues ("Edit", "issue") | |
| 138 - is the user allowed to use the web interface ("Web Access") | |
| 139 - may the user edit other user's Roles through the web ("Web Roles") | |
| 140 | |
| 141 Any number of new Permissions and Roles may be created as described in the | |
| 142 customisation documentation. Examples of new access controls are: | |
| 143 | |
| 144 - only managers may sign off issues as complete | |
| 145 - don't give users who register through email web access | |
| 146 - let some users edit the details of all users | |
| 147 | |
| 148 | |
| 149 E-Mail Gateway | |
| 150 ============== | |
| 151 | |
| 152 E-mail sent to Roundup is examined for several pieces of information: | |
| 153 | |
| 154 1. `subject-line information`_ identifying the purpose of the e-mail | |
| 155 2. `e-mail message content`_ which is to be extracted | |
| 156 3. e-mail attachments which should be associated with the message | |
| 157 | |
| 158 Subject-line information | |
| 159 ------------------------ | |
| 160 | |
| 161 The subject line of the incoming message is examined to find one of: | |
| 162 | |
| 163 1. the item that the message is responding to, | |
| 164 2. the type of item the message should create, or | |
| 165 3. we default the item class and try some trickiness | |
| 166 | |
| 167 If the subject line contains a prefix in ``[square brackets]`` then we're | |
| 168 looking at case 1 or 2 above. Note that any "re:" or "fwd:" prefixes are | |
| 169 stripped off the subject line before we start looking for real information. | |
| 170 | |
| 171 If an item designator (class name and id number, for example ``issue123``) | |
| 172 is found there, a new "msg" item is added to the "messages" property for | |
| 173 that item, and any new "file" items are added to the "files" property for | |
| 174 the item. | |
| 175 | |
| 176 If just an item class name is found there, we attempt to create a new item of | |
| 177 that class with its "messages" property initialized to contain the new "msg" | |
| 178 item and its "files" property initialized to contain any new "file" items. | |
| 179 | |
| 180 The third case above - where no ``[information]`` is provided, the tracker's | |
| 181 ``MAIL_DEFAULT_CLASS`` configuration variable defines what class of item | |
| 182 the message relates to. We try to match the subject line to an existing | |
| 183 item of the default class, and if there's a match, the message is related to | |
| 184 that matched item. If not, then a new item of the default class is created. | |
| 185 | |
| 186 Setting Properties | |
| 187 ~~~~~~~~~~~~~~~~~~ | |
| 188 | |
| 189 The e-mail interface also provides a simple way to set properties on items. At | |
| 190 the end of the subject line, propname=value pairs can be specified in square | |
| 191 brackets, using the same conventions as for the roundup set shell command. | |
| 192 | |
| 193 For example, | |
| 194 | |
| 195 - setting the priority of an issue:: | |
| 196 | |
| 197 Subject: Re: [issue1] the coffee machine is broken! [priority=urgent] | |
| 198 | |
| 199 - adding yourself to a nosy list:: | |
| 200 | |
| 201 Subject: Re: [issue2] we're out of widgets [nosy=+richard] | |
| 202 | |
| 203 - setting the nosy list to just you and cliff:: | |
| 204 | |
| 205 Subject: Re: [issue2] we're out of widgets [nosy=richard,cliff] | |
| 206 | |
| 207 - removing yourself from a nosy list and setting the priority:: | |
| 208 | |
| 209 Subject: Re: [issue2] we're out of widgets [nosy=-richard;priority=bug] | |
| 210 | |
| 211 In all cases, the message relates to issue 2. The ``Re:`` prefix is stripped | |
| 212 off. | |
| 213 | |
| 214 | |
| 215 Automatic Properties | |
| 216 ~~~~~~~~~~~~~~~~~~~~ | |
| 217 | |
| 218 **status of new issues** | |
| 219 When a new message is received that is not identified as being related to an | |
| 220 existing issue, it creates a new issue. The status of the new issue is | |
| 221 defaulted to "unread". | |
| 222 | |
| 223 **reopening of resolved issues** | |
| 224 When a message is is received for a resolved issue, the issue status is | |
| 225 automatically reset to "chatting" to indicate new information has been | |
| 226 received. | |
| 227 | |
| 228 | |
| 229 E-Mail Message Content | |
| 230 ---------------------- | |
| 231 | |
| 232 Roundup only associates plain text (MIME type ``text/plain``) as messages for | |
| 233 items. Any other parts of a message are associated as downloadable files. If | |
| 234 no plain text part is found, the message is rejected. | |
| 235 | |
| 236 To do this, incoming messages are examined for multiple parts: | |
| 237 | |
| 238 * In a multipart/mixed message or part, each subpart is extracted and | |
| 239 examined. The text/plain subparts are assembled to form the textual body | |
| 240 of the message, to be stored in the file associated with a "msg" class | |
| 241 item. Any parts of other types are each stored in separate files and | |
| 242 given "file" class items that are linked to the "msg" item. | |
| 243 * In a multipart/alternative message or part, we look for a text/plain | |
| 244 subpart and ignore the other parts. | |
| 245 | |
| 246 If the message is a response to a previous message, and contains quoted | |
| 247 sections, then these will be stripped out of the message if the | |
| 248 ``EMAIL_KEEP_QUOTED_TEXT`` configuration variable is set to ``'no'``. | |
| 249 | |
| 250 Message summary | |
| 251 ~~~~~~~~~~~~~~~ | |
| 252 | |
| 253 The "summary" property on message items is taken from the first non-quoting | |
| 254 section in the message body. The message body is divided into sections by blank | |
| 255 lines. Sections where the second and all subsequent lines begin with a ">" or | |
| 256 "|" character are considered "quoting sections". The first line of the first | |
| 257 non-quoting section becomes the summary of the message. | |
| 258 | |
| 259 | |
| 260 Address handling | |
| 261 ---------------- | |
| 262 | |
| 263 All of the addresses in the ``To:`` and ``Cc:`` headers of the incoming | |
| 264 message are | |
| 265 looked up among the tracker users, and the corresponding users are placed | |
| 266 in the | |
| 267 "recipients" property on the new "msg" item. The address in the ``From:`` header | |
| 268 similarly determines the "author" property of the new "msg" item. The default | |
| 269 handling for addresses that don't have corresponding users is to create new | |
| 270 users with no passwords and a username equal to the address. | |
| 271 | |
| 272 The addresses mentioned in the ``To:``, ``From:`` and ``Cc:`` headers of | |
| 273 the message may be added to the `nosy list`_ depending on: | |
| 274 | |
| 275 ``ADD_AUTHOR_TO_NOSY`` | |
| 276 Does the author of a message get placed on the nosy list automatically? | |
| 277 If 'new' is used, then the author will only be added when a message | |
| 278 creates a new issue. If 'yes', then the author will be added on followups | |
| 279 too. If 'no', they're never added to the nosy. | |
| 280 | |
| 281 ``ADD_RECIPIENTS_TO_NOSY`` | |
| 282 Do the recipients (To:, Cc:) of a message get placed on the nosy list? | |
| 283 If 'new' is used, then the recipients will only be added when a message | |
| 284 creates a new issue. If 'yes', then the recipients will be added on | |
| 285 followups too. If 'no', they're never added to the nosy. | |
| 286 | |
| 287 | |
| 288 Nosy List | |
| 289 ~~~~~~~~~ | |
| 290 | |
| 291 Roundup watches for additions to the "messages" property of items. | |
| 292 | |
| 293 When a new message is added, it is sent to all the users | |
| 294 on the "nosy" list for the item that are not already on the "recipients" list | |
| 295 of the message. Those users are then appended to the "recipients" property on | |
| 296 the message, so multiple copies of a message are never sent to the same user. | |
| 297 The journal recorded by the hyperdatabase on the "recipients" property then | |
| 298 provides a log of when the message was sent to whom. | |
| 299 | |
| 300 If the author of the message is also in the nosy list for the item that the | |
| 301 message is attached to, then the config var ``MESSAGES_TO_AUTHOR`` is queried | |
| 302 to determine if they get a nosy list copy of the message too. | |
| 303 | |
| 304 | |
| 305 Command Line Tool | |
| 306 ================= | |
| 307 | |
| 308 The basic usage is:: | |
| 309 | |
| 310 Help: | |
| 311 roundup-admin -h | |
| 312 roundup-admin help -- this help | |
| 313 roundup-admin help <command> -- command-specific help | |
| 314 roundup-admin help all -- all available help | |
| 315 | |
| 316 Options: | |
| 317 -i instance home -- specify the issue tracker "home directory" to administer | |
| 318 -u -- the user[:password] to use for commands | |
| 319 -c -- when outputting lists of data, just comma-separate them | |
| 320 | |
| 321 Commands: | |
| 322 commit | |
| 323 create classname property=value ... | |
| 324 display designator | |
| 325 export [class[,class]] export_dir | |
| 326 find classname propname=value ... | |
| 327 get property designator[,designator]* | |
| 328 help topic | |
| 329 history designator | |
| 330 import import_dir | |
| 331 initialise [adminpw] | |
| 332 install [template [backend [admin password]]] | |
| 333 list classname [property] | |
| 334 pack period | date | |
| 335 reindex | |
| 336 retire designator[,designator]* | |
| 337 rollback | |
| 338 security [Role name] | |
| 339 set designator[,designator]* propname=value ... | |
| 340 specification classname | |
| 341 table classname [property[,property]*] | |
| 342 | |
| 343 Commands may be abbreviated as long as the abbreviation matches only one | |
| 344 command, e.g. l == li == lis == list. | |
| 345 | |
| 346 All commands (except help) require a tracker specifier. This is just the | |
| 347 path to the roundup tracker you're working with. A roundup tracker is where | |
| 348 roundup keeps the database and configuration file that defines an issue | |
| 349 tracker. It may be thought of as the issue tracker's "home directory". | |
| 350 It may be specified in the environment variable ``TRACKER_HOME`` or on | |
| 351 the command line as "``-i tracker``". | |
| 352 | |
| 353 A designator is a classname and an itemid concatenated, eg. bug1, user10, ... | |
| 354 Property values are represented as strings in command arguments and in the printed | |
| 355 results: | |
| 356 | |
| 357 - Strings are, well, strings. | |
| 358 - Password values will display as their encoded value. | |
| 359 - Date values are printed in the full date format in the local time zone, | |
| 360 and accepted in the full format or any of the partial formats explained | |
| 361 below.:: | |
| 362 | |
| 363 Input of... Means... | |
| 364 "2000-04-17.03:45" 2000-04-17.08:45:00 | |
| 365 "2000-04-17" 2000-04-17.00:00:00 | |
| 366 "01-25" yyyy-01-25.00:00:00 | |
| 367 "08-13.22:13" yyyy-08-14.03:13:00 | |
| 368 "11-07.09:32:43" yyyy-11-07.14:32:43 | |
| 369 "14:25" yyyy-mm-dd.19:25:00 | |
| 370 "8:47:11" yyyy-mm-dd.13:47:11 | |
| 371 "." "right now" | |
| 372 | |
| 373 - Link values are printed as item designators. When given as an argument, | |
| 374 item designators and key strings are both accepted. | |
| 375 - Multilink values are printed as lists of item designators joined by | |
| 376 commas. When given as an argument, item designators and key strings are | |
| 377 both accepted; an empty string, a single item, or a list of items joined | |
| 378 by commas is accepted. | |
| 379 | |
| 380 When multiple items are specified to the roundup get or roundup set | |
| 381 commands, the specified properties are retrieved or set on all the listed | |
| 382 items. When multiple results are returned by the roundup get or roundup | |
| 383 find commands, they are printed one per line (default) or joined by commas | |
| 384 (with the "``-c``" option). | |
| 385 | |
| 386 Where the command changes data, a login name/password is required. The login may | |
| 387 be specified as either "``name``" or "``name:password``". | |
| 388 | |
| 389 - ``ROUNDUP_LOGIN`` environment variable | |
| 390 - the "``-u``" command-line option | |
| 391 | |
| 392 If either the name or password is not supplied, they are obtained from the | |
| 393 command-line. | |
| 394 | |
| 395 | |
| 396 | |
| 397 ----------------- | |
| 398 | |
| 399 Back to `Table of Contents`_ | |
| 400 | |
| 401 .. _`Table of Contents`: index.html | |
| 402 .. _`customisation documentation`: customizing.html |
