Date: 2019-03-29
Time to Read: 4 Minutes
Tags: dream architecture legacy code computer science PHP MySQL jQuery LAMP
CommentsIn the old system, faculty and clinical instructors were responsible for submitting assessment data for students enrolled in courses that they were actively supervising in some capacity. These enrollments were separated in three different tables.
The structure of these tables are very similar. They each share the same common details:
However, they differ with the following details:
Based on the above information, I would need to create the necessary database structure capable of storing this information in a much more generalized fashion.
First, I created an enrollments table containing the following information:
Some additional information in this table that is not found in the original tables include:
Of course, to avoid redundancy, all fields referencing terms, users, placement sites, programs, and roles simply reference the original information in their respective tables.
This takes care of most of the details for each enrollment, however to take care of the case where the separate program includes a doctoral student supervisor and multiple activities, I created three additional tables.
Now the core enrollment information can be tracked within the new system and many of the small peripheral details can be tracked efficiently in separate tables.
Along with the changes in the database, the interface necessary for viewing, managing, creating, and modifying enrollment-specific information was also created. This would allow an administrative user to be able to interact with the enrollment information without accessing the database directly itself, a common theme for the system is allowing users to have somewhat complete control in working with the information within the database.
For users within the system who are interacting with the enrollments as students enrolled or faculty/clinical instructors, their approach would be different.
In the old system, faculty and clinical instructors responsible for submitting enrollment-bound assessment information for students would first navigate to a page responsible for showing the unique courses that they were currently supervising within that term based on the enrollments they were currently supervising. If they clicked on a course hyperlink, it would bring them to a page that listed the students that they were supervising within that course and a collection of hyperlinks for the instruments they were allowed (or suppose to) to submit for each student.
In the new system, this approach is similar. On the menu of each student role and any other role that has the specified permission is the link necessary for navigating to a page that shows the unique courses that they are either enrolled in (as a student) or currently supervising (as a faculty, clinical instructor, or even as an additional supervisor). This listing is populated based on the current acting user role of the user.
Instead of the next page showing the student supervised within that course and their instruments to submit, it shows the enrollments for that course that they are actively supervising and two separate links: one to navigate to a read-only page showing all of the enrollment-specific information, and one to a “date entry” page which shows the basic enrollment information and the instruments they have access to for submission and any other pathways to enter data specific to that enrollment.
Also on the page showing the list of enrollment supervised is the ability to send a mass email to the students of those enrollments, the clinical instructors of those enrollments, and even the school principals if those enrollments are placement enrollments where their placement sites are schools.
This post is about the project, DREAM
An online electronic assessment system for the purpose of collecting assessment data regarding student teachers and counselors throughout their collegiate career. The system also electronically facilitates a large number of other institutional processes in an effective manner.