START / FORMAT
P2LRN format
Identity, package anatomy, graph, entrypoints, resources, profiles, integrity and authoring project.
What you will get
Understand what's inside a .p2lrn, which parts are canonical, and what information should continue to live outside the package.
Primary identifiers
P2LRNCurrent name of the format.
.p2lrnPackage extension.
https://p2lrn.org/Canonical namespace.
p2lrn.project.jsonEditable authoring project.
p2lrn:*Public events namespace.
Practical anatomy
A final package brings together manifest, graph entities, representations, and resources. The editable project adds the information necessary for round-trip and reconstruction.
course.p2lrn
├─ manifest
│ ├─ format / version
│ ├─ profiles
│ └─ contentRoot
├─ graph
│ ├─ course
│ ├─ units
│ ├─ activities
│ └─ relations
├─ resources
│ └─ embedded / referenced payloads
└─ integrity
└─ digests / verified pathsGraph and entry points
The units, activities and relationships form a graph. Entrypoints define where the experience begins if the host does not request a specific node.
Profiles
Profiles declare specialized capabilities or rules. The package may require a profile when its correct interpretation depends on it, or mark it as optional when it provides additional behavior.
Integrity and reconstruction
If a resource or JSON that is part of the content root changes, digests and contentRoot. Opaque external payloads that must be preserved are maintained byte by byte when the contract requires it.
Do not modify files within the package without recalculating integrity. Use Toolkit to open, edit and rebuild.
Authoring project
p2lrn.project.json preserves portable IDs, graph order, entrypoints, profiles and metadata necessary to open a package as a workspace and rebuild it without logical loss.
Authorship and content rights
The course can maintain four portable data using the extension https://p2lrn.org/ext/course-rights/1. This is metadata about the content, not about the user's account or the system that created the package.
authorAuthor of the content. Person or organization responsible for the content.
createdAtCreation date. Original day of creation in format AAAA-MM-DD.
licenseLicense · Conditions of use and distribution. Text or license identifier that defines how the content may be used or distributed.
copyrightHolderCopyright · Rights holder. Person or organization that owns the rights.
The schema only supports these four fields. New courses can receive their creation date when they are created; an imported course retains its existing value or lack thereof.
Turn the specification into a real package
The guide Create packages shows the complete flow from an empty workspace to build, validation, multipart and playback in the actual viewer.
What belongs to the host
- Identity and authentication.
- Roles, permits and registration.
- Credentials and secrets.
- Durable persistence of the platform's own progress.
- Telemetry, billing and business logic.
Do you need help with this point?
The complete form is centralized so as not to repeat it in each technical article.
Contact