Skip to content

[Change request]: expandableObjects vocabulary has no plural parents, but GET /learning-outcomes/{id}'s own expand enum requires it #696

Description

@bartvriesema

Organization

Maastricht University

Project

No response

Contact Details

b.vriesema@maastrichtuniversity.nl

Short description

The [expandableObjects](https://github.com/open-education-api/specification/blob/main/source/enumerations/expandableObjects.yaml) schema (the vocabulary supportedExpands values must validate against) defines a singular/plural pair for "child" objects:

  • child: the child object (which is an instance of the current object) can be expanded.
  • children: a set of objects (which are an instance of the current object) can be expanded.

But only a singular parent exists - there is no parents counterpart:

  • parent: the parent object (which is an instance of the current object) can be expanded.

GET /learning-outcomes/{learningOutcomeId}, however, declares its own expand query parameter with a literal enum that requires the plural form, since a learning outcome can have multiple parent learning outcomes:

expand:
schema:
items:
enum: [organisation, parents, children]

This puts a conformant implementation in a bind: to accurately advertise parents (matching the operation's own required enum and its actual behaviour), but parents isn't a valid value against the global expandableObjects vocabulary that supportedExpands entries are supposed to be drawn from. There's no value that is simultaneously accurate and schema-valid.

Version

v6

Usecase

No response

Which institutions support this change?

No response

Proposed solution

Fix: add a parents entry to expandableObjects, mirroring the existing child/children pair, so implementations can correctly and validly advertise support for the multi-parent-relationship case that /learning-outcomes already requires.

Requests and responses

GET /learning-outcomes/{learningOutcomeId}

What is your question for the OOAPI work group?

Can we add parents to the supported expands?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions