Code

fixed issue2550730: FAQ has broken link to Zope book. Reported and fixed by John...
[roundup.git] / doc / features.txt
index dbfb73f11536880d355c8f6cb3b64069250e4ad4..e1fa98eef211cc0558041db7c496bf3419e3b141 100644 (file)
 Roundup Features
 ================
 
-
 Roundup is a simple-to-use and -install issue-tracking system with
 web, e-mail and command-line interfaces. It is based on the winning design
 from Ka-Ping Yee in the Software Carpentry "Track" design competition.
 
+*simple to install*
+ - installation (including web interface) takes about 30 minutes
+ - instant-gratification ``python demo.py`` :)
+ - two templates included in the distribution for you to base your tracker on
+ - play with the demo, customise it and then use *it* as the template for
+   your production tracker
+ - requires *no* additional support software - python (2.3+ but not 3+) is
+   enough to get you going
+ - easy to set up higher-performance storage backends like sqlite_,
+   mysql_ and postgresql_
 
 *simple to use*
  - accessible through the web, email, command-line or Python programs
+ - may be used to track bugs, features, user feedback, sales opportunities,
+   milestones, ...
+ - automatically keeps a full history of changes to issues with
+   configurable verbosity and easy access to information about who created
+   or last modified *any* item in the database
+ - issues have their own mini mailing list (nosy list)
+ - users may sign themselves up, there may be automatic signup for
+   incoming email and users may handle their own password reset requests
 
-*simple to install*
- - installation takes about 10 minutes for a basic installation
+*highly configurable*
+ - web interface HTML is fully editable
+ - database schema is also fully editable (only the "user" class is required)
+   with a full set of data types (including dates and many-to-many relations)
+   across all storages available
+ - customised automatic auditors and reactors may be written that perform
+   actions before and after changes are made to entries in the database,
+   or may veto the creation or modification of items in the database
+ - samples are provided for all manner of configuration changes and
+   customisations
+
+*fast, scalable*
+ - with the sqlite, mysql and postgresql backends, roundup is
+   also fast and scalable, easily handling thousands of issues and users
+   with decent response times
+ - database indexes are automatically added for those backends that
+   support them (sqlite, mysql and postgresql)
+ - indexed text searching giving fast responses to searches across all
+   messages and indexed string properties
+ - support for the Xapian full-text indexing engine for large trackers
+
+*documented*
+ - documentation exists for installation, upgrading, maintenance, users and
+   customisation
 
 *web interface*
- - fully editable interfaces for indexing and display of items
+ - fully editable interfaces for listing and display of items
+ - extendable to include wizards, parent/meta bug displays, ...
  - differentiates between anonymous, known and admin users
  - may be set up to require login, and may also only allow admin users
    to register new users
+ - authentication of user registration and user-driven password resetting
+   using email and one time keys
+ - may be run using WSGI or through CGI as a normal cgi script, as a
+   stand-alone web server, under mod_python or through Zope
+ - searching may be performed using many constraints, including a full-text
+   search of messages attached to issues
+ - file attachments (added through the web or email) are served up with the
+   correct content-type and filename
+ - email change messages generated by roundup appear to be sent by the
+   person who made the change, but responses will go back through the nosy
+   list by default
+ - flexible access control built around Permissions and Roles with assigned
+   Permissions
+ - generates valid HTML4 or XHTML
+ - detects concurrent user changes
+ - saving and editing of user-defined queries which may optionally be
+   shared with other users
 
 *e-mail interface*
  - may be set up using sendmail-like delivery alias, POP polling or mailbox
    polling
- - issues have their own mini mailing list (nosy list)
+ - may auto-register users who send in mail and aren't known to roundup
  - nosy list configuration controls how people are added and when messages
    are sent to the list
  - auto-filing of "unformatted" messages into a particular class
+ - e-mail attachments are handled sanely, being attached to the issue they're
+   intended for, and forwarded on to the nosy list
+ - sane handling of content-type and content-encoding of messages (text/plain
+   preferred in all situations)
+ - email packages that display threading will show issue messages correctly
+   threaded
+ - users may send in messages from multiple addresses and be associated
+   with the same roundup username
+ - built-in security features like TLS and APOP
 
 *command-line*
  - may be used to interactively manage roundup databases
  - may be scripted using standard shell scripting
+ - roundup's API may also be used by other Python programs - a sample is
+   provided that runs once a day and emails people their assigned issues
+ - a variety of sample shell scripts are provided (weekly reports, issue
+   generation, ...)
+
+*xmlrpc interface*
+ - simple remote tracker interface with basic HTTP authentication
+ - provides same access to tracker as roundup-admin, but based on
+   XMLRPC calls
+
+.. _sqlite: http://www.hwaci.com/sw/sqlite/
+.. _mysql: http://sourceforge.net/projects/mysql-python
+.. _postgresql: http://initd.org/software/initd/psycopg