Heratio Help Center article. Category: Federation.
Europeana EDM Publish
Version: 1.0 Date: 2026-05-26 Author: The Archive and Heritage Group (Pty) Ltd
1. Overview
The Europeana EDM publish surface lets your repository deliver bulk exports to the Europeana harvester in the Europeana Data Model (EDM) RDF/XML format. Every published Information Object becomes one EDM record file; the bundle ships with a sitemap and is packed into a single zip ready for upload.
This is one of three federation-publish surfaces Heratio supports
alongside OAI-PMH (/oai) and the ResourceSync capability list
(/.well-known/resourcesync). Use Europeana publish when the receiving
aggregator prefers a periodic bulk drop rather than continuous OAI
harvest.
2. Where to find it
Admin > Federation > Europeana EDM Publish (or directly at
/federation/europeana).
The dashboard shows:
- Records in the last export
- Bundle size
- Last-finish timestamp (UTC)
- Run status (
success/error/running) - Run history (last 10 runs)
- "Generate now" button - kicks off a synchronous export
- "Download bundle" link - serves the most recent zip
3. What gets exported
Every Information Object whose publication status is Published
(status type 158, status_id 160). Draft records are excluded. The same
filter the OAI-PMH server uses, so an OAI subscriber and the Europeana
bundle see the same record set.
Each per-record file carries:
edm:ProvidedCHO- the cultural-heritage object with dc:title, dc:description, dc:identifier, dc:creator (URI ref), dc:subject, dc:date, dc:language, dc:rights, dc:format, dc:contributor, edm:type, and dcterms:spatial.ore:Aggregation- the providing wrapper with edm:dataProvider, edm:provider, edm:isShownAt (your show page), edm:isShownBy (the primary access copy), edm:object (the thumbnail), and edm:rights.edm:WebResource- one per digital surrogate, with dc:format and edm:rights.edm:Agent,edm:Place,edm:TimeSpan- referenced by URI where applicable.
4. edm:type vocabulary
Europeana requires every record to declare exactly one of:
TEXT- default; used for any record without a digital surrogateIMAGE- MIMEimage/*SOUND- MIMEaudio/*VIDEO- MIMEvideo/*3D- MIME containsmodel/,gltf, orobj
The serializer picks based on the master digital object's MIME type.
5. Rights URI
edm:rights is mandatory and must resolve. Heratio looks up an
attached rights_statement.uri first (the RightsStatements.org or
Creative Commons URI you've linked to the record), then falls back
to federation.europeana_default_rights setting, and finally to
http://rightsstatements.org/vocab/InC/1.0/ (In Copyright).
Make sure every published record carries a real rights statement before publishing - the catch-all is intentionally pessimistic.
6. Configuration
Open the Settings module and look under scope federation:
| Setting | Default | Purpose |
|---|---|---|
europeana_data_provider |
The Archive and Heritage Group |
The edm:dataProvider literal Europeana shows alongside every record. |
europeana_country |
South Africa |
Provider country. |
europeana_language |
record culture | Provider primary language. |
europeana_default_rights |
http://rightsstatements.org/vocab/InC/1.0/ |
Fallback rights URI. |
The federation_enabled global toggle also gates Europeana publish; turn the dashboard off and the weekly schedule stops firing.
7. Schedule
The package registers a weekly run for Sunday 02:00 (server local time). You can disable it by turning off federation_enabled.
For ad-hoc runs use the "Generate now" button or the CLI:
php artisan europeana:export
php artisan europeana:export --out=storage/europeana/
php artisan europeana:export --since=2026-01-01
--since does an incremental rebuild (only IOs touched after the
date). The bundle name still uses today's date.
8. Sending the bundle to Europeana
Once you have a confirmed Europeana provider agreement:
- Click "Generate now" or wait for the weekly run.
- Click "Download bundle".
- Hand the
europeana-bundle-YYYY-MM-DD.zipover to your data-ingest contact at Europeana (or upload via the provider portal they assign). - The sitemap inside is what their harvester crawls when they re-pull from your live URLs - so make sure the per-record show pages and primary digital-object access copies are publicly reachable.
9. Troubleshooting
- No bundle is available yet - run the export first. If the schedule hasn't fired yet and you haven't clicked "Generate now", the download is a no-op.
- Status is
error- check theerrorcolumn on the run-history table on the dashboard, then check Laravel's log. The most common cause is a missingstorage/europeana/directory the worker can't create (perms drop-in needed for php-fpm). - edm:type comes out wrong - the picker looks at the master digital object's MIME type. Fix the MIME on the record and re-run.
See also
- OAI-PMH publishing (
/help/oai-pmh-server) - ResourceSync capability list (
/help/resourcesync) - Schema.org JSON-LD on show pages (
/help/jsonld-schema-org)