Program design is an interesting process. You start out knowing the basics of the problem and begin to address the apparent issues. In the process of fleshing out the solution, the overlooked minutiae start to appear, forcing initial assumptions to be reexamined. So you go back and make changes based on what you know now, then take another look, and go back...

Computer programmers call this an iterative process. I've experienced it in other types of projects; it just seems to happen with greater velocity on virtual projects. In an iterative process you discover things, find connections previously hidden, perceive new requirements. It can be both fascinating and daunting as simplicity yields to emergent complexity.

I'm still worrying out a class scheduling system. I believe I have database schema to the point where I can move on in the process. I thought I'd share that schema with any other computer geeks that might be passing through. The SQL is MySql flavored and I made a happy little picture of it ( see prior post for details on how).

I foresee an application that can be used not just prior to the event, but conceivably during the event to allow for inevitable changes. There is an allowance for point in time change logs.

The design allows for, among other things: Application logins, with security levels. Schedule for many different events. Event time span, locations available to the event, the times those locations can be used, private locations ( i.e. someone's camp) with non private available for the scheduling of the event itself. An instructor does not need to be tied to a login, allowing net challenged individuals to be scheduled by an administrator. Instructor self registration and self scheduling, through blocking available time and entering or selecting classes they are willing to teach. Instructor on site information, allowing for class cancellation or shifting. Class base information. Scheduled class information, which can change from the base. Scheduled class change tracking, changes like new instructor, new location, new time or outright cancellation can be referenced to the original offering.

One of the things that came out of this exercise was the idea that an instructor could simply log in and get a listing of just their class schedule. Which lead to another idea which I think will make many people happy but was outside the scope of original design: I'll call it MyClasses.

With MyClasses, an individual could log in and mark the classes they're interested in taking at an event and get that list. Further, given the dynamic nature of large events, they could see if those classes are still offered, if they've changed since they last looked, etc. If they're also teaching, that would show as well, conflicts could be highlighted... It's more work than I originally envisioned, but I like the idea.

Just typing this, I see the possible need to apply login security not just at the application level but on a per event basis. I'll have to weigh that against complexity.

I have no application written yet, of course. That will take a few weeks or months, depending on my schedule. It will be PHP, mostly because PHP and MySql are offered as an option by most ISPs, including mine. If it comes together well, I'd prefer some SCA official site host the thing, my little corner of the web won't be able to take a full blown Pennsic sign up. Well, maybe. We'll see how it goes.
.

Profile

baavgai: (Default)
baavgai

Links

Most Popular Tags

Powered by Dreamwidth Studios

Style Credit

Expand Cut Tags

No cut tags