Difference between revisions of "XTS"

From EUTC Wiki
(First paragraphs)
Line 2: Line 2:
  
 
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.
 
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
 
* History / Motivation
Line 28: Line 30:
 
** Static Server
 
** Static Server
 
*** Apache 2.2
 
*** Apache 2.2
 +
** Administration Server
 
** Javascript Client
 
** Javascript Client
 
*** Ami
 
*** Ami
Line 37: Line 40:
 
** Startup - Windows Services
 
** Startup - Windows Services
 
*** JSWrapper
 
*** JSWrapper
 +
* Installing XTS
 
* Making Improvements - A HOWTO
 
* Making Improvements - A HOWTO
 
** Known Issues
 
** Known Issues
Line 44: Line 48:
 
*** Firebug
 
*** Firebug
 
*** IPython
 
*** IPython
 +
** Things You Must Do
 +
*** Setting up your own dev version from trunk
 +
*** Working on a test data set
 
** Safe and Unsafe
 
** Safe and Unsafe
 
** Versioning
 
** Versioning
 +
 +
= Documentation =
  
 
== Parts of the System ==
 
== Parts of the System ==
 +
 
=== Database ===
 
=== Database ===
  
XTS uses a MySQL database. It should be very easy to port XTS to other databases, most access is abstracted through web.py but there may be some specific report-generating SQL queries that are specific to MySQL in the XTS source. See [[#data.py]] for more info.
+
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 ===
 
=== Ticket Server ===
 +
 +
The ticket server
 +
 
==== Source ====
 
==== Source ====
  

Revision as of 14:28, 18 July 2008

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
  • 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
  • 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

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