Blog

Blog

Changes

  • Added an endpoint on the Class Schedules entity that returns course IDs for courses that have an active and scheduled class in that term. Addresses https://github.com/uWaterloo/OpenData/issues/219
  • Added instructor name, and identifier to the response object of Class Schedules where they return Class information. The added information is the instructors first name, last name, and a unique identifier which while not immutable, should rarely change, and will stay the same through an instructor name change. This should address https://github.com/uWaterloo/OpenData/issues/215

Notes

  • We've made a logic change in the query that serves the Class Schedules endpoint. This change better represents classes that are available to students to take. This means we may return less results than previously. 

Changes

  • We've made a change on the Account endpoint to clarify, fix, and add functionality. The email notify endpoint now clarifies it only works for accounts in the waiting for confirmation state, and reset only the activation code. We've added a new endpoint that requires the account email, and API key to allow you to reset your API key. An important note is using this endpoint will put your account back into the pending state, and require you to reconfirm your email. Relates to https://github.com/uWaterloo/OpenData/issues/218
  • We've made a few small backend package updates. 

Fixes

  • As the campus WCMS system transitioned to the cloud, there was a networking misconfiguration on the Open Data infrastructure that prevented the Food Services endpoints from working. This has been corrected. See https://github.com/uWaterloo/OpenData/issues/217

Changes

  • We've added Exam Schedule information back into the v3 API. This data comes directly from the Registrar Office published data. You can find more details on the definition and endpoints from the live documentation https://openapi.data.uwaterloo.ca/api-docs/index.html (ExamSchedules). Currently data is available for the current (1215) Term, and we'll add future term data as it becomes available. Presently minimal exam location information is available due to the nature of course and exam offers under the public health measures, we expect more location information will be available for future exams. 
  • Maintenance package updates in the background. 

Fixes

  • There were some missing database indexes on course, and class schedule data. They've been added which will bring significant performance increases on the Courses and Classes endpoints. 

Notes


Fixed

  • There was an issue with the data integration that caused the 1215 (Spring 2021) term associated data to not be available. This has been corrected as of now, and go forward. 


Changes

  • The API now runs as a .NET 5 application, and benefits from all the improvements, including performance. 

Fixes

  • There was an issue on the Courses endpoint with routing correctly with Term, CourseID, and Subject parameters when the subject was exactly 6 characters long. This has been corrected, and the endpoints will now route and return data correctly. Previously they would return an error. 


Changes

  • We've added additional filters to the WCMS content (news, events, blogs, opportunities) per site endpoints to allow you to limit results and get latest items first. 
  • We've added some missing indexes in the database for the WCMS content items that should improve the data return performance. 
  • In some cases the Body and Description fields for WCMS endpoints news, events, blog posts, and opportunities would return null values even if the source had content. This has now been resolved. 

Changes

  • Addition of Food Services specific information from WCMS. We've added endpoints to give Franchise, Outlet, and related information to the API under the v3/FoodServices endpoint. There is some missing documentation, the endpoint functions as a caching proxy to the source data. We do not modify the schema which represents the data in WCMS, and provide it as is. See the live API documentation for more detail. 

This announcement is for the endpoints off of https://api.uwaterloo.ca/v2/ and what is referred to as the v2 Open Data API. 

We are planning the follow, which will have an impact on access and use of the API. 

Key Dates for Actions

Monday, January 25th, 2021 - the V2 endpoints will be disabled, potentially returning a message about their imminent deprecation. 


Friday, January 29th, 2021 - the V2 endpoints will be enabled again to operate as they are today. We may bring the endpoints back up earlier than this to facilitate critical use cases. 


Friday, February, 26th or earlier - usage dependent the V2 endpoints will be turned off permanently. They may be disabled earlier if no critical use case remains, but will not be enabled past the February 26th cutoff date. 


Why?

As we've announced, and as we're asked to retire the underlying servers the V2 API needs to be shutdown. We've made the main data points, based on use, available in the V3 API. You can see documentation, and getting started with V3. 

It's an ongoing challenge to contact the users of V2 API keys. In many cases the email registered is no longer the person using the key, or there is little interest to make changes to the application or tool using the key. 

The temporary shutdown will help to bring users that want to continue to use the data to action, and allow us to help them migrate where necessary. 

Contact

If you have questions or issues please us the GitHub issue tracker or the IST-Opendata RT queue

Changes

  • We've added a "Holiday Dates" endpoint. It currently has method and data for paid holidays at the University of Waterloo as managed by HR. There is an ICS format of the endpoint that requires no 

Other

  • In the background we've updated some of the packages, nut, and bolts that power the API stack.


