XTS
Contents
eXtensible Ticketing System
This page is a stub. I intend to document as much of the ticketing system as possible but keep forgetting things that I want to write about. Until it's completed, here's a list of sections that I intend to write under. This article is currently aimed at people who want to maintain the source code, NOT people who want to learn how to sell tickets.
What I plan to write about
- History / Motivation
- Things you should know before you start
- Terminology
- "Reserved" vs. "Booked".
- "Holding" tickets.
- Principles
- Portability (OS Transparency)
- Accessibility (Network Transparency)
- Extensibility
- Readability
- Simplicity (Minimum Complexity in the Layers that Matter)
- High-Level Scripting
- Terminology
- Parts of the system
- Database
- Scheduled Database Backup
- Ticket Server
- Web.py
- API
- Security
- Print Server
- API
- Making new ticket layouts
- Changing the ticket logo
- Static Server
- Apache 2.2
- Administration Server
- Javascript Client
- Ami
- Snewts
- Prism
- Reporting
- XSLT
- HTTPProxy
- Startup - Windows Services
- JSWrapper
- Database
- Installing XTS
- Making Improvements - A HOWTO
- Known Issues
- Grokking the Source
- Familiarisation
- Tools You Must Use
- Firebug
- IPython
- Things You Must Do
- Setting up your own dev version from trunk
- Working on a test data set
- Safe and Unsafe
- Versioning
- Known Issues
Documentation
Parts of the System
Database
XTS uses a MySQL database. It should be very easy to port XTS to other databases, most access is abstracted through #web.py's db module but there may be some report-generating SQL queries that are specific to MySQL in the XTS source. See #data.py for more info.
The schema is called "xts".
Scheduled Database Backups
As of 2008-07-18, Maude is configured to take nightly backups of the XTS database to C:\XTS\Backups. These backups should be scaled back to weeklies at the end of Fringe 2008 or they will rapidly consume all available disk space on the machine. Furthermore the database should occasionally be backed up "off-site".
Ticket Server
The ticket server
Source
snewts.py
About snewts.py
logic.py
About logic.py
data.py
About data.py