Beta . Ortha CMS is in public beta. Every plan is free until it ends.
Features Ortha CMS on GitHub

Export and import

Transfer plugin @orthacms/transfer-server@orthacms/transfer-admin

Moving content out of one Ortha and into another, without duplicating half of it.

Documents 0.13.1 Updated Edit this page Report a problem

On this page

Export and import live in the Content Library’s own menus:

WhereWhat
Entry editor → More actions (⋯)Export… the open record
Records table → the selection bar’s Bulk actions (⋯)Export the ticked records
Records table → More actions (⋯)Import… — opens Import records (hidden in the trash)

Exporting

  1. Choose the records (or open one).
  2. Export… — pick a format and what to Include:
    • Related records — one step out, e.g. an article’s author.
    • Files — the actual media files (ZIP only).
    • All languages — every translation of the chosen records.
    • Languages of related records — off by default; it multiplies the size.
  3. Check the counts — they come from the real export. Related records can turn 40 records into 4,000.
  4. Download.

Formats

FormatCarries filesLosslessGood for
JSONnoyesOne file, several types, readable
JSON LinesnoyesStreaming, line-by-line diffs
ZIP archive (with files)yesyesAnything with media
CSV (flat)nonoA spreadsheet someone will edit

CSV is lossy on purpose

Media is not restored from a CSV — a filename is not a file. Use CSV to hand content to a spreadsheet user; use JSON or ZIP to move content between installations.

Importing

  1. More actions → Import…
  2. Choose the file. (Need a starting point? Download a blank CSV template from the same dialog.)
  3. Answer the two questions below.
  4. Check the file — each record gets a verdict: Create, Update, Skip or Problem, with the reason.
  5. Import.

Changing the file or either answer clears the verdicts — you always check again before importing.

Two questions, not one

QuestionAboutChoicesDefault
If a record is already hereThe records the file is aboutLeave it alone · Update it with the file’s values · Add a second copy · Stop and import nothingLeave it alone
Records this file links toThe related records that came alongLink to the ones already here · Link to them, and update them from the file · Add them again as new recordsLink to the ones already here

“Add a second copy of this article” must not mean “and a second author” — hence two questions.

How a record is recognised

Not by its internal id, which only means something in one database. Instead:

  1. An identifying field — a slug, SKU or email (per language on translated types).
  2. The original id, only if nothing matched and that record exists in this workspace.

Without a configured identifying field, Ortha guesses (a field named like slug, sku, email, then the first required text field) and says so in the export. Ask your developers to set it per type — that is what makes importing the same file twice update instead of duplicate. See the transfer plugin.

What it guarantees

  • Every write goes through the same checks as the editor: validation, relations, languages, media, versions, the activity log.
  • Imports always land in the workspace you are in — whatever workspace the file came from.
  • Exports and imports have size limits, so a careless filter or a hostile file cannot overload the server.

Permissions

Export and Import need content:export and content:import — held by contributors and administrators. Downloading an import template needs only content:read.