Drupal to Contentstack
The Contentstack Migration Tool is designed to help users seamlessly migrate content from a legacy Content Management System (CMS) to Contentstack. The tool simplifies the migration process by providing an intuitive interface and step-by-step workflow for importing content, mapping content types, and migrating data into a stack within Contentstack. This guide outlines the process for performing a Drupal content migration.
Prerequisites
Before you begin, ensure that you have the following:
- A Contentstack Account with Admin or Owner role access.
- The Migration Tool installed and running on your system. Refer to the Drupal Setup Guide for installation instructions.
- The MySQL database is loaded with the Drupal structured query language (SQL) dump and reachable from your local environment.
Migrate Content from Drupal
Follow these steps to migrate your Drupal content into Contentstack:
Step 1: Log in to the Migration Tool
- From the welcome page, click Sign In with Contentstack. Or refer to the Authenticating the Migration Tool via SSO guide to log in via SSO for a more secure migration.
- You get redirected to the login page with region selection.
- Log in using your Contentstack credentials.
Step 2: Select Your Organization
- After logging in, you see an empty dashboard.
- Select your organization from the dropdown in the top-left corner.
Step 3: Create a New Project
- Click + New Project.
- Enter a Title and Description for your project.
- Click Create Project.
Step 4: Select and Validate Legacy CMS Data
- By default, Drupal is selected as your legacy CMS.
- Enter a 2–5 character affix for the source name.
- Use only letters (no numbers or special characters).
- Make sure the affix does not match any of the restricted keywords.
- The affix is used as:
- A prefix if the content type UID matches the restricted UIDs.
- A suffix for field UIDs.
- Click Validate File to validate the exported Drupal content.NoteIf validation fails, check for the following issues:
- File Format Error: Ensure the file is in the desired format.
- Missing Content: Ensure the exported data contains all required content.
- Incomplete Files: Verify that no files are missing or corrupted.
- Click Save and Continue.
Step 5: Configure Destination Stack
- You can either select an existing stack with content types or create a new stack. For this guide, let’s migrate content to an existing stack (eg., Sitecore).
- In the Language Mapping section, map the source CMS locale to a predefined language in Contentstack.
- Click + Add Language to map multiple locales.
- Click Save and Continue.
Step 6: Map Content Types
This step ensures that fields from your legacy CMS are correctly mapped to their corresponding fields in your Contentstack stack.
Search and Preview Content Models
On the left, a list of content types and global fields imported from the Drupal CMS is displayed. You can:
- Use the search bar to quickly locate specific content types within the list.
- Use the filters dropdown, next to the search bar, to filter content types based on All, Failed, Mapped, or Updated.
- Click the 'Schema Preview' icon next to each content type to view the structure of the content type with schema and fields.
- Each content type has a status icon:
- Blue tick: The content type was successfully mapped from the legacy CMS to Contentstack.
- Red cross: The mapping failed.
- Green tick: A previously mapped (blue ticked) content type was updated or saved.
NoteMapping failures could be due to a UID mismatch between the legacy CMS (Drupal) and the destination stack. Check and align UIDs if needed.
Map Content Fields
The mapping interface consists of two columns:
- Source Content Type Field List: Displays extracted field titles from Drupal.
- Destination Contentstack Field Data Types Dropdowns: Allows users to select the desired field data type for mapping in Contentstack.
By default, all fields are selected for migration; however, you can uncheck fields that you don’t want to migrate.
- The tool attempts to auto-map fields based on the selected source CMS.
- The Title and URL fields are auto-mapped and cannot be edited.
Handle Different Mapping Scenarios
- Select a content type from the dropdown to map fields accordingly. Adjust mappings manually if needed.
NoteIf the stack is empty, mappings rely solely on Contentstack’s field data types.
Use the following advanced options to efficiently manage your mappings:
- Search for Specific Fields: Use the search bar in the mapping interface to locate field names.
- Reset Content Mapping: Click the ‘Reset to default mapping’ icon to revert any changes made to the default mappings.
- Select an Existing Content Type from Destination Stack: By default, the tool maps the source models to the destination stack as new content types. For example, a ‘Contact Us’ page model from your source CMS gets mapped as a new ‘Contact Us’ content type during migration. However, you can select an existing content type from the destination stack if it exists.
- Fetch Content Types: During migration, if new content types or fields are created/updated/deleted in the destination stack, retrieve them by clicking the ‘Fetch content type’ icon to update the schema.Note
- If you have created a new stack in Step 5, the ‘Fetch content type’ or the ‘Select Content Type from Destination Stack’ icons do not appear.
- If an existing stack was selected (even if it is empty), the icons are available. You can go back to the stack, create new content types, and later use the 'Fetch content type' icon to update the schema and include the newly added content types.
- Advanced Properties: Click the ‘Advanced properties’ icon next to each field to adjust field-specific properties.
- Click Save after completing the mapping for each content type.
- Click Continue.
Step 7: Run a Test Migration
- Click Create Test Stack to create a sample stack within your organization to test the migration.
- Click Start Test Migration.
This migrates a small subset of your data to validate the mapping before running the full migration.
Step 8: Execute the Migration
- After a successful test migration, click Start Migration to perform the full migration to your selected stack.
- Upon completion, a success message appears in the logs with a link to your destination stack.
Your migrated data is now available in Contentstack.
NoteA stack that has already been used for migration cannot be used to perform another migration.
You have now successfully migrated your content from Drupal to Contentstack. If you encounter any issues during the installation or migration process, reach out to our support team for assistance.