Provenance at Creation

Wiki pages created from other sources by mechanical means should have a journal that starts with a Create action describing the source, means and results of the conversion.

The action will follow a familiar schema with some specialized fields discussed at length.

action = { type, id, date, item, source } type = "create" id = "2308a98dcc983" date = 1458501134000 item = { title, story } source = { ... }

The item describes the whole page as created without subsequent journal actions. A journal can contain multiple creates but each represents a new beginning of the story as might happen with multiple runs of an import script.

The source describes the source and means by which a page has been created. This can be as varied as import scripts but has been regularized to a small degree by Transport plugin methodologies.

source = { url, date, rev, transport, repo } url = "https://en.wikipedia.org/wiki/Hypertext" date = 1458105780000 rev = "v128.397" transport = "http://localhost:4020/proxy" repo = "https://github.com/ward/transport-proxy"

The url is the resource locator for the source material. This would be the address dropped onto a Transport plugin.

The date is the last modification date of the source material if known, expressed in javascript epoch.

The rev is the source specific revision id of the source material if known.

The transporter is the POST endpoint used to transport the source to wiki json. It may not be public.

The repo is the public repository for the transporter used for the source conversion.