Greetings. This is my first post here and the reason I joined the forum.
I work at a higher education center and I am the entire IT staff here. I'm the help desk, network administrator, web developer, etc. I've never claimed to be a good web developer and I've always said I would love for our web site to be outsourced, but that was never permitted. So, over the years I hacked together an unattractive but quite functional web site using ASP classic, VBScript, MS SQL databases, etc. Everything chugged along fine until a recent SQL Injection attack hosed our site.
With the vulnerabilities exposed to both me and my superiors, the decision has been made not to patch together and "fix" the old site by trying to secure a LOT of very insecure code, but to rebuild with a more modern platform that would not be as vulnerable.
The hope is that, somewhere out there, there is a turnkey solution. But, I've looked before and I just have not been able to find something that, without a great deal of custom modifications, fits our very precise needs. So that's what I'm hoping to find.
First, a little background on how we operate. As I said, we are a higher education facility. We are operated by the state. We do not provide the education - we basically provide the building and the technology within it. We work with a number of colleges and universities around the state (as well as a couple outside the state). We currently have 10 different partner institutions. They offer the classes here to local students, they provide the teachers, they register and enroll their own students, they collect tuition from the students, they have their own LMS systems, etc. We provide the classroom building and technology - computer labs, Smart classrooms, video conference classrooms, etc. We also rent out rooms in our building to local businesses and organizations for meetings, seminars, depositions, conferences, etc. Several of the schools we partner with have offices here, some don't. The web site is a marketing and informational tool so local students can see, all in one place, the various academic programs and courses that are offered here and through which school.
So here's a quick overview of the web based system we've been using. I'm leaving out a lot of detail - this just hits the major points.
Basic Structure:
Databases
Institutions table keeps information on schools.
Example fields: Long name, Short name, Mailing Address, Web Address, Phone, Fax, Logo, LogoSmall, Active, Note
Contact Info table keeps contact lists for each school
Example fields: Institution, Type, Name, Title, Department, Email, Phone, Fax, Is Emergency Contact?
Institution Calendar table keeps academic calendar information for each institution
Example fields: Institution, Term, Admission Deadline, Registration Deadline, Class Start Date, Class End Date, Holidays
Programs table keeps information on academic programs
Example fields: Institution, Degree, Degree Prefix, Title, Degree Suffix, Notes
Class Schedule table holds the list of classes
Example fields: Institution, Term, Session, Course Number, Section Number, Call Number, Title, Instructor, Days, Start Time, End Time, Begin Date, End Date, Room Type, Academic Program, Status
Variables table contains variables that change from semester to semester and are used throughout the web site.
Example fields: Previous Term, Current Term, Next Term, Show Schedule, Registration Date, Submission Deadline,
Staff table holds contact info for our staff and school staff with offices at our building
Example fields: Organization, Order, Name, Title, Email, Office Phone, Home Phone, Cell Phone, Home Address
Control Panels
School control panel allows school representatives to update school info, contact info, academic calendar, submit classes, and modify previously submitted classes before schedule is “finalized.”
Staff control panel allows our staff to make above changes plus assign room numbers to classes, cancel classes, print room signs, publish schedule to the web site, add or edit academic programs, add new partner institutions (or disable institutions that no longer offer courses here), view class lists based on various criteria, and reset everything for the next semester.
“Schedule Planning Guide” Process
Our staff (that would be me) prepares web site for new semester. (Variables table is updated with new semester info so all references to past semester on the web site are replaced with the new semester. Schedule of classes are “hidden” from public view and a message is displayed saying the schedule has not yet been finalized and to check back later.)
Schools begin their part of the process by reviewing their basic information such as contacts, school info, etc. and make any changes necessary via their control panel.
Schools enter their academic calendar.
Schools enter their class schedule – certain fields (such as start and end date) are populated by info from the previously entered academic calendar.
After deadline for submission, classes are approved by our staff and room numbers are assigned.
Schedule is published to the web site (status set as active) by me.
Schedule can be viewed on web site organized by School, Degree Program, or Session (particularly important for Summer sessions)
A .csv file is created from info in the database and that is imported into Scheduler Plus for room reservations. Scheduler Plus is the commercial, 3rd party room reservation system we use. This keeps track of room schedules, equipment requests, billing & invoicing, etc. It uses its own database. After this import, any further changes to the classes have to be made both in a web site control panel and in Scheduler Plus separately.
Web calendar pulls from Scheduler Plus database for daily/weekly/monthly view of events. The calendar can also be filtered to view a specific room (or type of room; "computer labs" for instance), or type of event ("credit classes" for instance).
Room signs are printed from a web page control panel. These are placed in a holder by the door to each classroom.
Enrollment numbers are entered for each class to track statistics. Sometimes these numbers are given to us by the school, sometimes we actually count heads. We can track which schools and programs are the most successful as well as general success of our facility.
Repeat process next semester.
Special Circumstances to consider
One school is on the quarter system. One school has two sessions per traditional semester session. All other schools have traditional semester system, but begin, end, and holiday dates vary between them.
Summer sessions vary greatly between schools – anywhere from 1 to 12 possible summer sessions depending on the school.
What I'm hoping and praying for is something we can install and do a little configuring and be up and running. I understand the process might end up a little different, but that's ok. I just don't want to go back to manually updating dozens of static html pages every semester like I did in the beginning. The State is facing a serious budget crisis, we've already undergone massive spending cuts with more coming, so the bottom line is if it costs money, we probably can't do it. Not the situation I'd like the be in, but it is what it is. But I'm not limiting myself to only free solutions. I'll let the people controlling the money make that decision.
We're not married to any one environment. I've dug in to SharePoint and DotNetNuke. I've looked at Joomla! but have had problems getting it running in IIS. I haven't had any problem getting DNN installed and running, but my search for appropriate modules has not been successful. I'm a little intimidated by how far behind I am in this arena. I'd love to just be able to install something like DNN or Joomla, add a couple modules, configure as necessary and that be it. But my search hasn't revealed the perfect solution.
Does anyone have any suggestions for modules to look at?