open-education-api / specification

OpenAPI (fka Swagger) specification for the Open Education API.
Other
32 stars 26 forks source link

[Change request]: Add (academic) year(s) as optional parameter to GET /courses #306

Closed EvertvandeBelt closed 11 months ago

EvertvandeBelt commented 12 months ago

Organization

Vrije Universiteit Amsterdam

Project

Aurora

Contact Details

e.vande.belt@vu.nl

Short description

Create a parameter years for the GET /courses endpoint which will accept one or more (study/academic) years, like GET /courses?years=2023,2024

Version

v5

Usecase

When selecting the courses from our SIS we get a huge list. Most of the time only the current and/or next academic year is needed. This will make the resulting list better to handle. This might not be specific to the Aurora project, for the list of courses that will be offered in the context of Aurora will probably be a small subset of our total set of courses.

Which institutions support this change?

No response

Proposed solution

Create a parameter years for the GET /courses endpoint which will accept one or more (study/academic) years, like GET /courses?years=2023,2024

Requests and responses

None

What is your question for the OOAPI work group?

No response

EvertvandeBelt commented 12 months ago

I've just read: 'OOAPI v5 adds a mechanism to communicate about data that was valid in the past or will become valid in the future. An implementation is expected to always return the current value of an entity as the main object in a response. To specify historic and future changes an an implementation can add one or more “timelineOverrides”. Each timelineOverride is a repetition of the main objects, but with attributes that can have a different value or with absent optional attributes (indicating that an attribute did not exists in the past or will not exist in the future).'

This might be the mechanism that voids my request.

jelmerderonde commented 11 months ago

Hi @EvertvandeBelt. I don't think timelineOverrides is what you need. However, I have a little trouble fully understanding your usecase. In OOAPI, courses are not "associated" to a specific time. You could see a course as a "template" which has different instantiations in time, e.g. "offerings".

So to filter courses by an AcademicYear does not really make sense in the OOAPI model. Can you tell us a bit more about how you define a course?

EvertvandeBelt commented 11 months ago

@jelmerderonde, I meant that the statement “An implementation is expected to always return the current value of an entity as the main object in a response” voids my need for a parameter to define the requested years. We’ll just have to fetch the courses for the current academic year.

Thanks for replying.

From: Jelmer de Ronde @.> Sent: woensdag 13 december 2023 17:18 To: open-education-api/specification @.> Cc: Belt, E. van de (Evert) @.>; Mention @.> Subject: Re: [open-education-api/specification] [Change request]: Add (academic) year(s) as optional parameter to GET /courses (Issue #306)

Hi @EvertvandeBelthttps://github.com/EvertvandeBelt. I don't think timelineOverrides is what you need. However, I have a little trouble fully understanding your usecase. In OOAPI, courses are not "associated" to a specific time. You could see a course as a "template" which has different instantiations in time, e.g. "offerings".

So to filter courses by an AcademicYear does not really make sense in the OOAPI model. Can you tell us a bit more about how you define a course?

— Reply to this email directly, view it on GitHubhttps://github.com/open-education-api/specification/issues/306#issuecomment-1854244568, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BEAHFD6WWLRJ2A5S7WNEUMDYJHIMDAVCNFSM6AAAAAA7N6D6WGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJUGI2DINJWHA. You are receiving this because you were mentioned.Message ID: @.**@.>>

jelmerderonde commented 11 months ago

Ok!