view doc/features.txt @ 8562:9c3ec0a5c7fc

chore: remove __future print_funcion from code. Not needed as of Python 3.
author John Rouillard <rouilj@ieee.org>
date Wed, 08 Apr 2026 21:39:40 -0400
parents 695399dea532
children
line wrap: on
line source

.. meta::
    :description:
        Features of using the Roundup Issue Tracker. Describes
        all access methods, configuration and workflow capabilities.
	Links to detailed documentation.

================
Roundup Features
================

Roundup is an easy-to-use and -install issue-tracking system with
web, e-mail and command-line interfaces. Based on the winning design
from Ka-Ping Yee in the :index:`Software Carpentry` "Track" design
competition. 

.. container:: card

  **Installation and Setup**

  - Start using the software in `instant-gratification (demo) mode`_ with
    ``python demo.py`` or `a Docker container`_ in under 5 minutes. 
  - Choose from `five included templates`_ for your tracker.
  - `Customize`_ and use the demo as a template for your production tracker.
  - No need for additional support software, just Python (3.7+)
    to get started.
  - Basic installation (including a web interface) takes about 30 minutes.
  - Supports embedded databases like `SQLite`_ and dbm. Upgradable
    to databases like `MySQL`_ or `PostgreSQL`_ if needed.
  - Can be run in a container like Docker or kubernetes.
  - Deploy in your network as a standalone web server or `through
    various methods`_ like WSGI, FastCGI, plain CGI, etc.
  - Essential tracking features depend on the Python standard
    library. Supplementary packages from PyPI are optional and can be
    tailored to fit your unique threat model and security needs.

.. container:: card

  **Issue Tracking and Management**

  - Manage your issues your way. Handle bugs, features, milestones, 
    user feedback, fleet maintenance, office issues etc.
  - Issues become a mini mailing list to keep everyone informed.
  - Searches on specific properties (e.g. open issues with a high
    priority) can be saved and reused or shared with other users.
  - Full Text Search for quick searches across messages.
  - Keeps a detailed history of issue changes.
  - Email is a first class method for interacting with issues.

.. container:: card

  **Scalability and Performance**

  - Default trackers use simple HTML with low resource requirements.
  - Fast and scalable with sqlite, mysql, and postgresql backends.
  - Indexes are automatically configured.
  - Supports full-text indexing engines (xapian, whoosh, SQLite,
    PostgreSQL) for large trackers.

.. container:: card

  **Customization**

  - The database schema can be updated to `track additional data`_.
  - The web interface can be redesigned to fit your workflow.
  - Extensible web interface with various features like `wizards`_,
    bug displays, etc.
  - Add business rules using `auditors and reactors`_ for actions before
    and after database changes.
  - Comprehensive documentation for customization, installation,
    maintenance, and user guidance.

.. container:: card

  **Data Security, Privacy and Authorization**

  - Your data remains on your servers.
  - You can choose if AI can access the data.
  - Can use HTTPS for security over the web.
  - Fine-grained authorization (`ABAC`_, `ReBAC`_, `RBAC`_) based on
    user, resource, and external properties.

.. _`ABAC`: https://en.wikipedia.org/wiki/Attribute-based_access_control 
.. _`ReBAC`: https://en.wikipedia.org/wiki/Relationship-based_access_control
.. _`RBAC`: https://en.wikipedia.org/wiki/Role-based_access_control

.. container:: card

  **Documentation and User Management**

  - Users can sign up through the web interface or new user creation
    can be limited to admin users.
  - Can use an `external user database`_ (LDAP, password file)
  - Self-serve password reset for users via email.

.. container:: card

  **Email Integration and Automation**

  - Update issues via email with new messages and the ability to
    change properties of issues (e.g. close an issue).
  - Secure email handling with features like TLS, APOP, IMAPS/OAUTH.
  - Optional auto-registration for email users.
  - Configurable nosy list for each issue controls email notifications.
  - Proper handling of email attachments and content types.

.. container:: card

  **Command-Line and API Access**

  - Manage database interactively from the command line.
  - Automate modifications using standard shell scripting.
  - Python programs can use the Roundup Python API to manage/automate issues.
  - Sample scripts provided for various tasks.

.. container:: card

  **Remote Access Interfaces**

  - `RESTful API`_ accessible with basic HTTP authentication or optional JWT.
  - `XMLRPC interface`_ for remote tracker access with basic
    HTTP authentication.
  - Configurable CORS support for third-party web pages.
  - Ability to `generate and authenticate JSON Web Tokens (JWT)
    <rest.html#changing-access-roles-with-json-web-tokens>`_.

.. _`auditors and reactors`: reference.html#auditor-or-reactor
.. _`customize`: customizing.html
.. _`external user database`: customizing.html#using-external-user-databases
.. _`five included templates`: installation.html#choosing-your-template
.. _`instant-gratification (demo) mode`:
     installation.html#for-the-really-impatient
.. _`a Docker container`: installation.html#running-in-demo-mode-with-docker
.. _mysql: https://pypi.org/project/MySQL-python/
.. _postgresql: https://www.psycopg.org/
.. _`restful api`: rest.html
.. _`run in a container`: installation.html#docker-support
.. _sqlite: https://www.sqlite.org/index.html
.. _`track additional data`:
    customizing.html#adding-a-new-field-to-the-classic-schema
.. _`through various methods`: installation.html#configure-a-web-interface
.. _wizards:
   customizing.html#setting-up-a-wizard-or-druid-for-controlled-adding-of-issues
.. _`xmlrpc interface`: xmlrpc.html

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