Note: CogDogBlog has a new WordPress powered home at http://cogdogblog.com/. All entries from this version have been moved there, so as a guide dog service try finding this article in its new home by title search.
As part of our support for some of our system-wide Arts programs, a few months back I agreed to build a web site and some online registration tools for the March 2004 American College Dance Festival (Southwest Regional) being hosted by our Scottsdale Community College. There are some 350 attendees from 31 different college dance programs.
They did not give enough lead time to set up totally online registration, but we did take some weakly formatted materials, and have the attendees use MS Word protected "Form" documents to submit their registration details.
But the fun came this past 2 weeks in setting up a completely online system for the college representatives to sign their students up for the classes that are offered over 4 days. The first part was getting the class details (name, location, instructor, maximum registration). I had made an Excel spreadsheet with different sheets to match the database tables (especially as the class titles continue to change, student names were dropped, added) so that the conference folks could send me data, I could then import into the mySQL database. The fist tool was generating a schedule preview, with link to the instructor bios (also drawn from the database).
This was a messy pile of data to sort out- nearly 150 different classes, with different maximum numbers (room dependent), participants could select 1,2,3 class preferences for 14 time slots, and having to work around conflicting events such as rehearsals and adjudication (I have no idea what that is, but I had to type it a lot ;-). Oh, and there are these "Master Classes" where each college was allotted so many registration slots, AND, a person could take only one Master Class.
I was told that in years past, attendees had to stand in line at the conference registration to get their class requests, so if this work, it would take away that hassle, and provide the event planners more room to plan for the conference details.
The system has been open just a few days, and it appears that 26/31 colleges have already gotten their participants . registrations in. It is competitive as classes fill, so they were eager to log in and sign up. I cannot let you see, but have collected some screen shots.
This is the login page for one identified person from each college responsible for entering information. I made a simple PHP script to email them instructions, their username, and password (the form has a check box to sue to create an email notification for a lost password):
The main screen (and all others) allows them to do the primary tasks- enroll students/faculty from their college in classes, and set up their college registration in the Master Classes:
Selecting an individual student form the top menu allows the selection of 1,2,3rd choices for a time slot. I did not have time to block out their other scheduled rehearsal commitments because that schedule was chaotic to say the least. These selections can be changed any time during the open registration.
The "check availabilitty" links on each class line provide a means to see how many people have registered for a class, and a color code for the availability (.e.g red in column 1 if there are already enough #1 preferences to fill; yellow in the first two columns if the sum of #1 and #2 choices is between 50 and 100% of the max)...
Newly added (last night) is a "preview" of the individual's schedule- only approximate as choices change during the open period (when ti closes, a script will march through the schedule and assign students to the classes):
Then, I made an admin tool so the planners could keep an eye on the registration.... The main admin screen shows the total number of registration events from each college:
There are drop down menus to check the current registration for all classes- this will eventually be printed as a roster:
The last thing to do is to write the script Wednesday that will march through and build final schedules. This looks like a lot, but there is a great deal of code re-use, and banging hard on the mySQL kept the logic clear. I think.
Now this is how you do the database mambo.... you put your left foot in, you put your left foot... (you can see I know squat about dance!)blogged March 1, 2004 07:36 AM :: category [ web dev ]