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

 

mukkamu