The Cascabel Framework

Issues, be they bugs, requests, purchase orders, donations, or whatever, need tracking. Unfortunately, no one seems to make little radio collars for them. As a result, we need to create programs that maintain information about issues. That is what Cascabel is for.

Cascabel is the basis of a ticket tracking system. It handles tickets, which maintain information about specific issues. A ticket may be something like a purchase order, a bug report, or a request for support. The issue is assigned an identifier, or ticket id (an integer), and all communications about the issue (that pass through the Cascabel system, obviously) are logged and potentially forwarded to everyone associated with the ticket. Also, status information about the ticket is kept, such as its state (helpfully called the "status" in Cascabel) and the times it was created and last updated.

These tickets are organized in queues. The tickets in a queue should be related, like purchase requests, bug reports, and so on. The people who handle the issues, called staff members, are associated with the particular queues. In most Cascabel queues (depending on the interfaces built with the Cascabel framework, of course), the staff members for a queue can view and edit the information about every ticket in the queue.

Cascabel provides database manipulation in Python (for mail, command-line, and GUI interfaces) and PHP (for webby interfaces).


  • 23 Apr 2003: cascabel-preq-1.2: Initial public release. Cascabel-preq is the update to cascabel-req to support the UTCS Purchasing request queue.
  • 22 Apr 2003: Cascabel-1.6: Documentation revisions, added supporting PHP framework.
  • 9 Apr 2003: Cascabel-1.5: Initial public release.
  • 9 Apr 2003: cascabel-req-1.0: Initial public release. Cascabel-req is a more-or-less drop-in replacement for Req. It serves as the simplest (and oldest) example of building a Cascabel interface.


GNU General Public License, Version 2.


Cascabel requires some other packages to function:

  • MySQL.
  • Python 2.0 or later, with the following modules:
  • Sendmail, or another mail transport agent which provides a sendmail program for sending mail.
  • PHP, for CGI interfaces. Tested with 4.2.2.
  • A web server, for the CGI interfaces, and other programs, as needed by particular queue interfaces.

Other Projects

Take a look at RT. There are plenty of others, as well.

Req still has a web site.

gloria i ad inferni
faciamus opus

Return to Top | About this site...
Last edited Sat Aug 8 03:29:10 2009.
Copyright © 2005-2016 Tommy M. McGuire