Omeka S Blueprints¶
One JSON file that describes an Omeka S environment: modules, themes, vocabularies, resource templates, settings, users, sites and sample content. Write it once and apply it with any tool that reads the format.
Read the reference Browse examples
A first blueprint¶
Installs Omeka S, adds two modules, an editor and a public site.
{
"$schema": "https://omeka-s-contrib.github.io/omeka-s-blueprints/schema/v0/blueprint-schema.json",
"install": {
"title": "Demo",
"locale": "en_US",
"timezone": "UTC",
"admin": { "name": "Admin", "email": "admin@example.com" }
},
"modules": [
{ "name": "Common", "state": "activate" },
{ "name": "Mapping", "source": "https://github.com/omeka-s-modules/Mapping/releases/download/v2.1.0/Mapping-2.1.0.zip" }
],
"users": [
{ "email": "editor@example.com", "role": "editor" }
],
"sites": [
{ "title": "Demo site", "slug": "demo", "theme": "default" }
]
}
Consumers¶
A consumer is a tool that reads a blueprint and applies it. The format does not depend on any of them: each one applies the keys it supports, ignores the rest, and lists what it covers in its own support matrix.
| Consumer | Runs Omeka S | How you pass a blueprint | Extension key |
|---|---|---|---|
| Omeka S Playground | In the browser (WebAssembly) | ?blueprint-url=https://…/blueprint.json |
x-playground |
| Omeka-S-Cli | On an existing instance | omeka-s-cli blueprint:deploy site.json |
x-omeka-s-cli |
| alpine-omeka-s | In a container | OMEKA_BLUEPRINT variable (planned) |
none |
Building a consumer?
Validate input against the schema, ignore the keys you do not apply, and put your own options under an x- key. To report a blueprint that breaks, add it as a fixture in a pull request.
What a blueprint describes¶
Every key is optional. Unknown keys are rejected, except extensions that start with x-.
| Key | What it holds |
|---|---|
install |
Title, locale, timezone and first admin, used when Omeka S is installed |
modules |
Modules to download, install or activate |
themes |
Themes to make available |
files |
Extra files placed in the installation, such as a module config |
vocabularies |
RDF vocabularies to import |
resourceTemplates |
Resource templates from JSON exports |
settings |
Global settings |
users |
Accounts and their roles |
itemSets, items |
Sample content, with media by URL |
sites |
Sites, their theme and per-user permissions |
meta, preferredVersions |
Informational: title, author, PHP and Omeka S versions |
x-… |
Options for one consumer; the others ignore them |
Validate in your editor¶
Add $schema and editors such as VS Code check the file and suggest keys as you type.
{ "$schema": "https://omeka-s-contrib.github.io/omeka-s-blueprints/schema/v0/blueprint-schema.json" }
See Schema for the URLs and how versions work.