Description
Problem
Developers can mirror Wikifunctions ZObjects from production into a local wiki using:
- wikifunctions-content-download — fetches dumps into a directory (see abstract-wiki/wikifunctions-content-download on GitLab).
- extensions/WikiLambda/maintenance/loadJsonDump.php — imports that directory into the wiki using Z0.json as an index and per-object ZID.revision.json files via ZObjectStore::pushZObject().
There is no equivalent pipeline for Abstract Wiki (Abstract Wikipedia) production content: no downloader and no importer that creates/updates pages with AbstractWikiContent in the configured abstract namespace(s) (WikiLambdaAbstractNamespaces / abstract mode).
This makes local development, testing, and reproducible environments harder for Abstract Wiki work compared to ZObjects.
Goal
Provide the same kind of workflow for abstract production content as for ZObjects:
- A download script (new repo next to wikifunctions-content-download, or an extension of that tooling) that pulls the latest abstract pages from production into a predictable on-disk layout (index + per-page revision JSON, analogous to Z0.json + Z12345.<rev>.json).
- A maintenance import script (new script or a mode on loadJsonDump.php) that reads that layout and creates or updates the corresponding wiki pages using the correct content model / namespaces for Abstract Wiki.
Scope / acceptance criteria
- Document the expected dump directory format (index file name, per-title or per-page file naming, how revisions are encoded) so download and import stay in sync.
- Import must respect abstract mode: correct namespace(s) and AbstractWikiContent validation, with edit summaries consistent with bootstrap imports where applicable (mirror existing i18n / patterns used for ZObject bootstrap).
- Support subset imports analogous to --zid, --from / --to (e.g. by title prefix, namespace + title list, or Q-id range — whatever matches how abstract pages are keyed in production).
- Error handling and summary output comparable to loadJsonDump.php (per-page success/failure + final counts).
References
- GitLab: abstract-wiki/wikifunctions-content-download
- WikiLambda: maintenance/loadJsonDump.php (current ZObject-only importer; error text already references the GitLab downloader)