Code

doc cleanup, editing and creation of a What's New
[roundup.git] / doc / features.txt
1 ================
2 Roundup Features
3 ================
5 Roundup is a simple-to-use and -install issue-tracking system with
6 web, e-mail and command-line interfaces. It is based on the winning design
7 from Ka-Ping Yee in the Software Carpentry "Track" design competition.
9 *simple to install*
10  - installation (including web interface) takes about 30 minutes
11  - two templates included in the distribution for you to base your tracker on
12  - doesn't need *any* additional support software - python (2.1+) is enough to
13    get you going
14  - easy to set up higher-performance storage backends like sqlite_,
15    metakit_, mysql and postgresql
16  - the really impatient can try the instant-gratification Demo Mode (``python
17    demo.py``)
19 *simple to use*
20  - accessible through the web, email, command-line or Python programs
21  - may be used to track bugs, features, user feedback, sales opportunities,
22    milestones, ...
23  - keeps a full history of changes to issues with configurable verbosity
24  - issues have their own mini mailing list (nosy list)
26 *highly configurable*
27  - web interface HTML is fully editable
28  - database schema is also fully editable (only the "user" class is required)
29    with a full set of data types (including dates and many-to-many relations)
30    across all storages available
31  - customised automatic auditors and reactors may be written that perform
32    actions before and after changes are made to entries in the database,
33    or may veto the creation or modification of items int he database
34  - samples are provided for all types of configuration changes
36 *fast, scalable*
37  - with the sqlite, metakit, mysql and postgresql backends, roundup is
38    also fast and scalable, easily handling thousands of issues and users
39    with decent response times
40  - database indexes are automatically added for those backends that
41    support them (sqlite, metakit, mysql and postgresql)
42  - indexed text searching giving fast responses to searches across all
43    messages and indexed string properties
45 *documented*
46  - documentation exists for installation, upgrading, maintenance, users and
47    customisation
49 *web interface*
50  - fully editable interfaces for listing and display of items
51  - extendable to include wizards, parent/meta bug displays, ...
52  - differentiates between anonymous, known and admin users
53  - may be set up to require login, and may also only allow admin users
54    to register new users
55  - authentication of user registration and user-driven password resetting
56    using email and one time keys
57  - may be run through CGI as a normal cgi script, as a stand-alone
58    web server, or through Zope
59  - searching may be performed using many constraints, including a full-text
60    search of messages attached to issues
61  - file attachments (added through the web or email) are served up with the
62    correct content-type and filename
63  - email change messages generated by roundup appear to be sent by the
64    person who made the change, but responses will go back through the nosy
65    list by default
67 *e-mail interface*
68  - may be set up using sendmail-like delivery alias, POP polling or mailbox
69    polling
70  - may auto-register users who send in mail and aren't known to roundup
71  - nosy list configuration controls how people are added and when messages
72    are sent to the list
73  - auto-filing of "unformatted" messages into a particular class
74  - e-mail attachments are handled sanely, being attached to the issue they're
75    intended for, and forwarded on to the nosy list
76  - sane handling of content-type and content-encoding of messages (text/plain
77    preferred in all situations)
78  - email packages that display threading will show issue messages correctly
79    threaded
80  - users may send in messages from multiple addresses and be associated
81    with the same roundup username
82  - built-in security features like TLS and APOP
84 *command-line*
85  - may be used to interactively manage roundup databases
86  - may be scripted using standard shell scripting
87  - roundup's API may also be used by other Python programs - a sample is
88    provided that runs once a day and emails people their assigned issues
89  - a variety of sample shell scripts are provided (weekly reports, issue
90    generation, ...)
92 .. _sqlite: http://www.hwaci.com/sw/sqlite/
93 .. _metakit: http://www.equi4.com/metakit/