The philosophy behind the GradPhile system is that at periodic intervals data is pulled from the Grad School's Graduate Student Tracking (GST) database, the GradPhile site is built statically, and the site then moved to a production site for students/faculty to access.
setting up a new departmental site requires ensuring that GradPhile will build on the new server, that GradPhile is configured for the new department's info and degree requirements, and that departmental data is entered into GST. The effort in starting up a new installation includes:
Download GradPhile code from SVN repository (sysadmin)
The departmental sysadmin will be given access to the GradPhile repository to make a local working copy on a staging server.
Install dependencies (sysadmin)
There are a number of other open-source packages that are required to get GradPhile up and running, such as Ruby, Jekyll, and Node. Most of these will be installed by running a couple of install scripts, but invariably some additional dependencies are found when the test site is built.
Steps 1 and 2 may take a few sessions with Houpt & Houpt to make sure all the bits are installed.
Set up the production webserver (sysadmin)
The typical work flow is to build the GradPhile site on a development server, and then copy the site files to a production webserver, ie in a subdirectory on the departments website. Some care must be taken to set the htacsess and permissions to assure Cassowary protection (FSU CAS login to restrict access of GradPhile pages to individual students and faculty).
Encode the departmental requirements (grad coordinator)
Degree requirements and a bunch of department-specific info, is stored in several text configuration files. This can get into the minutia of the graduate program in order to precisely specify the requirements and the presentation on the website. It takes a few hours, and there will be some back and forth with the graduate director/coordinator to get it right.
Add item coding to GST (grad coordinator)
The Grad School's Graduate Student Tracking (GST) database has many generic data fields and progression items for all graduate program (eg admission data, contact info, supervisory committee, time of candidacy). Specific graduate programs have many other requirements or milestones that need to be tracked (eg satisfying seminar requirements, or taking specific courses). GST provides the capability of adding department-specific progression item codes to the GST database. The department's new GST progression item codes can usually be added in parallel with establishing the formal requirements in Step 4.
Add records to GST (grad coordinator)
Once the progression items are set up in GST, then data for current students should be added so that it is displayed in the GradPhile pages. This should include past data and all new data for current students. This step is probably the slowest phase, depending on how the department is storing its data currently.
Set up periodic rebuilds (sysadmin)
The GradPhile website can be rebuilt very quickly (a matter of a few minutes) from an automated script. A cron
job should be set up to push a periodic rebuild on a regular basis (eg daily).
Setting up online forms
Our online-forms (for appointment letters, TA evaluations, and annual reviews) are working well for Biology, but it would take some effort on our part to make them agnostic enough for any department to use. I am keen to be motivated to finish this up, however.