Data Format

Guide to data formats used by ePoc

The data format of the content.json file is a JSON schema defined using TypeScript classes, types, and interfaces.

Metadata of an ePoc

An ePoc is defined by the following information:

  • version: Version of the ePoc (e.g., "1.0").
  • id: Unique identifier of the ePoc (e.g., "epoc-1").
  • title: Title of the ePoc (e.g., "Introduction to Mobile Learning").
  • lang (optional): Language of the ePoc (e.g., "fr").
  • image: URL of the illustrative image (e.g., https://example.com/epoc1/image.png).
  • teaser (optional): Hook text.
  • publisher: Publisher of the ePoc (see the "Publisher" section).
  • authors: List of authors (name and email).
  • thumbnail: URL of the thumbnail (e.g., https://example.com/epoc1/thumbnail.png).
  • summary: Summary in HTML (e.g., <p>This module introduces...</p>).
  • tags: Associated keywords (e.g., "mobile", "introduction").
  • objectives: Learning objectives (e.g., "Understand the basics...").
  • prerequisites: Prerequisites to follow the ePoc (e.g., "No prerequisites required").
  • chaptersCount: Number of chapters (e.g., 5).
  • assessmentsCount: Number of assessments (e.g., 2).
  • chapterDuration: Average duration of a chapter (in minutes, e.g., 10).
  • download: Download link (e.g., https://example.com/epoc1/download).
  • edition: Edition of the ePoc (e.g., "1.0").
  • license: License of the ePoc (see the "License" section).
  • editorVersion: Version of the editor used (e.g., "1.0.0").
  • lastModif: Date of last modification (e.g., "2025-08-29").

Metadata of a Publisher

A publisher is defined by:

  • id: Unique identifier (e.g., fr.inria.learninglab).
  • name: Name of the publisher (e.g., "Inria Learning Lab").
  • description (optional): Description of the publisher.
  • email: Contact email (e.g., contact@inria.fr).
  • logo (optional): URL of the logo (e.g., https://example.com/logo.png).
  • website (optional): URL of the website (e.g., https://example.com).

Metadata of a License

A license is defined by:

  • name: Name of the license (e.g., "CC-BY-SA-4.0").
  • url: Link to the license text (e.g., https://creativecommons.org/licenses/by-sa/4.0/).
  • content: Full text of the license.

To learn more about the data format, we invite you to use the ePocs (v1) classes, available for download from npm:

npm i @epoc/epoc-types