Using the Concrete Migration Tool Addon

Apr 27, 2024

The Concrete CMS Migration Tool is a powerful tool that allows users to migrate content one Concrete install to another. The tool is designed to simplify the process of moving content from one system to another by automating many of the tasks that would normally need to be done manually.

The Migration Tool works by exporting content from the source system into a standardized format (An XML file and a Zip file for files), then importing that content into the target system. To use the Migration Tool, you first need to identify the source and target systems you will be working with.

You can use install the Migration Tool on both the source site and the destination site by adding the package to the /packages directory.

The version to install depends on what version of Concrete CMS the sites are running:

Concrete CMS (concrete5) Version Compatible Migration Tool Branch
<=5.6.x (legacy) Addon Migration Tool (Legacy) master
5.7x through 8.x Addon Migration Tool master
9.x+ Migration Tool master

Install it by going to Dashboard > Extend Concrete and select the Install button: Installing Import Tool

Content you might export from the source site might include content like pages, blocks, files, and other content, etc. - you can specify what parts of the site to export during the export process. The tool will then convert this content into a standardized format (CIF or Concrete Interchange Format) that can be imported into the target site.

You can find the Import tool under System & Settings > Import Tool after installing it.

Concrete Import Tool Location after install.

Exporting Content

To create an export, you will need to create a batch. You can create a batch by going to System & Settings > Import Tool > Export Content and then clicking the "Add Batch" button.

Concrete CMS Import Tool Add Batch Button

Once you've created the batch, you will want to specify what content you want to add to it.

Concrete CMS Import Tool - Assigning content to batch

For instance, you will commonly want to export/import pages. Once you select pages, you get a similar set of options that you would in the Page Search section of the dashboard - this lets you narrow down what subselection of pages you want to include (or maybe you want to include all of them - then you can just search without setting any filters).

Concrete CMS Import Tool - Adding Pages

You can select all the results and then hit the "Add to Batch" button. Repeat this process of adding different objects like pages, stacks, users, etc. to the batch until you have everything you want to export batched together. Then, click the "Export Batch" button and download the XML file and the zip file provided by the tool. You will upload these to the destination site to complete the export.

Importing into the new site

After the content has been exported, you can use the Migration Tool to import the content into the target system. The tool will automatically map the content from the source system to the corresponding content in the target system, making it easy to ensure that everything is properly aligned. If the Migration Tool isn't sure what maps to what, it will give you an opportunity to set the mappings manually.

Importing page types

Block types, attribute, and other relatively simple objects will not be imported again if they already exist.

Page types, however, have a significant amount of content associated with them so they do not import the same way as simpler objects. They will be imported without checking to see if they already exist which can result in duplicated block type content on the page type, and duplicated controls in the forms. Be sure to manage their installation and upgrade process accordingly (see this example).

Recent Tutorials
Upgrade Concrete versions 9.3.1 and 9.3.2
Sep 10, 2024
By myq.

How to get past a bug in versions 9.3.1 and 9.3.2 that prevents upgrading the Concrete core through the Dashboard

How to use Composer with Marketplace extensions
Aug 22, 2024

Composer can be used to manage third-party extensions from the marketplace

Controlling Google Tag Manager Tags Based on Concrete CMS Edit Toolbar Visibility
Aug 13, 2024

This document provides a step-by-step guide on how to control the firing of Google Tag Manager (GTM) tags based on the visibility of the Concrete CMS edit toolbar. It explains how to create a custom JavaScript variable in GTM to detect whether the edit toolbar is present on a page and how to set up a trigger that ensures GTM tags only fire when the toolbar is not visible. This setup is particularly useful for developers and marketers who want to ensure that tracking and analytics tags are not activated during content editing sessions, thereby preserving the accuracy of data collected.

Upgrading Concrete from 8.5 to 9.x
Jun 21, 2024
By myq.

How to avoid problems upgrading from 8.5 to 9.x

How to change the default date format
May 30, 2024
By myq.

Change the format of the default date

WebOps Tutorial on Running and Upgrading a Concrete CMS Website
May 2, 2024
By myq.

Describes how to deploy, manage, and upgrade a Concrete CMS website

Improvements?

Let us know by posting here.