Version History

Version Numbers

Version numbers use this format:
MAJOR.MINOR.PATCH.

Patch versions are backwards compatible (in that they don't alter the node-tree) and are indicated in the third section of the version number, PATCH above. These changes include adding new nodes or attributes as well as fixing standards problems such as formats.

Minor versions are not backward compatible and don't change the node-tree. For example changing a node or attribute name but not it's location in the node tree is a minor change. They're represented by the second section of the version number, MINOR, above.

Major versions are not backward compatible and change the node-tree itself. Moving, renaming or eliminating nodes are examples of this kind of change. Major changes are tracked in the first number, MAJOR, above.

Version 1.0.0

January 27, 2012

Initial implementation

Version 1.0.1

October 23, 2013

  • The <start-date> and <end-date> tags now contain ISO 8600 dates in the form of yyyy-mm-dd.
  • The version attribute of the <unmschedule> tag has been set to "1.0.1".

Version 1.0.2

Proposed on August 8, 2014

  • Add a code attribute to the <bldg> tag. For example: <bldg code="WOOD">Woodward Hall</bldg>
  • Add a code attribute to the <instructional-method> tag. For example: <instructional-method code="CORR">Correspondence</instructional-method>
  • Add a code attribute to the <delivery-type> tag. For example: <delivery-type code="ST">Studio</delivery-type>
  • The version attribute of the <unmschedule> tag will be set to "1.0.2".

The comment period for this proposed update ended on August 22, 2014.

The version moved into development on August 22, 2014.

The version moved into testing on August 29, 2014. Testing ended on September 12, 2014.

The version moved into production on September 24, 2014.

Version 1.0.3 - Withdrawn

Proposed on September 17, 2015

  • Add a part-of-term-name attribute to the section tag.
  • Add a status-name attribute to the section tag.
This is an example of both changes: <section crn="23796" number="001" part-of-term="1H" part-of-term-name="First Half of Term" status="A" status-name="Active">

The comment period for this proposed update will end on September 23, 2015.

This version was withdrawn for consideration after discussions about concerns for the increased size of the file.

Version 1.0.4

Proposed on October 6, 2015

  • Add a lookups node to the four files, preferably at the top, after the usage node.
  • Add a parts-of-term node to the lookups node. This node will contain part-of-term nodes that contain codes and names for all parts of term.
  • Add a statuses node to the lookups node. This node will contain status nodes that contain codes and names for all statuses.

Here's an example of what the results will look like:


    <lookups>
        <parts-of-term>
            <part-of-term code="1">Full Term</part-of-term>
            <part-of-term code="1H">First Half Term</part-of-term>
            .
            .
            .
        <parts-of-term>
            
        <statuses>
            <status code="A">Active</status>
            <status code="C">Canceled</status>
            .
            .
            .
            </statuses>
        </lookups>
        

This will allow for the missing part-of-term and status names to be included in the file in away that still allows parsing and conforms to XSLT 1.0 and won't affect existing consumers.

Version 1.0.4 was put into production on March 1, 2016.

Process Change: Publishing Schedule Change

Proposed on February 19, 2016

Change the time that the files are published. The proposed times are:

  • 0100 (1:00 AM)
  • 0800 (8:00 AM)
  • 0900 (9:00 AM)
  • 1000 (10:00 AM)
  • 1100 (11:00 AM)
  • 1200 (12:00 PM)
  • 1300 (1:00 PM)
  • 1400 (2:00 PM)
  • 1500 (3:00 PM)
  • 1600 (4:00 PM)
  • 1700 (5:00 PM)
  • 1800 (6:00 PM)

In other words, hourly between the hours of 0800 and 1800 (8:00 AM and 6:00 PM), with another update very early in the morning. This will help to ensure that data is relatively fresh during the day, with an end of day update and an update very early in the morning to ensure that changing over to the current semester will take place in a timely manner.

This change was put into production on March 2, 2016.

Version 1.0.5

Proposed on February 26, 2016

  • Ensure that all files have a semester node. Currently, next1.xml, next2.xml and next3.xml are missing a semester node.
  • Add a pubdate attribute to the semester node that indicates when that semester's data will be available. This date is the date when schedule information is released to the general public, usually two weeks before general registration begins.

Here are some examples of what the results will look like:


    <semester code ="201660" name="Summer 2016" availdate="2016-04-04" index="1"></semester>
    <semester code ="201680" name="Fall 2016" availdate="2016-04-04" index="1"></semester>
If the availability date is unknown the attribute will be empty:
    
        <semester code="201760" name="Summer 2017" availdate="" index="1" />
    

Version 2.0.0

Proposed on October 8, 2015

This set of changes is a major revision to the dataset. The goals are reduced file sizes and easier processing.

1. Add a lookups tag to the four files, preferably at the top, after the usage tag.

The lookups tag will contain the following tags and child-tags:

buildings/building

campuses/campus

colleges/college

delivery-types/delivery-type

departments/department

instructional-methods/instructional-method

parts-of-term/part-of-term

semesters/semester

statuses/status

subjects/subject

For example:

        


<lookups>
    <buildings>
        <building code="ANTHO">Anthropology>/building>
        <building code="ANTHX">Anthropology Annex</building>
        .
        .
        .
        <building code"ZIMM">Zimmerman Library</building>
    </buildings>
    <campuses>
        <campus code="ABQ">Albuquerque/Main</campus>
        <campus code="VA">Valencia</campus>
        .
        .
        .
    </campuses>
    .
    .
    .
</lookups>

        
        

Adding lookup tables will make other data in the files redundant. Items 2 - 10 summarize those changes.

2. bldg tags: remove the 'code' attribute; put the building code in the tag's content. For example: <bldg>DSH</bldg>.

3. campus tags: remove the 'code' and 'name' attributes; put the campus code in the tag's content. For example: <campus>ABQ</campus>.

4. college tags: remove the 'code' and 'name' attributes; put the college code in the tag's content. For example: <college>AP</college>.

5. delivery-type tags: remove the 'code' attribute; put the delivery-type code in the tag's content. For example: <delivery-type>LC</delivery-type>.

6. department tags: remove the 'code' and 'name' attributes; put the department code in the tag's content. For example: <department>133A</department>.

7. instructional-method tags: remove the 'code' attribute; put the instructional-method code in the tag's content. For example: <instructional-method>ENH</instructional-method>. Empty instructional-method tags indicate face to face sections.

8. semester tags: remove the 'code' attribute; put the semester code in the tag's content. For example: <semester>201610</semester>

9. subject tags: remove the 'code' and 'name' attributes; put the subject code in the tag's content. For example: <subject>WMST</subject>

These changes will make the XML formatting more consistent, reduce file sizes and will make parsing and transforming easier. XML keys have part of the XSLT specification since version 1.0 (http://www.w3.org/TR/xslt#key).

10. Change the name of /unmschedule/semester/campus/college/department/subject/course/section/crosslists/sections node to cross-listed-section.

This will differentiate cross-listed section nodes from their containing section nodes, making parsing and transformation easier.

11. Add a 'parent' attribute to those cross-listed-section nodes that are the parent sections for the cross-listed sections, if possible.