Publish a Collection

Guide to group several ePocs in a collection that can be imported in the mobile application.

A collection groups several ePocs under a single banner (publisher, logo, licence, etc). Once added to the mobile application, it displays all the ePocs it contains and updates automatically.

How it works

A collection is described by a JSON metadata file: title, description, logo, publisher, contact, licence, keywords and the list of ePocs. This file must be publicly accessible through a fixed URL, which users then add in the application.

Create the collection file

Start from the data template below (in YAML format, which allows comments) and fill it in
Convert the file to JSON with a converter such as JSON Formatter
Host the JSON file on a publicly accessible service, for example a GitHub Gist or a GitLab snippet, or GitHub / GitLab Pages

Data template

Template to fill in (comments explain each field). The ePocs list is completed with the metadata of each ePoc, see ePocs Collection.

# Unique identifier of the collection, in reverse-DNS form.
# Example: fr.inria.learninglab.epocs
id: org.example.organization.epocs

# Displayed title of the collection.
title: Collection name

# Description of the content or purpose of the collection.
description: Short description of the collection of courses offered.

# Publisher: entity responsible for publishing the collection.
publisher:
  # Unique identifier of the publisher (reverse-DNS).
  id: org.example.organization
  # Name of the publisher.
  name: Name of the publishing organization
  # (optional) Description of the publisher.
  description: Description of the publishing organization (missions, target audience, etc.).
  # Logo URL (480x320px)
  logo: https://example.org/path/to/logo.png
  # Contact email of the publisher.
  email: contact@example.org
  # (optional) Website of the publisher.
  website: https://example.org

# Licence (optional): default licence applied to the collection.
licence:
  # Name of the default licence of your ePocs, e.g. "CC-BY-SA-4.0".
  name: "Licence name (e.g. Creative Commons Attribution 4.0 International)"
  # URL of the full licence text.
  url: https://creativecommons.org/licenses/by/4.0/
  # content: "Full licence text (optional, alternative to the URL)."

# Public URL where this same JSON collection file will be hosted.
url: https://example.org/path/to/collection.json

# (optional) Keywords to categorize the collection.
tags:
  - tag1
  - tag2
  - tag3

# The list of ePocs with their metadata
ePocs: {}

Host the JSON file

If you do not have a website, a GitHub Gist or a GitLab snippet is enough to get a public URL.

GitHub Gist

Go to gist.github.com and sign in
Name the file collection.json and paste the JSON content of the collection
Click the Raw button of the file and copy the URL of the resulting page

The URL looks like https://gist.githubusercontent.com/{user}/{id}/raw/{revision}/collection.json. Remove the {revision} part to get a fixed URL that always points to the latest version:

https://gist.githubusercontent.com/{user}/{id}/raw/collection.json

GitLab Snippet

Go to gitlab.com/-/snippets/new and sign in
Choose the Public visibility, name the file collection.json and paste the JSON content of the collection
Click Create snippet
Click Open raw and copy the URL of the resulting page

The URL looks like:

https://gitlab.com/-/snippets/{id}/raw/main/collection.json

Update the collection

Edit the gist or the snippet to add an ePoc or change some information: the URL does not change and users get the new version the next time the application starts.

Add the collection in the application

In the application, use Add an ePoc > Collection then import the collection from its link or a QR Code. The procedure is detailed in the import guide.

Once added, the collection is refreshed each time the application starts: any ePoc added or modified in the JSON file automatically appears for users.