Changes

  • We've added the WCMS content endpoint in preview. Effectively we believe that this is what it will look like on full release, and are looking for feedback. We may add additional fields, and some of the data content may change, but we don't except we'll remove or significantly alter the existing schema. 

Other

  • As we come to the end of the year, thank you for providing feedback and suggestions using the GitHub issue tracker. We look forward to enabling you with more data, and wish you a joyful holiday season! 
  • In the background we've updated some of the packages, nut, and bolts that  power the API stack. 

We've made just one change in this release, but we think it's important. 

Changes

  • We've enabled CORS (https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), with the following policy ("GET" from any Origin, with any headers, disallow credentials) for all endpoints with one exception. CORS will be enabled for all public Open Data v3 API endpoints going forward. 
  • The exception endpoint is "Account" endpoint. This endpoint does not have CORS enabled. 

Other

The next immediate priorities are additional query options for the important dates endpoint, and content from the WCMS (https://uwaterloo.ca) system. This will include sites, news, events, blogs, and opportunities. 

As always, if you encounter any issues, or have a question please use our GitHub repository to open an issue

We're making minor changes, additions, and fixes in this release of the v3 of Open Data API. 

Changes 

  • Course endpoint will now return requisite (pre, anti, co) information description as part of the response (requirementsDescription). See https://github.com/uWaterloo/OpenData/issues/206.
  • Course endpoint will now return enrollment and drop consent code and description (enrollConsentCode, enrollConsentDescription, dropConsentCode, dropConsentDescription). 
  • Class endpoint will now return enrollment and drop consent code and description (enrollConsentCode, enrollConsentDescription, dropConsentCode, dropConsentDescription). 

Fixes

  • The GeoJSON Buildings endpoint was returning the latitude and longitude coordinates reversed. See https://github.com/uWaterloo/OpenData/issues/207
  • In the Course and Class endpoints the 'catalogNumber' property would have an extra space before the correct value. 

Other

There was a longer than expected interruption during the update, as there was an issue with the runtime on the server. 

As always, if you encounter any issues, or have a question please use our GitHub repository to open an issue

We've been away for some time. We tried to make some changes during that time, like moving the announcements, and news about the API, and open data to GitHub for public access. Progress has been minimal, and we'd like to take a moment to explain where things are, immediate changes, and near future ones coming up. 

Why has there been little progress? 

After taking over the Open Data initiative, and the API, there were priority and staffing changes that meant a significant loss of time assigned to the Open Data initiative. As the strategic priorities of the University and the technical group were defined and changed, we had to evaluate where we spent limited resources. While Open Data is an important asset, and supports initiatives by staff, students, and our community, there was no immediate need to make progress while v2 of the API was operational. 

What will happen with the existing legacy v2 Open Data API?

It has remained in a legacy, critical support only state for most of 2019, and through 2020. At this stage it is on hardware, and software that is going out of support by the end of the year, and must be retired. As such, it will remain operational until the end of 2020, and be shutdown as soon as reasonably possible after that date. The v2 of the API has had tremendous success with getting data out to the community, and helping to develop some amazing projects, and solve data problems. We hope to build on that with more accurate, high quality data, going forward. 

What is the status of the v3 Open Data API?

We released what we called a technical preview, and it has been live and in use by a limited amount of clients for over a year. We've now published a significant set of changes to the API endpoints, and the endpoint schemas. While we recognize this is a breaking change, based on the usage, and the changes needed to support getting the information into the API this was necessary. We'll be posting more details going forward, the biggest changes and the reasoning behind them are the following: 

  1. On the academic data side (Quest); we removed any reference to effective dating of data. We'll be providing only the snapshot of data that is true "today". Having the flexibility to see the data as it was true in the past added complexity in exposing it, and had a significant educational component to make sure data was appropriately used by the clients and downstream systems. 
  2. For academic data, and with other data as possible, we will be aiming for a range of near real time to sub-2 hour refreshes for the current, past, and next term. In all other cases data should be considered archived.
  3. There will be a significant decrease in initial endpoints available, as no authoritative data steward or system exists.

What is the status of "Crowd" data API? 

We originally planned to have the data sources we could not find a data steward for, or the data was community curated offered through a "Crowd" API. This plan is indefinitely on hold at this time. 

What changes will we be making before the end of the year? 

We'll be updating the documentation across our sites (https://uwaterloo.ca/api/, https://uwaterloo.ca/open-data/https://github.com/uWaterloo/OpenData), releasing more updates for v3 of the API, and turning off v2. 

Where do I leave comments and feedback? 

The easiest place to voice your questions, comments, and opinions is by filing an issue on our GitHub page (https://github.com/uWaterloo/OpenData/issues). If you wish for your communication to be less public, please open a request ticket through RT (https://rt.uwaterloo.ca/) for the IST-Opendata queue.