uWaterloo / OpenData

Help and Support for University of Waterloo Open Data Initiative
https://api.uwaterloo.ca
90 stars 12 forks source link

Course {pre,co,anti}requisites not updated when removed #208

Closed dshynkev closed 3 years ago

dshynkev commented 3 years ago

It appears that when a new academic calendar removes all {pre,co,anti}requisites from a course, the old data continue to be returned from the v2 courses endpoints. I imagine it might be something like inequality not being checked for during updating if the field is not even present in the new data.

Examples

  1. ACTSC 371 used to have antirequisites up until 2013-2014, but now does not. The API says:

    $ curl 'http://api.uwaterloo.ca/v2/courses/ACTSC/371.json?key=[REDACTED]' | jq .data.antirequisites
    "AFM 271/273, AFM 272/ACTSC 291, BUS 383W, ECON 371"
  2. ACTSC 432 was totally overhauled from 2019-2020 to 2020-2021, including the course name. The API correctly returns the new name and description, but still thinks this new course has a corequisite it used to have, even though it now has none. The API says:

    $ curl 'http://api.uwaterloo.ca/v2/courses/ACTSC/432.json?key=[REDACTED]' | jq .data.corequisites
    "ACTSC 431"
sbobkin commented 3 years ago

Hi @dshynkev

This is a consequence of some of the known issues in how the v2 API modeled the data and assumptions that were made. In this case the primary issue is it was assumed Course IDs were unique, however they are only unique within a Term, not across Terms. As we've communicated we will not be fixing this, or other issues because of how fundamental they are in the v2 API.

The requisite data description is available in the v3 API on the Courses endpoint (https://openapi.data.uwaterloo.ca/api-docs/index.html). You can find more information about getting started here (https://wiki.uwaterloo.ca/display/UWAPI/Getting+Started+-+OpenAPI), and the relevant announcements on the blog (https://wiki.uwaterloo.ca/pages/viewrecentblogposts.action?key=UWAPI).

Let me know if that answers your question, or if you have any other related questions.

sbobkin commented 3 years ago

Closing this issue as I believe the question is answered as it pertains to v3 of the API, and v2 is now permanently offline.,