Mercurial > p > roundup > code
changeset 8027:4ed91247e8dc
docs: trying to cleanup/categorize features better.
The features lists are long and rambling and some features don't really
match their headers.
Not sure this is better but...
Also added private and self-hosted as a feature category.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 05 Jun 2024 20:37:22 -0400 |
| parents | 6a53d46d1c57 |
| children | 14a10cc9b7b4 |
| files | doc/features.txt |
| diffstat | 1 files changed, 55 insertions(+), 43 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/features.txt Wed Jun 05 09:57:37 2024 -0400 +++ b/doc/features.txt Wed Jun 05 20:37:22 2024 -0400 @@ -12,36 +12,59 @@ web, e-mail and command-line interfaces. Based on the winning design from Ka-Ping Yee in the :index:`Software Carpentry` "Track" design competition. -*simple to install* - - instant-gratification ``python demo.py`` takes less than 5 minutes :) - - installation (including web interface) takes about 30 minutes - - five templates included in the distribution for you to base your tracker on +*simple to try* + - instant-gratification ``python demo.py`` or spin up a Docker + container in less than 5 minutes :) + - base your tracker on one of five templates included in the distribution - play with the demo, customise it and then use *it* as the template for your production tracker - requires *no* additional support software - python (3.6+ or 2.7) is enough to get you going + +*simple to install* + - basic installation (including web interface) takes about 30 minutes - supports embedded databases like sqlite_ and dbm so you don't need a separate database like mysql_ or postgresql_ + - can be run in a container (Docker) + +*flexible* + - manage your issues your way + - use it to track bugs, features, user feedback, sales opportunities, + fleet maintenance requests, office issues, milestones, ... + - can be deployed in your network running as a stand alone + web server (with optional reverse proxy), WSGI (with + mod_wsi under Apache, Nginx w/ gunicorn), FastCGI, as a + plain cgi script, or through Zope *simple to use* + - default trackers have a basic web interface usable on any device + - users may sign themselves up, there may be automatic signup for + incoming email and users may handle their own password reset requests - accessible through the web (html, REST or XMLRPC), email, command-line or Python programs - - use it to track bugs, features, user feedback, sales opportunities, - fleet maintenance requests, office issues, milestones, ... - - issues have their own mini mailing list (nosy list) - indexed Full Text Search (FTS) gives fast responses to searches across all messages and indexed string properties - - users may sign themselves up, there may be automatic signup for - incoming email and users may handle their own password reset requests - 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) to keep + everybody informed + +*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) + - support for the Xapian, Whoosh, sqlite or Postgres full-text + indexing engines for large trackers *highly configurable* - - web interface HTML is fully editable - - database schema is also fully editable (only the "user" class is required) + - web interface HTML is fully editable using TAL or jinja2 + templating languages + - database schema is 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 + across all available databases - fine grained authorization can be based on the properties of a user and resource (`Attribute or Policy/Purpose Based Access Control (ABAC or PBAC) @@ -49,22 +72,17 @@ - customised automatic auditors and reactors to 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 + +*private and self-hosted* + - your data on your servers + - used for AI training only if you want + - can be containerized or not + +*documented* + - documentation exists for installation, upgrading, maintenance, users - 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) - - support for the Xapian, Whoosh, sqlite or postgres full-text - indexing engines for large trackers - -*documented* - - documentation exists for installation, upgrading, maintenance, users and - customisation - *web interface* - fully editable interfaces for listing and display of items - extendable to include wizards, parent/meta bug displays, ... @@ -73,18 +91,13 @@ to register new users - authentication of user registration and user-driven password resetting using email and one time keys - - may be run using a stand alone web server, WSGI (with mod_wsi or - the depricated mod_python under Apache), as a plain cgi script, 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 + - 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 - detects concurrent user changes - saving and editing of user-defined queries which may optionally be shared with other users @@ -92,28 +105,27 @@ *e-mail interface* - may be set up using sendmail-like delivery alias, POP polling or mailbox polling - - may auto-register users who send in mail and aren't known to roundup + - 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 + - e-mail attachments are handled sanely: 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 + - users can have multiple email addresses may associated + with the same Roundup username/account + - built-in security features like TLS, APOP, IMAPS w/ OAUTH *command-line* - - may be used to interactively manage roundup databases + - 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 - for - example a Python script torun daily email people their assigned - issues is provided - - a variety of sample shell scripts are provided (weekly reports, issue - generation, ...) + - Roundup's API may also be used by other Python programs + - a variety of sample shell and Python scripts are provided (weekly + reports, new issue from command line, daily open ticket summary + email sent to the person assigned to the tickets, ...) *xmlrpc interface* - simple remote tracker interface with basic HTTP authentication @@ -125,8 +137,8 @@ *RESTful interface* - accessible using basic HTTP authentication at /rest starting point - able to be extended with new endpoints + - CORS support for use by third party web pages. - authentication can be done using JSON Web Tokens (JWT) - - CORS support for use by third party web pages. - see the `rest guide`_ for details. .. _sqlite: https://www.sqlite.org/index.html
