diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/user_guide.txt	Thu Jan 09 22:59:22 2003 +0000
@@ -0,0 +1,402 @@
+==========
+User Guide
+==========
+
+:Version: $Revision: 1.12 $
+
+.. contents::
+
+Note: this document will refer to *issues* as the primary store of information
+in the tracker. This is the default of the classic template, bubt may vary in
+any given installation.
+
+Your Tracker in a Nutshell
+==========================
+
+Your tracker holds information about issues in bundles we call *items*. An
+item may be an *issue* (a bug or feature request) or a *user*. The issue-ness or
+user-ness is called the item's *class*. So, for bug reports and features, the
+class is "issue", and for users the class is "user".
+
+Each item in the tracker has an id number that identifies it along with its
+item class. To identify a particular issue or user, we combine the class with
+the number to create a unique label, so that user 1 (who, incidentally, is
+*always* the "admin" user) is referred to as "user1".  Issue number 315 is
+referred to as "issue315". We call that label the item's *designator*.
+
+Accessing the Tracker
+---------------------
+
+You may access your tracker through one of three ways:
+
+1. through the `web interface`_,
+2. through the `e-mail gateway`_, or
+3. using the `command line tool`_.
+
+The last is usually only used by administrators. Most users will use the web
+and email interfaces. All three are explained below.
+
+
+Web Interface
+=============
+
+Note: this document contains screenshots of the default look and feel. Your
+site may have a slightly (or very) different look, but the functionality will
+be very similar, and the concepts still hold.
+
+The web interface is broken up into the following parts:
+
+1. `lists of items`_,
+2. `display, edit or entry of an item`_, and
+3. `searching page`_.
+
+
+Lists of Items
+--------------
+
+The first thing you'll see when you log into Roundup will be a list of open
+(ie. not resolved) issues. This list has been generated by a bunch of controls
+`under the covers`_ but for now, you can see something like:
+
+.. img: images/index_logged_out.png
+
+The screen is divided up into three sections:
+
+.. img: images/page_layout.png
+
+you may either register or log in. Registration takes you to:
+
+.. img: images/registration.png
+
+Once you're logged in, the screen changes slightly to:
+
+.. img: images/index_logged_in.png
+
+Note that the sidebar menu has changed slightly, so you can now get to your
+"My Details" page:
+
+.. img: images/my_details.png
+
+Note the new information on this page - the history.
+
+
+Display, edit or entry of an item
+---------------------------------
+
+Create a new issue with "create new" under the issue subheading. This will
+take you to:
+
+.. img: images/new_issue.png
+
+The `nosy list`_ is explained below.
+Enter some information and click "submit new entry" and you'll be rewarded
+with:
+
+.. img: images/new_issue_created.png
+
+or, if you don't enter all the required information (or some other error
+occurs) you'll get something like:
+
+.. img: images/new_issue_error.png
+
+
+Searching Page
+--------------
+
+XXX: some information about how searching works
+
+
+Under the covers
+----------------
+
+Index views may be modified by the following arguments:
+
+========== =============================================================
+Argument   Description
+========== =============================================================
+:sort      sort by prop name, optionally preceeded with '-'
+           to give descending or nothing for ascending sorting.
+:group     group by prop name, optionally preceeded with '-' or
+           to sort in descending or nothing for ascending order.
+:filter    selects which props should be displayed in the filter
+           section. Default is all.           
+:columns   selects the columns that should be displayed.
+           Default is all.                     
+propname   selects the values the item properties given by propname
+           must have (very basic search/filter).
+========== =============================================================
+
+Access Controls
+---------------
+
+User access is controlled through Permissions. These are are grouped into
+Roles, and users have a comma-separated list of Roles assigned to them.
+
+Permissions divide access controls up into answering questions like:
+
+- may the user edit issues ("Edit", "issue")
+- is the user allowed to use the web interface ("Web Access")
+- may the user edit other user's Roles through the web ("Web Roles")
+
+Any number of new Permissions and Roles may be created as described in the
+customisation documentation. Examples of new access controls are:
+
+- only managers may sign off issues as complete
+- don't give users who register through email web access
+- let some users edit the details of all users
+
+
+E-Mail Gateway
+==============
+
+E-mail sent to Roundup is examined for several pieces of information:
+
+1. `subject-line information`_ identifying the purpose of the e-mail
+2. `e-mail message content`_ which is to be extracted
+3. e-mail attachments which should be associated with the message
+
+Subject-line information
+------------------------
+
+The subject line of the incoming message is examined to find one of:
+
+1. the item that the message is responding to,
+2. the type of item the message should create, or
+3. we default the item class and try some trickiness
+
+If the subject line contains a prefix in ``[square brackets]`` then we're
+looking at case 1 or 2 above. Note that any "re:" or "fwd:" prefixes are
+stripped off the subject line before we start looking for real information.
+
+If an item designator (class name and id number, for example ``issue123``)
+is found there, a new "msg" item is added to the "messages" property for
+that item, and any new "file" items are added to the "files" property for
+the item.
+
+If just an item class name is found there, we attempt to create a new item of
+that class with its "messages" property initialized to contain the new "msg"
+item and its "files" property initialized to contain any new "file" items.
+
+The third case above - where no ``[information]`` is provided, the tracker's
+``MAIL_DEFAULT_CLASS`` configuration variable defines what class of item
+the message relates to. We try to match the subject line to an existing
+item of the default class, and if there's a match, the message is related to
+that matched item. If not, then a new item of the default class is created.
+
+Setting Properties
+~~~~~~~~~~~~~~~~~~
+
+The e-mail interface also provides a simple way to set properties on items. At
+the end of the subject line, propname=value pairs can be specified in square
+brackets, using the same conventions as for the roundup set shell command.
+
+For example,
+
+- setting the priority of an issue::
+
+   Subject: Re: [issue1] the coffee machine is broken! [priority=urgent]
+
+- adding yourself to a nosy list::
+
+   Subject: Re: [issue2] we're out of widgets [nosy=+richard]
+
+- setting the nosy list to just you and cliff::
+
+   Subject: Re: [issue2] we're out of widgets [nosy=richard,cliff]
+
+- removing yourself from a nosy list and setting the priority::
+
+   Subject: Re: [issue2] we're out of widgets [nosy=-richard;priority=bug]
+
+In all cases, the message relates to issue 2. The ``Re:`` prefix is stripped
+off.
+
+
+Automatic Properties
+~~~~~~~~~~~~~~~~~~~~
+
+**status of new issues**
+ When a new message is received that is not identified as being related to an
+ existing issue, it creates a new issue. The status of the new issue is
+ defaulted to "unread".
+
+**reopening of resolved issues**
+ When a message is is received for a resolved issue, the issue status is
+ automatically reset to "chatting" to indicate new information has been
+ received.
+
+
+E-Mail Message Content
+----------------------
+
+Roundup only associates plain text (MIME type ``text/plain``) as messages for
+items. Any other parts of a message are associated as downloadable files. If
+no plain text part is found, the message is rejected.
+
+To do this, incoming messages are examined for multiple parts:
+
+* In a multipart/mixed message or part, each subpart is extracted and
+  examined. The text/plain subparts are assembled to form the textual body
+  of the message, to be stored in the file associated with a "msg" class
+  item. Any parts of other types are each stored in separate files and
+  given "file" class items that are linked to the "msg" item.
+* In a multipart/alternative message or part, we look for a text/plain
+  subpart and ignore the other parts.
+
+If the message is a response to a previous message, and contains quoted
+sections, then these will be stripped out of the message if the
+``EMAIL_KEEP_QUOTED_TEXT`` configuration variable is set to ``'no'``.
+
+Message summary
+~~~~~~~~~~~~~~~
+
+The "summary" property on message items is taken from the first non-quoting
+section in the message body. The message body is divided into sections by blank
+lines. Sections where the second and all subsequent lines begin with a ">" or
+"|" character are considered "quoting sections". The first line of the first
+non-quoting section becomes the summary of the message.
+
+
+Address handling
+----------------
+
+All of the addresses in the ``To:`` and ``Cc:`` headers of the incoming
+message are
+looked up among the tracker users, and the corresponding users are placed
+in the
+"recipients" property on the new "msg" item. The address in the ``From:`` header
+similarly determines the "author" property of the new "msg" item. The default
+handling for addresses that don't have corresponding users is to create new
+users with no passwords and a username equal to the address.
+
+The addresses mentioned in the ``To:``, ``From:`` and ``Cc:`` headers of
+the message may be added to the `nosy list`_ depending on:
+
+``ADD_AUTHOR_TO_NOSY``
+ Does the author of a message get placed on the nosy list automatically?
+ If 'new' is used, then the author will only be added when a message
+ creates a new issue. If 'yes', then the author will be added on followups
+ too. If 'no', they're never added to the nosy.
+
+``ADD_RECIPIENTS_TO_NOSY``
+ Do the recipients (To:, Cc:) of a message get placed on the nosy list?
+ If 'new' is used, then the recipients will only be added when a message
+ creates a new issue. If 'yes', then the recipients will be added on
+ followups too. If 'no', they're never added to the nosy.
+
+
+Nosy List
+~~~~~~~~~
+
+Roundup watches for additions to the "messages" property of items.
+
+When a new message is added, it is sent to all the users
+on the "nosy" list for the item that are not already on the "recipients" list
+of the message. Those users are then appended to the "recipients" property on
+the message, so multiple copies of a message are never sent to the same user.
+The journal recorded by the hyperdatabase on the "recipients" property then
+provides a log of when the message was sent to whom.
+
+If the author of the message is also in the nosy list for the item that the
+message is attached to, then the config var ``MESSAGES_TO_AUTHOR`` is queried
+to determine if they get a nosy list copy of the message too.
+
+
+Command Line Tool
+=================
+
+The basic usage is::
+
+ Help:
+ roundup-admin -h
+  roundup-admin help                       -- this help
+  roundup-admin help <command>             -- command-specific help
+  roundup-admin help all                   -- all available help
+
+ Options:
+  -i instance home  -- specify the issue tracker "home directory" to administer
+  -u                -- the user[:password] to use for commands
+  -c                -- when outputting lists of data, just comma-separate them
+
+ Commands:
+  commit
+  create classname property=value ...
+  display designator
+  export [class[,class]] export_dir
+  find classname propname=value ...
+  get property designator[,designator]*
+  help topic
+  history designator
+  import import_dir
+  initialise [adminpw]
+  install [template [backend [admin password]]]
+  list classname [property]
+  pack period | date
+  reindex
+  retire designator[,designator]*
+  rollback
+  security [Role name]
+  set designator[,designator]* propname=value ...
+  specification classname
+  table classname [property[,property]*]
+
+Commands may be abbreviated as long as the abbreviation matches only one
+command, e.g. l == li == lis == list.
+
+All commands (except help) require a tracker specifier. This is just the
+path to the roundup tracker you're working with. A roundup tracker is where
+roundup keeps the database and configuration file that defines an issue
+tracker. It may be thought of as the issue tracker's "home directory".
+It may be specified in the environment variable ``TRACKER_HOME`` or on
+the command line as "``-i tracker``".
+
+A designator is a classname and an itemid concatenated, eg. bug1, user10, ...
+Property values are represented as strings in command arguments and in the printed
+results:
+
+- Strings are, well, strings.
+- Password values will display as their encoded value.
+- Date values are printed in the full date format in the local time zone,
+  and accepted in the full format or any of the partial formats explained
+  below.::
+  
+    Input of...        Means...
+    "2000-04-17.03:45" 2000-04-17.08:45:00
+    "2000-04-17"       2000-04-17.00:00:00
+    "01-25"            yyyy-01-25.00:00:00
+    "08-13.22:13"      yyyy-08-14.03:13:00
+    "11-07.09:32:43"   yyyy-11-07.14:32:43
+    "14:25"            yyyy-mm-dd.19:25:00
+    "8:47:11"          yyyy-mm-dd.13:47:11
+    "."                "right now"
+    
+- Link values are printed as item designators. When given as an argument,
+  item designators and key strings are both accepted.
+- Multilink values are printed as lists of item designators joined by
+  commas. When given as an argument, item designators and key strings are
+  both accepted; an empty string, a single item, or a list of items joined
+  by commas is accepted.
+  
+When multiple items are specified to the roundup get or roundup set
+commands, the specified properties are retrieved or set on all the listed
+items.  When multiple results are returned by the roundup get or roundup
+find commands, they are printed one per line (default) or joined by commas
+(with the "``-c``" option).
+
+Where the command changes data, a login name/password is required. The login may
+be specified as either "``name``" or "``name:password``".
+
+- ``ROUNDUP_LOGIN`` environment variable
+- the "``-u``" command-line option
+
+If either the name or password is not supplied, they are obtained from the
+command-line.
+
+
+
+-----------------
+
+Back to `Table of Contents`_
+
+.. _`Table of Contents`: index.html
+.. _`customisation documentation`: customizing.html

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