Bug Tracking Tools for Linux
The growth of Linux in the commercial world has been matched by the
demand and growth of software that can be used to manage and coordinate
projects, people and activities. When this list was started six years
ago, there were a handful of meager bug-tracking systems.
In the intervening time, the list of packages and products has exploded,
as well as seeing some of the packages grow tremendously in features and
functions. There is now a decent variety
of bug tracking tools available, commercial and open source. The
astute reader will notice that there still remain some gaping holes
in enterprise-class systems (for example, something competitive to
SAP R/3), in pre-sales, sales, and post-sales support systems, and
in scheduling and optimization systems. We hope these gaps will close.
Note to Free Software Programmers: Please DO NOT create
yet another project to implement some system! There are too many
half-finished, half-functional systems already! Do some research,
find a system that is appealing, and volunteer to carry it further!
At first, this may seem less rewarding, because you won't be Mr.
Super-Duper I-am-Head-of-the-Project Big-Shot
Might-Be-Linus-Torvalds-Soul-Brother. But in the long run, you will find
much more satisfaction from working on a project that
everyone knows and respects, than being the sole author of and
world-wide expert on some poopoo-kaka that no one has heard of.
I speak from experience!
If you really want to be famous, then develop a core technology that
allows one to easily create any one of these systems by merely
modifying a configuration file. Most of these systems have broad
similarities: they maintain lists of things that can be searched,
categorized and updated. Only the labels on the columns are
different. This is ideal for abstraction. Broadly speaking,
workflow systems have this kind of configurability. But there
are other ways to create the abstraction as well. Do it!
- TestTrack Pro (New Listing!)
- TestTrack Pro from Seapine
distinguishing feature is its integration with most common
source repository tools. The server runs on Linux, Windows, Mac,
other Unix; there is a web client and a native windows client.
Please check thier
feature list for additional info.
- ExtraView (New Listing!)
- Extraview
from Sesame. Web-based,
with some workflow-like features. Here are some features
that are not typically found on free/open-source packages:
- Wireless PDA support (for Palm VII only??)
- File attachments
- Summary and statistical reports, including html, MSWord and
excel output formats. Support for structured queries
and filters.
- Customizable per-user views.
- Security model to control user views and access, including
record-by-record, field-by-field security/filtering.
- E-mail notification
- Audit trails
- ASP or self-hosted.
- Easy to setup, customize & administrate.
- Wireless PDA support (for Palm VII only??)
- Rubicon Tracker
- Rubicon Tracker
is a trouble-ticketing system. Web-based.
Written in C++, back-ends to SQL. Free for open-source projects,
but other non-commercial or commercial use requires a paid-up
license.
Screenshots.
- Keystone
- The Keystone
system from StoneKeep Consulting
is the new, improved follow-on to their earlier web-based
PTS system.
Keystone allows users to create tasks or trouble-tickets via a
web interface. Tasks may be assigned to owners, modified to show
priority, project, status. Tasks may be organized in a hierarchical
manner, to aid in the tracking of sub-components. Users can
customize display and reporting preferences. Includes support for
contact points.
Keystone is a purely web-based system, implemented as a set of PHP3
scripts and using mSQL, MySQL or PostgresSQL as the backend
database engine.
Available in source form; free for ten or fewer users, larger sites
require a license.
-
Screenshots
- Keystone
ONLINE allows customers to report bugs, features on-line,
using the Keystone system itself.
Do not confuse this PTS with another, by the same name, listed
below.
-
- DTS Defect Tracking System
- The DTS Defect Tracking
System is a commercial web-based trouble-ticketing system.
A set of perl cgi-bins, it interfaces to a large variety of
SQL databases, and runs on most Unix's.
Includes an e-mail gateway and management statistics & reports.
For a modest price, you get the perl source code.
- CMVC Configuration Management and Version Control
- The popular and sophisticated CMVC system from
IBM has been ported
to Linux. The Linux port is not available to the general
public, but is an "Internal Use Only" item that can be
downloaded by IBM employees from internal IBM web servers.
If you work at IBM, and didn't know this, start by looking
at w3.austin.ibm.com, although I believe the actual s/w is
in Raleigh. If you don't work for IBM, feel free to hassle
your favorite sales rep about GA dates. Don't let them
give you lip about Linux; its been ported, and it works.
I repeat, this is not a generally available product.
- Synchronize on Linux
- The Synchronize
from Crosswind Technologies
package provides the ability to schedule appointments, meetings
distribute agendas and memos, assign and track tasks, and send
out reminders. Users can access individual and group calendars,
use pop-up notes, and access automatically updated to-do lists.
Commercial product.
Terms & Definitions
Call tracking and bug tracking systems might at first sound like the
same thing, but they're not. Some people even confuse bug tracking
with project management. There is a whole spectrum of tracking
systems that are custom tailored to suit different user needs and
modes of interaction. Lets define some of the more commonly used terms:
- Knowledge Base
- The basic idea behind a knowledge base is to automate customer support
by organizing product support information into an easy-to-find,
easy-to-access format. The knowledge base can be used by customer
support personnel to find answers to common customer complaints, or can
be put out on the web, allowing the customer to do their own searching.
Alternately these systems can be used to organizes product info for
sales people, allowing faster/easier access to a wide range of product
data for pre-sales support. At a bare minimum, a knowledge base
might be an indexed set of FAQ's and mailing list archives indexed with
a good search engine. At the high end, the system would have ways
of removing old crufty information, and be integrated with call tracking
or bug tracking systems.
- Trouble Ticketing
- Trouble-ticketing systems (aka incident-reporting or
issue-tracking systems)
usually confine themselves the the fairly
simple domain of tracking independent work items, and possibly
assigning them to one of several people. Tasks are treated
independently of each other, and usually have a very limited
set of states: "open", "in-progress", and "closed". Older systems
tend to be email based, newer ones are web/Java based, sometimes
integrating email. Fancier ticketing systems include a good
management report system, so that managers can track how many open
tickets there are, how long it took to close an average ticket,
what percentage of tickets remain unresolved after a week, etc.
- Help-Desk Management/Call Tracking
- Most Help-Desk Management systems are similar to Trouble-Ticketing
systems, except that they add a variety of customer tracking
features. Minimally, these include an address-book which logs
detailed customer relationship info, so that support staff can
understand how past relationships with the customer went,
can recognize high-priority/important customers quickly, and
understand customer quirks for special treatment
(i.e. to easily "know the customer"). Call tracking
systems usually include search capabilities for locating related
calls or trouble tickets, and/or referencing FAQ's based on the
problem description (aka a "Knowledge Base").
These systems might also provide
call tracking (time spent on the phone), time-tracking (hours spent
solving the problem), and may include mechanisms to automatically
bill the client for hours worked.
Premium systems add some workflow and escalation capabilities, so
that unresolved tickets can follow either the normal workflow
procedure, or be escalated to higher levels for
team-lead/management/special attention & resolution.
See also this more humorous, Dilbertian
Helpdesk.
- CRM -- Customer Relationship Management
- There are two very different types of systems that are both
commonly called 'CRM' by the trade press and the industry.
One type is a tool used by support/help-desk/direct-sales
personnel (the 'front office'). The other type is used by
marketing managers to mount marketing campaigns (the 'back
office'). So:
- CRM-Support systems are used to help support personnel
'know their customer'. At a minimum, such systems provide
'contract management': they track whether a given
customer has actually purchased a support contract, what type of a
contract it is (regular, premium, unlimited) and how much
time/incidents are left before the contract expires.
They frequently rate customers by importance, priority,
friendliness, and special treatment the customer may need.
CRM systems are usually integrated with Help-Desk/Call-Tracking
systems (below). At the low-end, CRM systems are no more
than glorified address books, such as the contact management
systems that salesmen use to collect and scan through sales
leads.
- CRM-Marketing systems are used to gather the names,
addresses, desires and interests of customers. These
databases of consumer preferences can be mined for statistical
information about consumer habits. These systems can then
tracking and management techniques to mount targeted
advertising campaigns (by bulk e-mail, surface mail,
phone surveys, web polls, news-article and advertising
placements, etc).
Some of these systems support web front-ends so that users
can register and fill out information about themselves,
either in the form of a consumer-survey or opinion poll,
or as a community-membership, or a product registration.
- CRM-Support systems are used to help support personnel
- Bug Tracking
- Bug-Tracking Systems are similar to Trouble-ticketing systems in
that they track independent tasks. However, bug tracking systems
usually define a greater number of roles and responsibilities,
(e.g. "programmer", "integrator/builder", "tester", "tiger-team
manager"), and limit the powers of each role in advancing the task
to its next state. Some bug-tracking systems are integrated with
version-management or configuration-management suites.
- Resource & Asset Management, Parts & Vendors
- Resource management and asset management systems are typically used
to track hardware inventory and repair histories. By 'hardware'
or 'assets', we mean anything expensive enough to track: PC's,
cars, trucks, machinery, aircraft, rental equipment, etc.
Such systems might include a trouble-ticketing system, so that
users can report equipment failure and request service.
When tracking computer equipment, a network management subsystem
might be included to deal with network connectivity problems,
or an automated equipment discovery system might be included to
report back the status and inventory of any given computer on a
regular basis.
Parts tracking systems include not only a contact database for
vendor support, but can also automatically generate a
bill-of-materials, suggest alternate/replacement parts, and
otherwise assist in the pricing of the parts needed to manufacture
an item.
- Workflow Management
- Workflow Management systems are similar to Bug-Tracking systems
in that they also define a variety of roles and authorities.
However, they tend to be more strongly integrated with document
management systems, allowing different roles to create, modify
and deliver version-controlled documents. Some also provide
job-costing or cost-estimation features. Others provide integration
with accounting systems for order tracking and/or inventory
management. At the extreme high end lie ERP systems, such as
SAP/R3 (portions of which are now available on Linux).
Note if you have a workflow system, then you can 'trivially'
implement a bug-tracking system, an asset management system,
a contact manager/addressbook, an opinion poll,
or a CRM system. True workflow systems make it very easy
to define and create new types of workflows. Some systems,
e.g a decent bug-tracker, can be created in literally one
afternoon. The 'workflow' abstraction is a powerful
abstraction, and I only wish that more people who are
writing bug-trackers, rolodex's and web-polls understood
this. We'd have a better world with better software ...
Note that many commercial CRM systems are dumbed-down
workflow systems.
- Project Management
- Project Management Systems distinguish themselves from all of the
above in that they track inter-related tasks and usually provide a
mechanism for scheduling and reserving resources, as well as
automatic minimization of time-lines or costs by re-arranging
schedules. Resource allocation is a well-known NP-complete
problem, and there are many complex algorithms that have been
discovered to try to efficiently solve this problem
(hill-climbing, simulated annealing, monte-carlo methods,
genetic algorithms, etc.). "Gantt chart" is a keyword here.
These systems are usually used to manage construction and
(large) engineering projects, where twiddling a schedule
can save tens of thousands of dollars or more.
- ERP - Enterprise Resource Planning
- ERP systems have a way of promising "all of the above". Usually,
(but not always), ERP systems are a collection of tools and
libraries that, in principle, can be configured and modified to
create any of the above systems. They often include a financial
subsystem as well. This allows, for example, a customer's bug
report or phone call can be turned into an invoice or purchase
order, which is then routed (using workflow) to the loading dock,
and so on. On the plus side, ERP systems are meant to be highly
configurable so that they can be modified to fit any customers
business practices. On the downside, they tend to be big and
difficult to configure and modify, usually requiring high-priced
consultants and months, if not years, of effort to deploy.
It is often the case that ERP systems don't do as good a job, or
are as easy to use, as single-use tools (such as the ones listed
above). On the other hand, ERP systems offer a uniform, integrated
meld of all of the above systems, which normally can't be made
to play nice together.
Selecting a System That's Right for You
I have attempted to categorize systems according to thier features
in order to make it easier to to select the tool that is right
for your needs. However, many of the systems listed here are being
actively developed, and are acquiring new features monthly.
Unfortunately, this web page is not updated monthly. Therefore,
it pays to review systems in categories that are related to what you
want: for example, many of the task-tracking systems are slowly
acquiring simple project management features.
In addition to the basic features that you need, you may want to make
a selection based on the software license, and the core technology.
These are particularly important criteria if you are thinking about
adding features to the system, or integrating it with other in-house
systems you may have. It may also ease system administration headaches
if you choose a core technology that you are already familiar with.
Basic license categories include Free Software (GPL License),
Open Source (BSD license), and Commercial (proprietary license).
The web-based systems build on a core web application server technology.
Some of the leading Free Software/Open Source application servers are:
- Zope, a python-based application
server. Big, robust, popular. Python has some marvelous
rapid-prototyping features that programmers love. - PHP, an application server using a
perl-like scripting language. The grand-daddy of app servers.
Very popular, very in, very hip. - Perl, a programming language.
When used with Apache and
mod_perl, it runs half of all web sites on the net. - JBoss J2EE,
an LGPL'ed (open-sourced) Java-based application server
(similar to IBM's WebSphere or BEA's WebLogic). This is the
dominant open-source Java-based application server. - Jetspeed
a Java based portal & application server.
Another selection criterion might be the use of an SQL backend for data
storage. Although SQL typically requires a bit more in system
administration effort, it is usually worth the effort:
SQL is more crash-proof in that it less likely to scramble your
data or leave you with a corrupt, unreadable datafile.
Data stored in SQL databases is more easily portable to other systems,
and can also be accessed by third-party report generators and query
tools. There are many SQL Databases for Linux.
Note that there are a number of commercial Application Service Providers
(ASP's) that provide web-based services of the kind reviewed on this page.
Access to some of these systems may even be free. However, because
these systems are not available for download or purchase (that is, they
do not allow you to install and maintain your own server), I do not
list any of these here. There are literally hundreds of these systems.
Listing them here would broaden the scope of these pages beyond what
I could manage. The main advantage to using an ASP is that you have
zero overhead/administration costs: you don't need to set up any
servers. The main disadvantage to using an ASP is that if the provider
goes out of business, then you loose access to your data (potentially
years worth of valuable client lists and the like; never mind
not being able to use the system any longer). And ASP's have gone
out of business ... A good directory for these services is the
Web-based Project Management ASP Directory
Note to Free Software Programmers: Please DO NOT create
yet another project to implement some system! There are too many
half-finished, half-functional systems already! Do some research,
find a system that is appealing, and volunteer to carry it further!
At first, this may seem less rewarding, because you won't be Mr.
Super-Duper I-am-Head-of-the-Project Big-Shot
Might-Be-Linus-Torvalds-Soul-Brother. But in the long run, you will find
much more satisfaction from working on a project that
everyone knows and respects, than being the sole author of and
world-wide expert on some poopoo-kaka that no one has heard of.
Time Tracking, Diary and Billing/Invoicing Systems
The following systems are provide basic to-do list management features,
and provide additional function for keeping track of daily
activities (Diary), the amount of time spent on a project (Time
Tracking), or for generating bills for services rendered
(Billing/Invoicing). Note that if you are a diarist, you might
be interested in a blogging/weblogging system (which I do not list
on this page).
- GnoTime, the Gnome Time Tracker
- GnoTime
(mirror)
is a time-tracking and billing system designed for
use by individuals/consultants. This Gnome/GTK+
application supports heirarchical projects, a journal
of time spent on a task, and an invoicing/billing
subsystem.
Disclaimer: I'm lead developer on this.
Drawback: single-user only.
- Time Sheets for Networks (TSN)
-
Time Sheets for Networks (TSN) is a simple web-based
time and task-tracking system. Individuals can log in
with a password and enter date/time/task/charge information.
Managers can add and delete tasks, clients, charges, and
can create reports. Inactivity timeout logs out users
after an hour. Source is GPL'ed, uses MySQL back end.
- journyx Time
-
Journyx Time is a web-based time and task-tracking system.
Users log in with a password and enter date/time/task/charge
information. Managers/admins can add and delete tasks, clients,
charges and run reports.
Uses PostgresSQL as a back-end. A five-user license is available
for free download and use; additional licenses are available
in the ballpark of $100 per seat.
Free Software/Open Source Bug Tracking/Trouble Ticketing Systems
Because there are so many bug-tracking and ticketing systems, I've
split the list into two: Open Source (immediately below) and Commercial
(next section). I have attempted to sort these roughly in terms of
complexity/features/usability/reliability scale,
based on my own incompletely-informed, poorly-researched and
faulty opinion.
Note, however, that (New Listings!) always appear at the top,
even if they aren't as good as some of the tools listed
below them.
Note some important gray areas between the open source and commercial
packages: some of the open source packages are commercially supported
and widely used; whereas some of the commercial packages have small
customer bases and are barely supported.
Note that some of the commercial packages, e.g. Keystone, makes
broad use of open source technologies for its implementation, and
is *almost* open source (whatever that means). Some of the commercial
packages make source code available at a very modest price.
- Bugin (New Listing!)
- Bugin is a
ticket-tracking/helpdesk system ...
- WebCall (New Listing!)
- WebCall is a
web-based trouble ticketing system. It distinguishes itself
from many other systems by including reports and graphs,
such as a
bar chart of tickets opened by month, or a
pie chart of calls by customer. Can export to spreadsheets
(excel format). The technology is Perl5 cgi-bin's backed onto the
MySQL database. GPL'ed.
- TouxDoux
- TouxDoux
is a project to create a task manager. It currently seems
to be somewhere between the alpha and beta stage, and is
possibly usable as a personal task manager.
The GUI is GTK/Gnome-based;
the data store is SQL (Postgres or MySQL).
Its not clear if any multi-user/groupware features are planned.
- The database structure is completely user definable.
That is, the user can define the names, meanings any
types of fields associated with a task. This allows the
system to be modified to fit the needs of different
offices, different individuals, different styles.
- Gantt and PERT charts via plugin. These look very raw
right now, alpha-level/proof-of-concept.
- The database structure is completely user definable.
- Roundup
- Roundup
is a project to create an issue tracker in Python. In the
alpha/beta stage. The primary strengths of this project
is its acute attention to user interface and usability
issues.
- ProManager
- ProManager
is a task-tracking tool. Uses a PHP front-end, various
SQL backends. Translated to 16 languages.
Public-domain license.
Currently very basic in the set of features that it offers,
although it does a few things other basic packages don't:
Support for authenticated users (users must login),
hierarchical tasks (tasks can have sub-tasks),
e-mail/SMS notification, ability to assign tasks for first free
user on a queue.
Screenshots
- RT
- RT is an web-based
trouble-ticketing system. Tickets can be opened by email, web or
command line. Written in perl, MySQL backend. Similar to Req and
RUST in that email is fundamental part of the system. GPL'ed.
Seems to handle basic functions rather well, and since this
system has been around for quite a while, the rough spots are
probably worn smooth. Nice new search feature.
Screenshots.
Includes several mailing lists, and list archives. Development of
version 2.0 in active development.
- ReqNG
- ReqNG is a email-based
trouble-ticketing system. Written in perl, flat-file(?) backend.
Traces its lineage back to the original Req (see below).
GPL'ed. Seems to do a good job handling all the basics,
and since this system has been around for a while, it should
be comfortable to use.
There are many adjunct developments that include a
WWWReq,
a web-based interface
(screenshots),
TkReq, a tcl/tk
client front-end
(screenshot),
and
xreq, a Motif
front-end.
- Bugzilla
- Bugzilla is a bug-tracking
spinoff from the Mozilla group. Web based, implemented in perl with
MySQL as a back end, its solid in appearance and is
used by a number of high-traffic web sites. This is a major system;
read more about its features
here.
Download source
here.
- GNATS (aka PRMS)
- The
GNATS/PRMS Gnu Bug Tracking System has been the
cornerstone of Free Software bug tracking systems.
The core is command-line, e-mail based, allowing additional
tools and GUI wrappers to be created for it. These include
wwwgnats, a web interface, and TkGnats, a Tk interface.
- Commercial support is provided by
Cygnus Solutions.
- The official GNU FTP
Site provides access to the older, stable version of GNATS.
- TkGnats
provides a nice Tk-based GUI interface to Gnats for most Unix
platforms, as well as 95/NT.
-
Cyclic Software's GNATS Page.
Do not confuse with the GNU GNAT tool, the GNU Ada95 Translator.
- Commercial support is provided by
- Double Choco Latte
- Double Choco Latte
is a basic web-based trouble-ticketing system. Implemented in PHP,
with PostgresSQL or MySQL backends. GPL'ed. Sourceforge project.
Screenshots.
Provides basic job estimation and time-tracking, and a
statistics page that totals hours worked.
Requires Javascript-enabled browsers.
- Teacup
- Teacup is
a web-based trouble-ticketing system. Implemented in Perl, with
a PostgresSQL back-end. GPL'ed.
Includes basic support for work estimation, time-tracking, and
billing of work to an account.
Two live demo pages: the
customer
(originator) interface and the
responder database (requires username test password
test). (This system is still in development: e.g.
There seems to be no way for a customer who opened a ticket to add
additional material to the ticket, or otherwise edit the
ticket, or cancel it. Another missing feature: problem descriptions
are not properly logged: a malicious or incompetent technician could
erase or mis-modify the original problem description.)
- JitterBug
- JitterBug
is a simple web based bug tracking system developed by the
Samba Team to handle the huge volume of mail they get at the samba-bugs
mail alias. They have been using the system since October 1997
with very good results.
JitterBug is written in C and runs as a CGI program under your
web server. Uses a flat-file backend. Messages enter the system
via email or a web interface. It is available under the GPL.
Features:
- very simple operation. No maintenance to do, just use it via the web.
- built in mailer for answering bug reports
- built in ability to create/use/modify FAQ entries
- each user can edit (via the web) their own preferences for
screen layout, colors etc.
- guest and non-guest interface
- has handled over 2500 bug reports (well, mostly help requests!) for
the Samba team over the last few months.
- logs an audit trail for each message
- very simple operation. No maintenance to do, just use it via the web.
- wreq
- wreq is
trouble-ticketing system. Features web and email interfaces.
wreq is designed to be distributed, using a hierarchy of master and
departmental servers -- useful not only for load-balancing, but,
probably more importantly, to let different political/administrative
groups control their own servers.
It not only tracks work requests, but provides facilities for
publishing FAQ's and HOWTO's across the server hierarchy.
Implemented in perl, using gdbm as the database back-end.
- OpenTicket
- OpenTicket
is a simple, basic open-sourced trouble-ticketing system.
SQL backend, based on Zope web application server technology.
This is a basic but functional system: allows users to create tickets
with various priorities and assign them to a team. Includes a
simple ticket search interface. Problem types and status is fully
configurable. No security mechanism. Has some nascent ability to
track time spent on a bug report.
- PHP HelpDesk
- PHP Helpdesk
is a project to create a PHP-based bug-tracking system. Hooks
up to a MySQL backend.
Currently supports only the basic functions (ticket creation,
viewing and search). Administration and configuration (such as
addition/deletion of new users, projects, categories)
is also through web-based dialogs.
See home page for screenshots.
Sourceforge project.
- BTT - Bluetail Ticket Tracker
- Bluetail Ticket
Tracker is a basic trouble-ticketing system. Written in
Erlang, and thus runs on Windows as well as Linux. GPL'ed.
- Tracker
- Tracker
is a Zope-based WikiWiki-style bug tracking system.
Seems to support the basic bug-tracking features.
- Debian Bug Tracking System
- The
Debian Bug Tracking System is an e-mail based system
with a web-based report generator. It is in
active use by the the Debian project.
Features:
- All manipulation of reports done by email; developers do not need
on-line web access or accounts on the host system.
- Each report has a separate email address for submission of
additional information.
- Bug reports can be viewed by the web, or e-mail.
- Core functions do not require CGI scripts.
- The Debian Project's instance has handled 16000 reports
over the past 3-4 years, and currently has a database of
5000 reports totalling 90Mb (January 1998).
- GPL'd.
The web interface will sorely disappoint web users used to
web-based bug tracking tools. The web display does not use
HTML tables for layout, and thus the pages look very raw.
E-mail headers on the bug submissions are not trimmed, and thus
most of the web page is filled with with cryptic-looking,
dense, and not very important email headers. There is no way
to manipulate reports from the web interface. Most
customization, as to projects, sub-projects and states has to
be done by hand by editing configuration files. There is no
support for user authentication, nor for user-based permissions.
There are a few scattered utilities on the net to create graphs
and reports.
- All manipulation of reports done by email; developers do not need
- PHPSAT
- PHPSAT
PHP System Administrator's Tool. Its an issue tracker.
- HelpDesk
-
HelpDesk is a web-based trouble-ticketing system.
Written in perl (Apache/modperl), with MySQL as the back end.
GPL'ed. Currently, supports only the most basic function.
Screenshot.
- Open Track
- The
OpenTrack
defect and enhancement tracking system was originally distributed
by OSF, and is maintained as an open-source project
by AccuRev.
Defects/change requests are stored in a flat-file system.
Has both TCL and Web interfaces. Ported to NT.
Does not appear to nurture any sort of user community.
Source is available but oddly packaged.
It comes under the OSF Free License.
- Job Control System (JCS)
-
Job Control System (JCS)
is a GPL'ed trouble-ticket package. Done up
with Bourne-shell CGI scripts working from a flat-file database.
Support can be purchased from
Bynari International
- Scarab
- Scarab
is a project to re-implement bug-tracking 'done right'.
After years of talk, it is finally shipping a version 1.0.
Apache/BSD license, implemented as Java servlets.
- frontdesk
- The
frontdesk mail sorting / trouble ticketing system.
The LSM entry reads: "Frontdesk is a set of scripts that put
incoming mail into threaded queues which can
be accessed via the web. Very useful for
customer support and bug tracking."
- WHUPS
- WHUPS is a new project
to create a merged bug-tracking & version control system. GPL'ed.
No code yet .. pre-alpha. Volunteers needed.
Commercial Bug Tracking/Trouble Ticketing Systems
I have attempted to sort these roughly in terms of
complexity/features/usability/reliability scale,
based on my own incompletely-informed, poorly-researched and
faulty opinion. Note, however, that (New Listings!) are always
listed at the top, even if they are not as good as some of
the listing below them.
Knowledge Base Systems
Knowledge base systems can be, at a minimum, glorified, automated FAQ's.
Fancier versions include an integrated search index that lists the FAQ
contents first, mailing list archive hits and/or bug database contents
last.
- TWiki
- TWiki is a web-based
collaborative discussion & document creation manager.
Users can freely edit or create new web pages using a simple markup
language. Linking and embedding is automated, thus simplifying the
editing. Includes search facilities.
A check-box/radio-button/pull-down menu interface can be created
using the 'categories' concept.
The history of changes/updates to a page can be
easily browsed.
Update of pages can be authorized based on groups:
unlike other Wiki's,
this makes this an ideal system for corporate intranet deployment
as it allows a measure of security and control.
Implemented as a set of perl cgi-bin's. Flat-file back-end (using
RCS for version control). GPL'ed.
- KnowledgeKit
-
KnowledgeKit is a Zope
extension. Since Zope is a generic discussion/application server, with
both search and database functions built in (including
an SQL back-end), I assume that KnowledgeKit benefits from these.
Includes support for FAQ moderation & support data (e.g. embedded
images). Note that Zope sites tend to be visually elegant, I assume
this property carries over to KnowledgeKit as well.
Open source, BSD license.
- Faq-O-Matic
-
Faq-O-Matic is a web-based system for maintaining a
FAQ (Frequently Asked Questions list). Includes a permission
system to control who is allowed to submit updates.
Implemented as a set of Perl CGI-bin scripts; GPL'ed.
- FAQ-U
-
FAQ-U is a searchable web-based FAQ editing system. Multiple
maintainers can be given permissions. Searchable index is
automatically created. Open Source license.
- FAQ Manager
-
FAQ Manager is a basic web-based FAQ editing system implemented
as a set of Perl CGI-bins.
- FAQ Wizard
-
FAQ Wizard is a searchable web-based FAQ editing system implemented
as a set of Python CGI-bins.
- QAML
- QAML site unreachable ...
- Jyve
- Jyve is a Java-based (turbine) package ...
Resource and Asset Management Systems
- Community Lend???
- Be sure to list Kert Petersen's community lending system.
This system provides a public-library like lending system,
allowing independent users to list items that they can lend,
and tracking the status/location of any given item.
- IRM
- IRM
is a GPL'ed asset tracking system.
Web-based, implemented in PHP, with MySQL back end, with work in
progress for other SQL back ends.
Source available by CVS, and this an active mailing list.
The following feature list was copied from the IRM web pages:
- Detailed storing of computer data, by RAM Types, operating
systems, hard drive space, the amount of RAM, etc.
- The ability to search through computers, software, and jobs
with powerful tools.
- Software tracking, with location, platform, serial numbers,
comments, and version fields
- Powerful tracking system, with priorities, TODO
jobs, followups to jobs, and a repair history tracking.
- Software association with computers, license# tracking.
- Tested in situations with thousands of rows of data, which
IRM handled exceedingly well.
- E-mail notification in tracking, tight security, Reports
(statistics features), group associated tracking, and
more!
- SNMP support as well as some 'Big Brother'ish features in
development.
- Detailed storing of computer data, by RAM Types, operating
Help Desk, Call Tracking, Customer Support
Customer support calls frequently cost anywhere from $10 to $60 per
call. This cost is fairly independent of the type of business:
The cost of having a live travel agent make a travel reservation
over the phone is about $25, the cost of a live operator take a
phone-in mail-order catalog order is about $7 to $15, and the cost of
a technical-support call for hardware or software support is $35 and up.
The goal of help-desk/call-tracking systems is to push down these
costs while at the same time making the help-center staff more
knowledgeable, more responsive, and more aware of the customer's needs.
- Xen
- Xen
provides a task-management/tracking system, a contact management
system, a time-sheet/expense system, and a report system.
Has web and email and command-line interfaces. Zope-based.
Free Software, the Xen Open Source License (XOSL) is a
modified version of the Mozilla Public License (MPL).
This is still a young system, a bit lean on overall features, but
appears to be functional. Unfortunately, the company that
began and sponsored its development has gone out of business.
The code is up on sourceforge, under the project name
MidnightXen
- RightNow Web eService Center
-
RightNow Web eService Center
from RightNow Technologies
features
a knowledge base that grows automatically with every written
response to a customer problem. The knowledge base is meant to be
published directly on the web, so that customers have a much better
chance of resolving their problem before calling the support desk.
The knowledge base is integrated with a ticket system, so that
new ticket info is fed back into the knowledge base. Integrated
with a live chat system, thus cutting down on the number of actual
phone calls.
RightNow Web is a very sophisticated, high-end CRM (Customer
Relationship Management) system, with advanced reporting, tracking
and management features.
- Provides incident/ticket tracking.
- Provides reports such as average length of time to
resolution of customer problem, etc.
- Integrated with a live chat system.
- Live
Demo
- Provides incident/ticket tracking.
- Interaction Manager
- The
Interaction Manager from
Q-Link Technologies is an online support system integrating
call-back, chat, self-help, co-browse capabilities.
Implemented with Java Servlets, supported on most Unix/Linux and
Windows platforms, uses Oracle, Sybase and Informix databases
(among others) for back end.
Company also sells a portfolio of portal management, email
management, knowledge-base management and workflow management tools.
- 'Instant Call Back' queues and routes customer phone calls
to the appropriate 2nd-tier support person for callback.
- Chat allows customers to engage in on-line chat with support
personnel.
- 'Co-browse' is a feature that allows customer support reps
to guide or 'push' web pages to a customer, helping them
navigate through a site to find what they want.
- 'Self-Service' helps build FAQ's and on-line knowledge-bases.
- 'Instant Call Back' queues and routes customer phone calls
- GLOBEtrack
- The GLOBEtrack
system from GLOBEtrotter
Software is a bug and call-tracking system. It features
e-mail integration, text and graphic reports, and ability to
create arbitrary fields. They are currently offering a
trial version for free download.
- Look up customer by name or company.
- Keyword search on the case synopsis.
- Customizable to match actual workflow/process of your business.
- Integrated email for easy responses.
- Management reports can be generated via command line (batch)
or graphically.
- Integrated bug-tracking system.
This can tremendously simplify support: for example, suppose
multiple customers call about the same bug. Once the bug
report is created, additional calls can be linked to that bug.
When the bug is fixed, the system can automate responses to
all the customers that were affected.
- Look up customer by name or company.
- FootPrints
- UniPress Software, Inc. has
released a Linux version of its
FootPrints (TM)
helpdesk automation software. This Java/WWW-based package records
and tracks problems, solutions, bugs, change requests, and any
related information, and makes the information available to anyone
with access to the Internet or Intranet.
FootPrints is fully customizable, extending the product's functionality
beyond a helpdesk system to a custom tracking system. Fields may be
created and named to fit the specific needs of a specific project.
With support for character, integer, float, choice, date, mail,
website and ftp field types, users are able to easily alter and then
automatically integrate new fields into the FootPrints desktop.
As of May 1997, the FootPrints Starter Pack includes the server
software and 3 licenses and is priced at $1995. Additional licenses
are available at $495 each.
- Online SupportCenter and HelpDesk Expert
-
Online SupportCenter and
HelpDesk Expert
from Applied Innovation
Management is a customer support system.
The company also offers a
contact management system built on the same technology:
the product descriptions for all three of these systems are almost
identical.
Fairly expensive, in the range of $1,500 to $2,500 per seat.
- Web based ticketing system.
- username/passwd access controls.
- searchable, indexed historical database
- management reports, charting, statistics.
- email/pager notification of new problem reports.
- Screenshots
- Web based ticketing system.
- ConSol* CM
- The
ConSol*CM from ConSol*
is a Helpdesk application. Can download free demo version.
- Integrated Knowledge Base
- Integrated Email
- Integrated FAQ-o-matic
- German company, web pages (and support) in Italian, German,
English.
- Java Clients, Java Server, run everywhere (NT/95/98, Solaris,
HP/UX, AIX, Irix, Linux, etc.
- RDBMS back-end, database access is through JDBC, so any database
with JDBC drivers is supported.
- Integrated Knowledge Base
CRM Marketing Campaign Managers
CRM Marketing campaign managers manage lists of
users/customers/subscribers, and their interests, and also manage
lists of advertising, bulk-mail, and press-release marketing
campaigns targeted at these individuals.
- Open Source CRM
- Open
Source CRM
is a project to create an open-source CRM-Marketing package.
Currently, it consists solely of KeyFactor,
a complete & fully functional targeted email campaign manager.
It allows the marketing/sales department to create
email campaigns specifically targeted at individuals
(its not a B2B tool, and doesn't handle corporate accounts).
Through its reports feature, it can provide sales forecasts.
It a set of PHP pages, coupled to a MySQL or PostgresSQL backend.
It is covered under the
Ricoh Source Code Public License, which is derived from the
Netscape Public License.
- Anteil
- Anteil CRM is an
open-sourced system that seems to be focused on marketing
campaign management.
- M4 eCRM
- M4
is a CRM-Marketing system.
Seems to be a membership and marketing campaign system.
It allows users to register themselves and their interests.
The system can then slice & dice this database of users,
and mount e-mail and other promotional and marketing campaigns.
Workflow Management
Workflow management is all about the flow of documents, such as 'work
order requests', through a bureaucracy. The document gains signatures,
approvals, notes, and might cause additional requests to get launched.
A very, very specialized example of this is the 'bug tracker', where the
document is called a 'bug report', and its status is tracked as
it moves from the submitter to the programmer to the tester and back to
the submitter. A generic way of creating a customized workflow
using XML is discussed on the Workflow
Management page.
- WebDocWf (New Listing!)
- WebbDocWf
is a web-based document management and workflow system.
Java/Enhydra-based. LGPL.
- TUTOS (New Listing!)
- TUTOS
is a web-based system that implements a calendar,
a bug/issue tracker, an addressbook, a group-activity manager
and a time-tracker into one. Mixture of php and Java.
GPL'ed.
- OpenFlow
- OpenFlow
is an open-source workflow and document management project.
Has development backing and is slated for deployment in the
Italian Public Administration. Zope-based. GPL'ed.
- IT4School
- IT 4
School is a workflow/communications package oriented
at school systems. Current emphasis is on integrating
with existing school informations systems, including
LDAP, Novell NDS and SASIxp.
- WFTK
- wftk is a project to
create an open-source workflow-management tool. Although its in
early stages, it has been consistently chugging along for a while,
and has the promise of becoming the open-source, GPL'ed package
for workflow management. Modular, GUI-independent libraries should
allow other projects to incorporate workflow. Linux and NT.
The overview of
workflow examples is a good intro to some of the issues
surrounding this type of software.
If you need something to do, go help this project.
- Action Manager (New Listing!)
- ActionManager
is a set of tools for defining, implementing and steering a
dataflow/workflow process on top of a set of CORBA components.
GPL'ed. Beta.
- WebDocWF (New Listing!)
- WebDocWF
is a Enhydra (Java-based application server) document
handling framework.
- WISE (Web-Integrated Software Environment) Version 1.0
- The
WISE package hails from
NASA
Software Research Labs. A fully-customizable
workflow-management package. The WPL (WISE Programming Language) allows
the sequence of stages that a task goes through to be configured
in a completely flexible manner. In addition, roles with
password-restricted role-privileges can be defined so that
only certain individuals/groups can make changes, approve, advance,
etc. any given task from stage to stage. The interface is entirely
web-based, the project information is stored in an mSQL database.
Includes ability to generate time-history graphs and summary bar
charts. Since the interface is entirely web-based, tasks and
reports can be accessed and managed from any operating system that
supports a web browser.
The original distribution will
not compile under Linux. A patched version can be found here:
wise-1.0e.tar.gz. The lsm is
here. This patched version
includes a sample template appropriate for bug tracking, including
roles for the defect originator, developers, builders, testers and
managers.
WISE is no longer actively maintained. I acted as maintainer
for several years, and am looking for someone willing to take over
this work.
WISE has a very powerful, very elegant and interesting way of
defining workflow, roles, and privileges, and is thus a potentially
extremely powerful system. This ability puts it way beyond the
capabilities of virtually any other bug tracking system or workflow
manager out there. Unfortunately, this feature is implemented
through an enhanced yacc (newyacc) that's buggy. WISE should be
carefully studied, the workflow concepts carefully, surgically removed,
and then re-written. TBD: remove need for newyacc, update build
system, broaden SQL support, modernize cgi infrastructure.
See below for more info.
- Process Manager
- The
Process Manager from
Q-Link Technologies is a workflow management system.
Provides a number of different workflow models, and includes models
where some of the work is done off-premesis, e.g. by
suppliers, channel partners or customers.
- Razor
- Razor
from Visible Systems Corp.
provides a customizable process & workflow management system
that's tied to an issue-tracking system. Includes support for
signature chains, audit trails, email notification of certain
events/process states. The bug-tracking subsystem is web-based.
The bug tracking system also integrates with a separate module that
provide change management & version control.
Project Management
I've tried to limit this category to tools that do not only
traditional issue and status tracking, but also have some
ability to solve the resource-scheduling problem. Support
for Gantt charts and modules for cost accounting and budgeting
are good signs that you have a complete project management tool.
The three tools below are commercial, and have a wide assortment
of features.
- Intellisys Project Desktop (New Listing!)
- The
Intellisys Project Desktop is a commercial, Java-based
project management client for Linux/BSD and other Unixes,
MacOS 9 and 10, as well as Windows. The visual layout is
reminiscent of MS Project: a heirarchical to-do-list next to
a Gantt chart. Free download, although this is licensed
software (shareware ??).
- Intellisys Project Enterprise (New Listing!)
- The
Intellisys Project Enterprise uses the same graphical
interface as thier Project Desktop (above), but adds multi-user,
role-based access and communications. Commercial, Java-based.
- AMS RealTime Project
-
AMS RealTime Project from
Advanced Management Systems
is a suite of tools, clients and servers for tracking projects,
project schedules, and doing cost management, in real-time.
This is an enterprise-class system, suitable for tracking and
scheduling the largest projects.
The tool suite consists of 'Projects', 'Costs', 'Resources', 'Solo'
and 'Server'.
- The Projects tool has all the features one would expect from a true
project management tool: critical path analysis, resource loading
and leveling, and the full spectrum of reports and graphs.
- The Costs tool is integrated in and provides budget and actual costs
for work performed, schedule and cost variance, estimate to
complete, etc.
- The Resources tool can be used to create plans, make work
assignments, and work with timecard information. Includes
data import/export capabilities, and can be used not only with
AMS Projects, but also Microsoft Project.
- The Solo tools is a client that individuals use to view all
assigned tasks, enter and update actual task status, update
estimates to complete a task, etc. Task timecard & status
info can be routed to management for review and approval.
- The Server provides a company-wide, managed, secure repository
for project, task and resource management information.
- The Projects tool has all the features one would expect from a true
- WebProject
- WebProject from
Novient
is a suite of Java applications for resource scheduling,
collaboration, plan development, document management.
It is billed as an enterprise-class
system with a 3-tier client-server architecture.
This tool is not open source, and given that it
has enterprise features, it probably has enterprise pricing
(e.g. $100,000 starting price).
-
Online Demo (a bit weak, not many projects pre-entered,
and therefore doesn't really show off the capabilities).
- Export/import projects from/to most major project
management tools.
- SSL and x509 certificate based security/authentication.
- Cross-platform: NT/95/98, Linux, Solaris, other.
- Oracle and other DB back-ends.
- ASP hosting service available.
- Variety of training classes offered, also consulting.
-
Schedulers, Planners and GANTT Chart Tools
These are not full-fledged project management tools.
Rather, these are pieces of software that focus on either solving
the scheduling equations, and/or tools that draw Gantt charts.
- MrProject
- MrProject
is a project management system for Gnome. GPL'ed.
This is an active project, with a good website (live CVS,
lxr, mailing lists, etc.) and corporate sponsorship
(CodeFactory).
Although it is still at the 0.1 version number, it
none-the-less is the most advanced and modern of the
GPL'ed, open-source crowd.
- KProject
-
KProject is a project management system for KDE.
So far, only the Gantt chart graphing widget has been
developed. It looks absolutely beautiful, if a bit over-busy
and hard to understand. GPL'ed.
- OpenSched
- OpenSched
is a project to create a project scheduler.
One inputs tasks, resources (people, equipment, etc.); it solves
the scheduling problem, assigning resources to tasks.
On output, it produces a variety of reports,
including a summary of tasks and task dependencies, GANTT charts,
and work schedules.
GPL'ed. Uses a hand-edited file for input, outputs LaTeX.
- QtGantt
- QtGantt
is a project to develop a Gantt-chart drawing tool for Linux.
As of this writing, version 0.0.4 == alpha level code.
Screenshot.
- Xplan
- Xplan
is an older X11/Xview based project management system.
One can create and edit project files containing task info
(task name, description, dates, etc.). The tool graphically
generates both PERT and Gantt charts on screen, and has an
option to generate LaTeX source for Gantt
charts and task sheets. For a while, this was dead code;
its been revived and patched for modern Linux versions.
The above web site points at a CVS tree, as well as a number
of screen shots.
Originally developed for SunOS, it requires the XView libraries
and header files to compile.
- PyGantt
- PyGantt is
a Gantt-chart drawing tool implemented in Python.
It accepts XML input and output Gantt charts. GPL'ed.
- General Purpose Project Scheduler - gscheduler
- gscheduler
is meant to be a gnome-based scheduler. Pre-alpha, nothing
functional yet.
- Associates.com (New Listing!)
- Associates.com have
a simple web-based gantt-chart creation tool. Implemented
as a set of Perl CGI-bins. GPL'ed.
ERP - Enterprise Resource Planning
The following are ERP tools and infrastructures for Linux.
- GNU Enterprise
- GnuE is a young project
hoping to create a GPL'ed ERP package. It has a variety of active
developers, and several projects underway, but is still in extremely
early stages. Current work focuses on a forms designer and a
an object/application server. The forms designer allows
user interfaces to be quickly defined & created for Windows,
Macintosh, Motif, gtk, java/swing and ncurses. The object server
defines a data abstraction layer, allowing data for come from a
variety of sources (such as SQL databases).
- GnueF, the forms designer, uses wxwindows, an LGPL'ed library to
provide motif, gtk, win32 and mac GUI's, and has its own Java
and ncurses interface builders.
- libgda is a transaction manager/data access library. It
provides a data abstraction interface to SQL databases.
- GEAS, the GnueE object server.
- GnueF, the forms designer, uses wxwindows, an LGPL'ed library to
- Panther/POSSL
- POSSL is the open-sourcing
of Panther (see
Panther for Linux) of an established ERP package.
The license, Jyacc Public License, appears to be BSD-like in nature.
Although a large chunk of Panther has been opened up, its not clear
which parts.
Panther seems to consist of the following parts:
- Transaction Manager provides access to various databases.
- A screen definition system that will create user interfaces
for windows, java, web. The system includes a GUI designer,
and an object repository.
- Business Objects. Not clear what is currently available.
The business objects are assumed to be in Java (EJB),
and IBM's WebSphere appears to be the preferred
communications/middleware server.
- Object description via UML. The UML editor is Rational Rose.
- Transaction Manager provides access to various databases.
- OpenSourceERP
- This project appears to be defunct; the domain is no longer
registered. This used to be the following:
OpenSourceERP is
a (vaporware) project run by marketing types. Although they
have no code, and have managed to build a top-heavy organization,
don't count them out. These folks are busy soliciting mind-share
and money, and have some sort of chance for pulling together
an open source ERP package. Just not yet.
Obsolete, Defunct, But Maybe Still Interesting
The following lists some of the older open-source systems.
Most of these appear to be no longer actively maintained,
which may or may not be a reflection of their quality.
They just might be suitable for renewed interest.
- RUST (Requests, Users, and Sys-admin To-do Tracking System)
- The RUST
E-mail based trouble-ticketing system. Supports multiple mailing lists.
Designed for and deployed as part of a help-desk automation tool.
Newer versions include an X11-based GUI, and a simple web interface.
No longer actively maintained, last round of development activity
seems to have been mid 1997, the mailing list archives stop late
1997.
- SIS
- The SIS
package accepts problem submissions via a web page. A summary table
can be viewed as a web page. This is a good basic package, although
the current version (Version 0.5) is missing some important
features, such as summary table by problem type, by owner, by
originator, etc.
Note: the last available version is Beta v0.5 - 16 November 1996
this system seems to be no longer updated or maintained.
- Req
- The Req
request system, e-mail based.
A set of perl scripts, with tcl/tk and emacs interfaces.
Pluses: multi-OS support.
Minuses: Current version lacks ability to easily support
multiple mailing lists.
Latest version that I can find is Version 1.2.7 from November 1994,
at above URL. See listing above for ReqNG, the successor to this
system.
- PTS/Xpts (Problem Tracking System)
- PTS/Xpts
is an X11R5/6 & Athena widget based application. No longer in active
development. (Last version appears to be v 1.1a2 from July 1995).
No mailing lists or archives.
Not to be confused with similarly names web-based PTS system
above.
- The X Consortium
PTS FTP contrib site.
- PTS home FTP site
- The X Consortium
- NEARNET
- The NEARNET Ticket
System. Based on the MMDF mail system, no sendmail support.
Requires Informix database.
Version problems?:
Version 1.3b
from May 1994, although above URL gives the same version, but much
larger size, and a 1996 date.
- Queue-MH
- The Queue-MH
is a set of MH-based scripts for tracking problem reports using
the MH mail system.
- MARS
- The MARS
(Machine Automated Response System) seems to be an old, e-mail based
trouble-ticketing system. Development appears to have stopped in
October 1993; that is the date on the seemingly latest version.
- Xopps
- Xopps is a Gantt chart/timeline graph creation & editing
tool developed by NASA/JPL. Reported to build but is
unstable under Linux.
Contact Susan Murphy <susan@natasha.jpl.nasa.gov> or
Mike Tankenson <mike@jpl-devvax.jpl.nasa.gov>.
Other Resources
- CRM Assist
is a portal to a broad array of commercial CRM and related
products. - Project
Management Tools and References -
John's Problem Tracking page. -
Problem Management Tools Summary is part of the FAQ from
the
comp.software.config-mgmt
newsgroup. -
Help Desk & Call Management Software Vendors - Help Desk
FAQ - International Quality &
Productivity Center lists conferences and presentations
covering support and help-desk issues. -
Project Management Programs FAQ - Source Code Control Tools for Linux
- Commercial
Software Review Publishers is a list of reviewers that
create detailed evaluations of software packages for
business customers. These include
SPEX Enterprise Software
Evaluations, the CMP group's
National Software Testing Labs
and the Aberdeen Group.
All of them have probably evaluated some of the software products
listed on this page.
- Project Management Control Tower
reviews and discusses the non-technical issues surrounding project
management. Just the little things like the relationship between
executives, project managers and team leads :-) - The Project Management Institute
is a professional organization for project managers. - Help Desk
Software is an alphabetical listing of vendors.
Unrelated stuff
- ACD-
Automatic Call Distribution telephone call
routing hardware.
TLA Glossary
- ASP
- Application Service Provider. A company that provides a
web-based service.
- CRM
- Customer Relationship Management. Software that tracks customers.
- CSR
- Customer Support Representative. The person who answers the 1-800
call.
Additional Notes about WISE
First, the bad news: WISE isn't really maintainable in its current
form. It needs a total re-write.
Next, the (really) good news: WISE is the *only* package out there
that has a fully configurable workflow schema. You can adopt it to
*any* workflow environment you want: e.g. software devel, where it can be
made to look like a standard bug tracker, to e.g. some bureaucratic,
state-administered public works/procurement project, where form x has
to be reviewed by approver y and signed by z only after a committee
hearing..`. etc.
(For example, look at the flow chart in
Purchase of a
Chair by a Pe(rs)on.
It does this by defining a configuration language. The language
allows you to define steps/stages in the process, the flow chart from
step to step. It also defines roles: viz what people are allowed to
perform which actions at which steps. A process can move from one step
to another only if your role allows you make that particular change.
You can now imagine the power of this: it allows you to overlay a number
of different processes on the same set of steps. It allows you to hide
certain steps from certain people, or mark them as read-only, etc.
A side-effect of this is that the GUI itself is auto-generated from
components based on the configuration language. Until you create
a configuration, you don't know what stages, steps, menu entries will
be. (Although you can guess that almost all processes share the ideas
of 'start/open', 'do some work', 'approve/verify', 'finish/close',
'reopen/escalate')
Similarly, the database schemas are generated based on the
configuration. Until you write the configuration, you don't know
what each record of the database needs to store ...
Now more bad news: I found the language processor to be buggy as all
get-out. The idea of using a language is bad also because it makes the
build process very messy & difficult: after parsing the configuration,
C code gets auto-generated, which must be compiled. SQL tables get
auto-generated, which must be loaded and initialized. It makes minor
process changes quite hard.
Now, the good news: most of the language constructs have matching
C structs (which could be taken stock, or re-implemented as C++
objects.) These objects are things like 'role', 'permissions', 'process
step', etc. The entire 'secret' of why this thing is so marvelously
configurable is embedded in the design of these objects.
History
Last modified February 2002 -- Linas Vepstas
linas@linas.org
Copyright (c) 1996-2002 Linas Vepstas.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. A copy of the license is included at the URL
http://www.linas.org/fdl.html,
the web page titled
"GNU Free Documentation License".
All registered trademarks and trademarks are the property of their
respective owners.
Published orginally on http://linas.org/linux/pm.html