comparison doc/features.txt @ 8033:6cebbb42c883

docs: regroup feature list using GPT and update Gave GPT 3.5 the original list of features annotated with the section header when needed to understand feature context. Asked it to recategorize. Took it's output and moved some things around, edited, and added more links. Also added links to the wiki for OAUTH and Shibboleth extrnal user databases to the customizing document section on external user databases.
author John Rouillard <rouilj@ieee.org>
date Tue, 11 Jun 2024 16:39:07 -0400
parents 4ed91247e8dc
children b1ff8c0e3e1d
comparison
equal deleted inserted replaced
8032:ce1e65af97fb 8033:6cebbb42c883
10 10
11 Roundup is an easy-to-use and -install issue-tracking system with 11 Roundup is an easy-to-use and -install issue-tracking system with
12 web, e-mail and command-line interfaces. Based on the winning design 12 web, e-mail and command-line interfaces. Based on the winning design
13 from Ka-Ping Yee in the :index:`Software Carpentry` "Track" design competition. 13 from Ka-Ping Yee in the :index:`Software Carpentry` "Track" design competition.
14 14
15 *simple to try* 15 **Installation and Setup**
16 - instant-gratification ``python demo.py`` or spin up a Docker
17 container in less than 5 minutes :)
18 - base your tracker on one of five templates included in the distribution
19 - play with the demo, customise it and then use *it* as the template for
20 your production tracker
21 - requires *no* additional support software - python (3.6+ or 2.7) is
22 enough to get you going
23 16
24 *simple to install* 17 - Start using the software in `instant-gratifcation (demo) mode`_ with
25 - basic installation (including web interface) takes about 30 minutes 18 ``python demo.py`` or `a Docker container`_ in under 5 minutes.
26 - supports embedded databases like sqlite_ and dbm so you don't 19 - Choose from `five included templates`_ for your tracker.
27 need a separate database like mysql_ or postgresql_ 20 - `Customize`_ and use the demo as a template for your production tracker.
28 - can be run in a container (Docker) 21 - No need for additional support software, just Python (3.6+ or 2.7)
22 to get started.
23 - Basic installation (including a web interface) takes about 30 minutes.
24 - Supports embedded databases like `SQLite`_ and dbm. Upgradable
25 to databases like `MySQL`_ or `PostgreSQL`_ if needed.
26 - Can be run in a container like Docker or kubernetes.
27 - Deploy in your network as a standalone web server or `through
28 various methods`_ like WSGI, FastCGI, plain CGI, etc.
29 29
30 *flexible* 30 **Issue Tracking and Management**
31 - manage your issues your way
32 - use it to track bugs, features, user feedback, sales opportunities,
33 fleet maintenance requests, office issues, milestones, ...
34 - can be deployed in your network running as a stand alone
35 web server (with optional reverse proxy), WSGI (with
36 mod_wsi under Apache, Nginx w/ gunicorn), FastCGI, as a
37 plain cgi script, or through Zope
38 31
39 *simple to use* 32 - Manage your issues your way. Handle bugs, features, milestones,
40 - default trackers have a basic web interface usable on any device 33 user feedback, fleet maintainance, office issues etc.
41 - users may sign themselves up, there may be automatic signup for 34 - Searches on specific properties (e.g. open issues with a high
42 incoming email and users may handle their own password reset requests 35 priorty) can be saved and reused or shared with outer users.
43 - accessible through the web (html, REST or XMLRPC), email, 36 - Full Text Search for quick searches across messages.
44 command-line or Python programs 37 - Keeps a detailed history of issue changes.
45 - indexed Full Text Search (FTS) gives fast responses to searches across all 38 - Issues become a mini mailing list to keep everyone informed.
46 messages and indexed string properties 39 - Email is a first class method for interacting with issues.
47 - automatically keeps a full history of changes to issues with
48 configurable verbosity and easy access to information about who created
49 or last modified *any* item in the database
50 - issues have their own mini mailing list (nosy list) to keep
51 everybody informed
52 40
53 *fast, scalable* 41 **Scalability and Performance**
54 - with the sqlite, mysql and postgresql backends, Roundup is
55 also fast and scalable, easily handling thousands of issues and users
56 with decent response times
57 - database indexes are automatically added for those backends that
58 support them (sqlite, mysql and postgresql)
59 - support for the Xapian, Whoosh, sqlite or Postgres full-text
60 indexing engines for large trackers
61 42
62 *highly configurable* 43 - Default trackers use simple HTML with low resource requirements.
63 - web interface HTML is fully editable using TAL or jinja2 44 - Fast and scalable with sqlite, mysql, and postgresql backends.
64 templating languages 45 - Indexes are automatically configured.
65 - database schema is fully editable (only the "user" class is required) 46 - Supports full-text indexing engines (xapian, whoosh, SQLite,
66 with a full set of data types (including dates and many-to-many relations) 47 PostgreSQL) for large trackers.
67 across all available databases
68 - fine grained authorization can be based on the properties of
69 a user and resource (`Attribute or Policy/Purpose Based Access
70 Control (ABAC or PBAC)
71 <https://en.wikipedia.org/wiki/Attribute-based_access_control>`_))
72 - customised automatic auditors and reactors to perform
73 actions before and after changes are made to entries in the database,
74 or may veto the creation or modification of items in the database
75 48
76 *private and self-hosted* 49 **Customization**
77 - your data on your servers
78 - used for AI training only if you want
79 - can be containerized or not
80 50
81 *documented* 51 - The database schema can be updated to `track additional data`_.
82 - documentation exists for installation, upgrading, maintenance, users 52 - The web interface can be redesigned to fit your workflow.
83 - samples are provided for all manner of configuration changes and 53 - Extensible web interface with various features like `wizards`_,
84 customisations 54 bug displays, etc.
55 - Add business rules using `auditors and reactors`_ for actions before
56 and after database changes.
57 - Comprehensive documentation for customization, installation,
58 maintenance, and user guidance.
85 59
86 *web interface* 60 **Data Security, Privacy and Authorization**
87 - fully editable interfaces for listing and display of items
88 - extendable to include wizards, parent/meta bug displays, ...
89 - differentiates between anonymous, known and admin users
90 - may be set up to require login, and may also only allow admin users
91 to register new users
92 - authentication of user registration and user-driven password resetting
93 using email and one time keys
94 - searching may be performed using many constraints, including a full-text
95 search of messages attached to issues
96 - file attachments (added through the web or email) are served up with the
97 correct content-type and filename
98 - email change messages generated by Roundup appear to be sent by the
99 person who made the change, but responses will go back through the nosy
100 list by default
101 - detects concurrent user changes
102 - saving and editing of user-defined queries which may optionally be
103 shared with other users
104 61
105 *e-mail interface* 62 - Your data remains on your servers.
106 - may be set up using sendmail-like delivery alias, POP polling or mailbox 63 - You can choose if AI can access the data.
107 polling 64 - Can use HTTPS for security over the web.
108 - may auto-register users who send in mail and aren't known to Roundup 65 - Fine-grained authorization (ABAC, PEBAC) based on user and resource
109 - nosy list configuration controls how people are added and when messages 66 properties.
110 are sent to the list
111 - auto-filing of "unformatted" messages into a particular class
112 - e-mail attachments are handled sanely: attached to the issue they're
113 intended for, and forwarded on to the nosy list
114 - sane handling of content-type and content-encoding of messages (text/plain
115 preferred in all situations)
116 - email packages that display threading will show issue messages correctly
117 threaded
118 - users can have multiple email addresses may associated
119 with the same Roundup username/account
120 - built-in security features like TLS, APOP, IMAPS w/ OAUTH
121 67
122 *command-line* 68 **Documentation and User Management**
123 - may be used to interactively manage Roundup databases
124 - may be scripted using standard shell scripting
125 - Roundup's API may also be used by other Python programs
126 - a variety of sample shell and Python scripts are provided (weekly
127 reports, new issue from command line, daily open ticket summary
128 email sent to the person assigned to the tickets, ...)
129 69
130 *xmlrpc interface* 70 - Users can sign up through the web interface or new user creation
131 - simple remote tracker interface with basic HTTP authentication 71 can be limited to admin users.
132 available at the /xmlrpc endpoint. 72 - Can use an `external user database`_ (LDAP, password file)
133 - provides same access to tracker as roundup-admin, but based on 73 - Self-server password reset for users via email.
134 XMLRPC calls
135 - see the `xmlrpc guide`_ for more details basic and advanced clients etc.
136 74
137 *RESTful interface* 75 **Email Integration and Automation**
138 - accessible using basic HTTP authentication at /rest starting point
139 - able to be extended with new endpoints
140 - CORS support for use by third party web pages.
141 - authentication can be done using JSON Web Tokens (JWT)
142 - see the `rest guide`_ for details.
143 76
144 .. _sqlite: https://www.sqlite.org/index.html 77 - Update issues via email with new messages and the abilility to
78 change properties of issues (e.g. close an issue).
79 - Secure email handling with features like TLS, APOP, IMAPS/OAUTH.
80 - Optional auto-registration for email users.
81 - Configurable nosy list for each issue controls email notifications.
82 - Proper handling of email attachments and content types.
83
84 **Command-Line and API Access**
85
86 - Manage database interactively from the command line.
87 - Automate modifications using standard shell scripting.
88 - Python programs can use the Roundup Python API to manage/automate issues.
89 - Sample scripts provided for various tasks.
90
91 **Remote Access Interfaces**
92
93 - `XMLRPC interface`_ for remote tracker access with basic
94 HTTP authentication.
95 - `RESTful API`_ accessible with basic HTTP authentication or optional JWT.
96 - Configurable CORS support for third-party web pages.
97 - Ability to generate and authenticate JSON Web Tokens (JWT).
98
99 .. _`auditors and reactors`: reference.html#auditor-or-reactor
100 .. _`customize`: customizing.html
101 .. _`external user database`: customizing.html#using-external-user-databases
102 .. _`five included templates`: installation.html#choosing-your-template
103 .. _`instant-gratifcation (demo) mode`:
104 installation.html#for-the-really-impatient
105 .. _`a Docker container`: installation.html#running-in-demo-mode-with-docker
145 .. _mysql: https://pypi.org/project/MySQL-python/ 106 .. _mysql: https://pypi.org/project/MySQL-python/
146 .. _postgresql: https://www.psycopg.org/ 107 .. _postgresql: https://www.psycopg.org/
147 .. _`xmlrpc guide`: xmlrpc.html 108 .. _`restful api`: rest.html
148 .. _`rest guide`: rest.html 109 .. _`run in a container`: installation.html#docker-support
110 .. _sqlite: https://www.sqlite.org/index.html
111 .. _`track additional data`:
112 customizing.html#adding-a-new-field-to-the-classic-schema
113 .. _`through various methods`: installation.html#configure-a-web-interface
114 .. _wizards:
115 customizing.html#setting-up-a-wizard-or-druid-for-controlled-adding-of-issues
116 .. _`xmlrpc interface`: xmlrpc.html

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