Skip to content
Product Documentation

PageBuilder Editor: Export-Import Technical Documentation

Starting with PageBuilder Editor 3.4, users are able to export Pages and Templates that can be imported into other environments. This functionality supports the creation of Pages or Templates in sandbox environments which can be imported into production without re-creating editorial work. Fusion developers will also be able to export Pages and Templates created locally with the @arc-fusion/cli tool. Refer to this How-To Export-Import Guide for more details on this functionality.

Exporting Pages and Templates

Pages and Templates can be exported by clicking Export Page (or Export Template) from the action menu. This will display a dialog to download the exported Page or Template, which is a file with the pbexport extension.

When Pages or Templates are exported, the shared and published drafts are also exported. Note that all user drafts and variants are dropped during the export process, since this data is only applicable to the original page.

Importing Pages and Templates

Pages and Templates can be imported using the same Create Page or Create Template workflow. An upload icon has been added to the workflow which gives users the option to click the Upload a file button or drop a pbexport file directly into the panel.

When a Page or Template is imported, it will always be unpublished.

Export File Format

The export data is provided in JSON format, which is checksum verified for integrity. The checksum validation is provided as a warning and not blocking, which provides developers with the ability to perform automated processing of exported data at their own risk.

The shape of the JSON schema is described below:

  • source - a checksum used to determine the source of the exported file
  • checksum - a checksum used to validate the integrity of the data
  • renderings - an Object containing the Renderings used by the Page or Template
  • pages - an Array containing exported Pages*
  • templates - an Array containing exported Templates*

*As of Editor 3.4, users can only export a single Page or Template, but the export file may support bulk export in the future.

Page Data Structure

  • id - unique ID for the exported Page.
  • sites - associated sites for the exported Page. If the Page is configured for All Sites, this value is an empty array.
  • uri - the URI for the exported Page.
  • name - the name for the exported Page.
  • versions - an Object containing a map of rendering IDs for each version. This should not be modified.

Template Data Structure

  • id - unique ID for the exported Template.
  • name - the name for the exported Template.
  • versions - an Object containing a map of rendering IDs for each version. This should not be modified.

Rendering Data Structure

The renderings Object stores all of the drafts keyed using the rendering ID.

  • id - unique ID for the exported Rendering.
  • globalContentConfig - the content source for the exported Page/Template.
  • layout - selected layout for the Page/Template. Note that modifying this property in the pbexport file will not update the draft with the new zones. If you want to update the layout for an exported Page/Template, the best approach is to import the Page/Template first and select a new layout inside PageBuilder Editor.
  • layoutItems - an Array-based representation of the layout tree, which includes zones, features, and chains. Each node in this tree corresponds to a component in the draft.
  • creationDate - timestamp containing the date and time the draft was created. This should not be modified.
  • lastAutoSavedAt - timestamp containing the date and time the draft was last saved. This should not be modified.
  • \parent - the draft that this rendering is derived from. This should not be modified.
  • \pt - the associated Page or Template for this draft. This should not be modified.
  • \version - the associated version for this draft. This should not be modified.