-
Notifications
You must be signed in to change notification settings - Fork 0
Metadata API development
The Serlo Metadata API, described for users at this page allows downloading the metadata of Serlo content. It is mainly used by content aggregators like
- WirLernenOnline.de
- Bildungsserver.de
- edutags.de
- NBP Datenraum (not yet publicly accessible?)
that we want to support via our Metadata API so that teachers and students can find Serlo content on those pages.
The type of content returned by the Metadata API currently includes applets, articles, courses, text exercises and exercise groups as well as video.
The metadata is provided in a standardized format called Allgemeines Metadatenprofil für Bildungsressourcen (AMB) which translates to "general metadata profile for educational resources". Serlo is also involved in the AMB standard committee.
The AMB standard uses vocabulary from the Schema.org standard with JavaSript Object Notation Linked Data (JSON-LD) encoding. You can learn more about JSON-LD here.
The core logic of the implementation is in https://github.com/serlo/api.serlo.org/blob/staging/packages/server/src/schema/metadata/resolvers.ts with tests in https://github.com/serlo/api.serlo.org/blob/staging/tests/schema/metadata.ts.
The SQL query has a recursive part for two reasons. The first is to get the layer of taxonomy containing the subject, so we can map the Serlo subject to the right subject category given by the AMB standard. The second reason for the recursive query is that we want to exclude certain parts of Serlo in the metadata that are not useful to students. Examples for the things we want excluded are sandboxes, content not finished yet or the community area.
We currently have only images that we can return links to as thumbnail for 5 subjects and in German. For the others we display the default Serlo logo. This could be extended in the future.
- Home
- Serlo Infrastructure
- Serlo Infrastructure for Non programmers
- Resources for new programmers
- Setup of the toolchain
- Best Practices
- Data Privacy for Devs
- How Tos
- Single Sign On
- Integration with the Data Wallet
- User-Journey: SSO and Data Wallet
- User-Journey: Collaboration with Serlo Editor + Datenraum
- Integration of "Datenraum" into the Serlo Editor
- Introduction to the Serlo editor
- Core concepts of the Serlo editor
- Packages of the Serlo editor
- Creating a new plugin (outdated)
- Redux process in the Serlo editor
- The content format of the Serlo editor
- Serlo Editor Plugin Initial State
- How the Serlo Editor is integrated into edu-sharing via LTI
- Learner Events and xAPI