Skip to content

Moving a space

Sometimes a space has to move: you built a website on your own computer and now want it on the real server, or you want to hand a finished space to a colleague who runs their own Manablox. For that, Manablox packs a space into one file (an export) and unpacks it on the other installation (an import).

A typical journey looks like this:

flowchart LR
A["Your computer: Settings > Spaces > Export space"] -->|"one file"| B["Server: Settings > Spaces > Import a space"]
  • Exporting needs the permission to export a space. Owners and admins of the space have it. Without it, the export card is not shown.
  • Importing needs a superadmin on the target installation (the first account created there is one), because an import creates a new space.

When you export, you tick what goes into the file. The space’s own settings (its name, languages and so on) always travel.

PartWhat it carries
DocumentsEvery document in every language, drafts and published ones, with their dates and publishing schedule.
Document historyEvery saved version, so you can still roll back on the new installation. Makes the file much larger.
Asset recordsThe names, alt texts and details of your images and files, but not the files themselves.
Asset filesThe actual image and file contents. Choosing these turns the export into a zip archive.
Content typesThe types built in the admin. Types a developer defined in the project’s code come from the target installation’s own code.
MenusNavigation menus and their entries.
RolesCustom roles and their permissions.
WorkflowsThe workflows themselves, not their past runs.
WebhooksThe webhooks and their settings, not their logs.
CredentialsThe names and kinds of stored passwords and keys, but empty. See below.
AI providersModels, house style and defaults, but not the API keys.

Some things never travel:

  • Members and accounts. Each installation has its own people. Whoever imports the space becomes its owner; add the others again afterwards (see Spaces and members).
  • Secrets. Passwords, keys and AI keys are locked with a secret that belongs to the old installation, so they could not be opened on the new one anyway. Credentials arrive as empty shells, AI providers arrive switched off, and webhooks that need a secret arrive switched off.
  • API keys, the activity log, notifications, approval requests, workflow runs and webhook logs. These belong to the installation they were made on.
  1. On the old installation, click Settings in the sidebar and open the Spaces tab.
  2. Pick the space in the list of spaces, if it is not selected already.
  3. Scroll down to the card Export and transfer.
  4. Under File, choose Archive to include the image and file contents (recommended), or JSON for the texts and settings only.
  5. Under Include, tick what should travel. The groups Content, Model and structure and Integrations each have an All/None button. The number at the end of each row shows how many of that thing the space has.
  6. Click Export space.

Your browser downloads a file named after the space and the date, for example website-2026-09-11.manablox.zip (or .json). Keep it somewhere safe; it contains all your content.

You do not have to move everything. Next to a ticked row, a small arrow lets you narrow it down:

  • For content types, menus, roles, workflows, webhooks, credentials and AI providers, you pick single entries by name.
  • For Documents, you pick by Content types, Locales (languages) and Status.

A document whose parent page is left out is left out too, because its web address depends on the parent.

Check two things on the target installation before importing:

  • The space must not exist there yet. An import restores a space under its original identity; it does not make a copy. If the target already has this space (or one with the same technical name), the import is refused.
  • Content types from code must be there. If some of your content types were defined by a developer in the project’s files rather than built in the admin, the target project needs the same definitions. Otherwise the import stops with a message that a content type is missing. See Content types in code.
  1. Sign in to the new installation as a superadmin.
  2. Click Settings in the sidebar and open the Spaces tab.
  3. At the top of the list of spaces, click the Import a space button (the upload icon next to +). If there are no spaces yet, click Import a space in the middle of the page.
  4. Under Export file, choose the file you exported.
  5. The window shows the space’s name and whether the file is an archive or JSON. Under Restore, untick anything you do not want, just like on the export side.
  6. Click Import space.

After a moment the new space appears in the list. You are its owner.

Go through this short checklist on the new installation:

  1. Open a few pages in Content and check texts and images. Published pages are published again automatically, keeping their original publishing dates.
  2. Fill in credentials. Under Settings > Credentials, open each credential and enter its secret again.
  3. Switch webhooks back on. Under Webhooks, check each webhook, pick its credential if needed, and switch it on (see Webhooks).
  4. Enter AI keys. Under Settings > AI, add the API keys and switch the providers on (see AI).
  5. Check workflows. Under Workflows, look at each one before relying on it. Workflows keep the on/off state they had, so a workflow that sends mail may already be switched on.
  6. Invite people. Add the members again under Settings > Spaces and give them their roles.
  7. Update your website. If a website shows this space, it now has to talk to the new installation. That is a job for the developer; the space’s identity is unchanged, so usually only the address of the CMS changes.

Below the export, the same card has The space as config. It is meant for developers: it turns content types, workflows, webhooks, credentials and templates you built in the admin into code for the project’s manablox.config.ts, so they can be kept and reviewed together with the website’s code. Tick what you want and click Download config. Hand the downloaded file to your developer; see Workflows and webhooks in code and Content types in code.