As an External API user, I need direct read access to metadata fields since issuing multiple requests per object doesn't scale


The following External API requests only return some hard-coded part of the metadata of the respective requests:


For the requests returning lists of objects (/api/series and /api/events), this is problematic as the client is required to issue additional requests (/api/series/{id}/metadata and /api/events/{id}/metadata) to be able to retrieve all metadata fields. This, however, does not scale.

To be consistent across the requests, the goal of this story is to add all metadata fields of the respective objects to all responses.

This is not as redundant as it looks at first glance: The /metadata requests are supposed to deliver self-describing metadata sets as required to build property sheets. Also, /metadata can contain additional fields that can be freely configured by the Opencast system administrator.

The following fields need to be added to make the metadata complete:

/api/series && /api/series/{id}

  • language

  • rightsholder

  • license

/api/events && /api/events/{id}

  • language

  • rightsholder

  • license

  • is_part_of (note that the External API does not use camel case per convention)

  • duration

  • source

Also added the following fields:

  • status (the event status)

  • series (the name of the series)

Fixed and reviewed


Michael Stypa


Sven Stauber