Skip to content

Remote browsing API support #3808

@rtibbles

Description

@rtibbles

Desired behavior

learningequality/kolibri#9474 added several new public API endpoints to Kolibri pertaining to content.

These endpoints are aimed at allowing seamless browsing and navigation of resources on remote Kolibri devices. To give full parity of experience, it would be ideal to have the same endpoints exposed on Studio in order to, at a minimum, allow remote browsing and preview of the Kolibri Content Library.

These three updates from the above Kolibri work are relevant:

  • Adds a new v2 namespace for public content metadata endpoints
  • Expands the existing internal ChannelMetadataViewset to include all public data and uses it for the v2 endpoint
  • Adds public ContentNodeViewset and ContentNodeTreeViewset to allow remote browsing of public metadata

There are several possible approaches to achieve this outcome:

  1. Implement the full Kolibri content metadata in Studio, to allow full annotation of Kolibri fields in the Studio postgres database - when a channel is published, it is imported into the Studio database using the Kolibri content metadata, and then exposed via the API
  2. Have a separate BCK instance with all plugins disabled that is specially configured to stand in for Studio to handle the v2 content API responses - when a channel is published, import the channel into the BCK instance
  3. Reimplement the required fields in the Studio ContentNode metadata so that we can do the necessary annotation at publish in order to read from the current Studio DB, and then expose API endpoints from there.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions