Req - An email-based request tracking system Overview ======== Req is a tracking system based around this paradigm: people with problems or questions send requests via email to a group responsible for dealing with those issues. Those requests are assigned numbers that can be tracked and managed in various ways. The group handling the requests needs to have access to a UNIX computer or network. Req was designed for a systems administration group but could be applied to other groups as well. Details ======= Users send request mail to an alias. (For example, in our original setup, mail was sent to "systems" or "help".) Their mail is piped through a program which takes the mail, assigns it a new request number, and puts a copy of the mail in file associated with the number. That file will be used as a log of all the events associated with the request. The mail is then passed on to the recipients of the list, with the number of the request added to the subject line of the mail. It will look something like: Subject: [Req #42] Help! How do I send mail? Any mail sent through the mail alias with a request number in the subject line is assumed to be associated with that number, and is appended to the log for that number. Typically, a member of the alias will reply to the user and send a copy of the reply to the list. The reply then becomes part of that number's log. If the user replies, the same thing happens. A request item has several features: A requester, who is the person who originally requested it. An owner, who is the person, if any, working on the request. A priority, used by the group to prioritize requests. A status, which indicates whether or not the request is resolved, stalled, or open. Several dates, indicating the time of the original request, the last time it was updated, and the last time the user was informed of the status. One may do any of these actions (and a few others) on a request: Take it. (Assume ownership if no one else owns it.) Give it to someone. Change the priority. Change the status. Add comments to it. These can be done via mail, via a UNIX command line, or via any of the interfaces that have been developed for it. Currently, the only other interface that exists is a Tk based X interface, but an emacs client and a curses client are under development. In addition, the queue of active requests may be viewed in a variety of ways, based on owner (or lack of one), status, priority, requester, and other features. Users may run a program that shows them the status of their own requests. We've tried to design the system to be as policy-free as possible. For comments about how we've used it, see some other document that I need to write. Requirements ============ - RFC-822 compliant mail I.e, Internet standard mail. - sendmail It could probably work with other mailers with some very minor work. I should note that unless you're running version 8.6.8 or later, you should upgrade for security reasons. - Perl I've only tested it on version 4.036, but it should work on older versions. - A C compiler and sh. I've only built the C programs under SunOS 4.1.3 and Ultrix, but they're pretty small and should be portable, or nearly so. - A file system that your mail server and you as a user have access to. NFS, AFS, whatever. But something. It's been tested on SunOS 4.1.3 and Ultrix 4.3, and apparently has run on numerous other things. Yay perl. Not required, but nice ====================== - Tcl 7.3, Tk 3.6 For the X interface. - Emacs For the emacs interface. - Glimpse For indexing and searching the requests. Available from ftp.cs.arizona.edu:/glimpse Feedback ======== If you have any comments or questions, please send them to: req@ccs.neu.edu