Delivery · 19 / 23
Export and import
Export records with one hop of what they reference, and import them back through a check that shows every change first.
3 records, 4 related, 2 files · 5.1 MB
1 to add · 1 to update · 2 skipped · 0 problems
How it works
- 01
Select records and pick JSON, JSON Lines, ZIP or CSV.
- 02
Related records and files one hop away come along.
- 03
Import checks the file first and shows what will change.
- Formats
- JSON, JSON Lines, ZIP, CSV
- Graph
- One hop of relations and files
- Import
- Nothing written until checked
In depth · For whoever moves content between systems
Move content between installations
Hand a translator a spreadsheet, move a section between installations or seed staging from production — with every import checked before it writes.
Exactly one hop
An export takes the records you selected, their languages, and every record one relation away. Records two hops out stay as references, so one article never drags in the whole library. The dialog shows the counts before you download.
Under the hood
Four toggles decide what comes along: related records, file bytes, the selected records’ other languages, and the related records’ other languages.
Four formats
| Format | What it carries |
|---|---|
| JSON | One lossless document, any number of types. |
| JSON Lines | One record per line; lossless and streams. |
| ZIP | Records plus asset bytes; the only format with files. |
| CSV | A flat table per type; lossy, and says so. |
Every write goes through the same writer
An import writes through the service the editor and the delivery API use, with the same validation, workspace scope and revisions. It re-checks your own permissions on every record, so an import can never do more than you could by hand.
Under the hood
Dry run and apply are one pipeline, so the Create, Update, Skip and Problem verdicts describe what the apply will do. The apply runs in one transaction.
Two import files arriving at one check, the entry writer, which enforces validation, workspace scope, relation targets and the caller’s permissions before anything reaches the workspace.
Matched on natural keys
- Re-run safely
- Records match on the fields that identify them, so importing a file twice updates instead of duplicating.
- Language is part of the key
- The English and German versions of an article travel as two records and stay apart.
- Related records link by default
- A related record that already exists is linked, not duplicated or overwritten.
Questions
Can I export the whole library?
Not in one request: exports stop at five thousand records by default. For a backup use your database tooling; this is for moving content.
Can an untrusted file hurt the server?
Archive sizes, entry counts and compression ratios are checked before anything is inflated, and paths that climb out are rejected.
Who may do it?
Export and import are their own permission keys, granted to contributors and administrators.