Provenance
Provenance is a developer module. It gives Drupal one shared way to write and read W3C PROV documents.
PROV-DM, the W3C data model for provenance, describes entities, the activities that used, generated or ended them, and the agents responsible for both, connected by relations such as wasDerivedFrom and wasAttributedTo.
The module has no user interface and no settings. Provenance Activity Log is built on it and records every change on a site as a PROV document.
What it provides
- Names for Drupal things. One grammar for entities, revisions, translations, simple configuration and software agents, such as
drupal:node/42/rev/7/lang/fr, with a parser back to entity coordinates. Names are built from the site UUID, so they survive a move to another domain. - Namespaces. A registry that modules add their own namespaces to through a tagged service. Two modules binding one prefix to different URIs fail when the registry is built.
- A document writer. Activities, people, software agents, organizations, delegation, attribution, derivations and entity operations (created, updated, deleted, observed), written as the PROV relations other readers expect.
- Storage. PROV-JSON, PROV-N or PROV-XML, with pluggable storage encodings. Raw and gzip ship with the module, and switching between them keeps older rows readable.
- Readers. Activity, entity operation, label and agent readers that walk a stored document without rebuilding the whole model.
- Erasure. A redactor that removes selected facts about a subject from a stored document, and optionally its identifiers, while keeping the document's relations.
Requirements
- PHP 8.4 and Drupal 11.4 or later.
- The amateescu/prov library.
Documentation
- README: overview, a PROV-DM primer, requirements and installation.
- Conventions: the name grammar, namespaces and shared vocabulary.
- API: writing, storing, reading and erasing documents.
- Internals: why the conventions and the API are shaped the way they are.
Status
Alpha. The API and the document conventions can still change between releases.
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Releases
| Version | Type | Core | Release date | |
|---|---|---|---|---|
| 1.0.0-alpha1 | Pre-release | 11 | Oct 6, 2026 | |
| 1.0.x-dev | Dev | 11 | Oct 6, 2026 |