Import and export data
Describes how to import and export content and content definitions in CMS (SaaS).
The following packages have different use cases but also some overlapping functionality. Each moves content and content definitions between environments and can contain content definitions, but Episerver Data can include content and assets.
- Episerver Data –
application/vnd.optimizely.cms.episerverdata
– The Optimizely Content Management System (CMS) SaaS uses a traditional export and import format. A compressed Episerver Data file can contain content, definitions, and assets. The Episerver Data package format moves content and content definitions between environments and other versions of Optimizely CMS. - Manifest –
application/vnd.optimizely.cms.manifest
– A format composed of other definition resources into a single file. The Manifest package format can also move content definitions between environments. It maintains the content definitions and the client application's version-controlled source code, which ensures the necessary content definitions are available to run the client application.
Episerver Data
Export an Episerver Data package
You can export an Episerver Data package only from the user interface. Go to Settings > Export Data and select the content and content definitions to export. Click Export.
Import Episerver Data package
You can import an Episerver Data package through the REST API or UI.
REST API
You can import an Episerver Data package by calling the packages
endpoint with the media type set to Content-Type: application/vnd.optimizely.cms.episerverdata
and the .epserverdata
file included.
POST https://example.com/_cms/version2/packages
Content-Type: application/vnd.optimizely.cms.episerverdata
<!-- .episerverdata file -->
See Import package API reference.
UI
You can import an Episerver Data package from the user interface. Go to Settings > Import Data, select the .episerverdata
file, choose the content destination, and (optional) select the language. Click Begin Import.
Manifest
Export Manifest package
Export a Manifest package by calling the Export package
endpoint with media type set to Accept: application/vnd.optimizely.cms.manifest
:
GET https://example.com/_cms/version2/packages
Accept: application/vnd.optimizely.cms.manifest
Example response:
{
"contentTypes": [
{
"key": "news",
"baseType": "page",
"displayName": "News"
},
{
"key": "story",
"baseType": "component",
"displayName": "Story"
}
],
"propertyGroups": [
{
"key": "info",
"displayName": "Information",
"sortOrder": 10,
"source": ""
},
{
"key": "settings",
"displayName": "Setting",
"sortOrder": 20,
"source": "system"
}
]
}
Import Manifest package
Import a Manifest package by calling the Import packages
endpoint with the media type set to Content-Type: application/vnd.optimizely.cms.manifest
and the corresponding JSON body.
POST https://example.com/_cms/version2/packages
Content-Type: application/vnd.optimizely.cms.manifest
{
"contentTypes": [
{
"key": "news",
"baseType": "page",
"displayName": "News"
},
{
"key": "story",
"baseType": "component",
"displayName": "Story"
}
],
"propertyGroups": [
{
"key": "info",
"displayName": "Information",
"sortOrder": 10,
"source": ""
},
{
"key": "settings",
"displayName": "Setting",
"sortOrder": 20,
"source": "system"
}
]
}
Lack of support for traditional CMS
Due to architecture changes, import and export may not support all entities from traditional CMS to CMS (SaaS).
- Personalized content – Can not be imported into CMS (SaaS).
- Visitor group and criteria – Can not be imported into CMS (SaaS).
- DDS (Dynamic Data Store) – Can not be imported into CMS (SaaS).
- Categories – Can not be imported into CMS (SaaS).
- Frames – Can not be imported into CMS (SaaS).
- Max file size – There is typically a maximum file size, which can be around two GB. You should import the media assets separately or upload them if you have large media files.
- Max run time – Execution time limits: Import and export operations can be time-consuming and are often subject to maximum execution times enforced by the server. It is a known problem, and Optimizely is working on fixing it in a future release.
Updated 14 days ago