This project is not covered by Drupal’s security advisory policy.

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

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.

Supporting organizations: 
Development and ongoing maintenance

Project information

Releases