Scheduler XML
The Stevens Schedule Data can be accessed by any software capable of handling XML data. I attempted to keep it as simple as possible, yet allowing for as much functionality as possible. All features are accessed through a simple manipulation of the URL.
- Base URL: http://www.stevens.edu/scheduler/core/core.php?
- Available parameters: cmd, term, and debug
- Available commands: getxml, getdesignators, termlist, terms, help.
| Command | Requirements | Results |
| getxml | term | Serves up an XML file containing all class data for the term specified. |
| getdesignators | N/A | Serves up an XML file containing the designators information, such as activites, building names, sites, requirements, etc. |
| termlist | N/A | Serves up an HTML file of available terms, used mainly for human use. |
| terms | N/A | Serves up an XML file of available terms. |
| help | N/A |
Serves up an HTML help file, not very well written. |
| term | N/A | The format is 4 digit year, 1 character term. F – Fall, S – Spring, W – Intersession, A – Summer I, B – Summer II. |
Here are a few examples.
- http://www.stevens.edu/scheduler/core/core.php?cmd=terms – this will serve up the available terms
- http://www.stevens.edu/scheduler/core/core.php?cmd=getxml&term=2008F – this will get you the classes available in XML format.
- http://www.stevens.edu/scheduler/core/core.php?cmd=help – this will give you the HTML help file built into the script (not so well organized but shows extensive information on the designators).
The XML file format is important, it contains A LOT of data but its gzip’d before its sent to make sure it goes fast enough. The root document is <Semester> which contains 4 attributes:
| Semester | The term served up, should be the same as what was passed in the url with term=XXXXX |
| Courses | The number of courses present in the file. |
| Meetings | The number of course meetings found. |
| Requirements | The number of course requirements found. |
Each course is then its own element (<Course>) with 12 attributes:
| Section | The Course section ex. “ME 522″ |
| Title | The full name of the course |
| CallNumber | The call number of the course, 5 digits. |
| MinCredit | The minimum credit of the course. |
| MaxCredit | The maximum credit of the course, usually the same as MinCredit. |
| MaxEnrollment | The maximum number of seats available in the section. |
| CurrentEnrollment | The current number of seats filled in the section. |
| Status | The status of the section, ex. Open, Closed, Canceled. The codes are found using getdesignators command. |
| StartDate | The starting date of the class, not always the start of the semester. Uses XML date format with trailing ‘Z’. |
| EndDate | The ending date of the class, not always the end of the semester. Uses XML date format with trailing ‘Z’. |
| Instructor1 | The name of the primary instructor, can be “STAFF” or the name of the professor. |
| Instructor2 | This only appears if a second instructor is present, it usually isn’t so it is usually suppressed. |
| Term | The term of the class, same as what was passed in the URL with term=XXXXX. |
Within <Course> there are 2 possible types of sub-elements, <Meeting> and <Requirement>, though there may (and usually are) more then one of each within each <Course>.
| Day | The day of the week of the meeting, it can be 1 letter or multiple. M – Monday, T – Tuesday, W – Wednesday, R – Thursday, F – Friday, S – Saturday |
| StartTime | Start Time in UTC. |
| EndTime | End Time in UTC. |
| Site | This is usually “Castle Point”, for others see http://www.stevens.edu/scheduler/core/core.php?cmd=getdesignators |
| Building | The building code, can be found using cmd=getdesignators |
| Room | The room number the section meets in. |
| Activity | This is the type of class, ex. Lab, Lecture, Recitations. This can be found using the getdesignators command. |
| Control | This value specifies if it contains a prerequisite, co-requisite, etc. More can be found using the getdesignators command. |
| Argument | More can be found using the getdesignators command. |
| Value1 | This is the class that is whatever the control value says it is, ex prerequisite, co-requisite, etc. More can be found using the getdesignators command. |
| Operator | Usually blank. |
| Value2 | Usually blank. |
As I said before, there can be multiple <Meeting> and <Requirement> elements per <Course>, if a section meets at the same time in the same location on multiple days, the “Day” attribute will contain multiple letters. If the “Day” attribute contains “TBA”, it will lack the “StartTime” and “EndTime” attributes.
The “terms” command will generate an XML list of the available terms. The root of the file is <Terms> with an element (<Term>) for each available term. Each element contains 2 attributes.
| Code | The term code in the format of XXXXX, it will be what you put in the term parameter of the URL. They are served up in order: Intersession, Spring, Summer A, Summer B, and Fall. |
| Name | The Full name of the term as set by the registrar: YYYY (term) Catalog. Ex. 2004 Fall Catalog. |
There are a few other features such as calendar export of a schedule. This feature will not be documented as of yet to access it you must use the scheduler at http://www.stevens.edu/scheduler/. At this time only the scheduler software located at http://www.stevens.edu/scheduler/ makes use of this XML data derived from exports of the course database by Stevens IT. Please let me know if you have any questions, I’ll be happy to help if I can.
Thanks,
TheGreatCO
No comments
No Comments
Leave a comment