Ballroom Competition Planning and Execution
SlidingDoors is the name of the on-line registration component of CIB. SD is an outgrowth of Dave Leung's OpenImpetus program(link soon) which was a perl based series of web-pages backed by a hand coded database system. OI was initially coded for a paticular competition and was generic enough to be useable by others, but not easily. It was realized that to do the future enhancements right, it would require a complete redesign and rewrite, and SlidingDoors was born.
The name SlidingDoors was chosen to preserve the family heritage of using ballroom dance step names for the registration software. The first code in this family was OpenTelemark, which became OpenImpetus. While SlidingDoors does jump style (from Standard dance steps to Latin dance steps for the non- ballroom people reading this page) it does have an appropriate name as a person could enter a competition building by walking through some sliding doors.
SD has several main areas: Couple Registration, Team Administration, and Registration Statistics. The first two are series of php pages to handle the user input. The latter is static HTML generated/updated by the Couple Registration pages. SD was designed with the collegiate ballroom team in mind which means that it easily deals with competitors dancing with multiple partners or with team "registration officials" registering a team instead of people registering themselves. As a result it has to do some simple name checking to ensure people are registered twice under slightly mispelled names.
SD saw first use in April 2002 at the home MIT competition. Three competitions are planning to use SD in the fall of 2002, two are being hosted off MIT's server, one is working on a local install. Most of the code has finished its customization so that it is fairly easy to use for different competitions. The ease of customization should increase greatly over the next few motnhs. At present it requires some one with basic Linux/Unix skills, in the future it will be entirely web-customizeable.
Tom Nugent designed the new look and feel of the site, migrating it away from the vanilla black-on-white with poor layout, to the current site. Tom's done a wonderful job, especially considering the number of things that couldn't be changed from the vanilla version. Eric Nielsen had to reimplement Tom's CSS-based solution in nested tables to deal with browser issues; any problems in implementation are Eric's fault and bugs should be addressed to him.
The code for SD is actually what should be considered a template that requires instantiation. The mechanism for this instantiation plans to be PrepStep. However the cvs repository will also contain an instantiated template if people want to work only on this module.
The SD code at present does not require any auxillary databases, though some of the auxillary affiliation registration tables could be split off of Ragu.