Migrating from one CMS to another can be a complex process, but here are some things to consider when migrating from Contentful Enterprise Plan to Sitecore or Hygraph, aka GraphCMS:
Content types, fields, and entries in Contentful, Hygraph aka GraphCMS, and Sitecore
Hygraph aka GraphCMS
Content fields available in Contentful, Hygraph aka GraphCMS, and Sitecore
Hygraph aka GraphCMS
How to map a content model for a blog post between Contentful, Hygraph aka GraphCMS, and Sitecore:
Could you identify the content types between the CMS you want to map? Please list each content type and note their names, fields, and data types.
Compare the content types in CMS to identify similarities and differences in their structures. Look for similarities in the names and data types of the fields, and try to identify any differences in how the areas are structured or organised.
Identify any CMS fields that do not have a direct equivalent in the other CMS, and vice versa. For example, Contentful might have a tag field, while Hygraph might have a category field.
Create a mapping document that outlines how each content type, field, and entry in Contentful will be migrated to Hygraph. This document should describe each content type and area, the field type, and additional notes or considerations.
Create a plan for migrating your data from Contentful to Hygraph. This may involve exporting your data from Contentful in a format that can be imported into Hygraph. You should test this migration process on a small subset of your data to ensure it works correctly before migrating your entire data set.
Hygraph aka GraphCMS
In addition to the content type and field mappings, the mapping document should also include the following information:
Description of each content type and field: This should describe the purpose of each content type and field and how it is used in your content.
Field types: This should list the data type of each field, such as text, number, date, etc.
Field options and configurations: This should include any additional configuration options for each field, such as minimum and maximum values, validation rules, and formatting options.
Relationships between content types: If you have content types that are related to each other, such as parent-child relationships or one-to-many relationships, you should include this information in the mapping document.
Custom code or plugins: If you have any custom code or plugins that are used to extend the functionality of your CMS, you should include this information in the mapping document.
Data types should specify the data types used in the mapping process. This can include data types such as text, numbers, dates, and booleans.
Mapping rules: This should include specific rules for mapping data between Contentful, Hygraph, aka GraphCMS, and Sitecore. For example, if the data in Contentful uses a different naming convention than Hygraph or Sitecore, this should be noted in the mapping rules.
Data cleansing and validation: This should include a plan for cleaning and validating data before it is mapped to the target CMS. For example, if there are duplicate entries or missing data in Contentful, this should be identified and corrected before the data is mapped.
Data privacy and security: This should include any measures that will be taken to ensure the privacy and security of the data during the mapping process. For example, data should be encrypted during transit and at rest to ensure unauthorised parties cannot access it.
Data mapping testing should include a plan for how the mapped data will be tested and validated to ensure that it is accurate and functioning as expected in the target CMS.
CMS Data Migration Strategy
1. Export Data from Current CMS:
a. Identify which data needs to be migrated b. Check for export format options available in the current CMS c. Export the data in the desired format (e.g. CSV, JSON, XML, etc.) d. Store the exported data in a secure location
2. Clean Up Exported Data:
Check for duplicates, missing data, and data consistency
Ensuring consistent naming conventions and data formats
Removing unnecessary data fields
Verify that the data has been exported correctly
Store the cleaned-up data in a secure location
3. Import Data into New CMS:
a. Identify which data needs to be imported b. Check for import format options available in the new CMS c. Map the data fields between the old and new CMSs d. Import the data into the new CMS e. Verify that the data has been imported correctly
4. Final Clean-Up:
a. Check for duplicates, missing data, and data consistency in the new CMS b. Remove any unnecessary data c. Verify that the data has been imported correctly
5. QA Checklist:
a. Verify that all data has been successfully migrated b. Check that data is displaying correctly in the new CMS c. Verify that all links and media are functioning properly d. Check that all meta tags and SEO settings have been properly set up e. Verify that user accounts and access permissions have been properly set up f. Perform a final review of the new CMS to ensure that everything is working correctly
CMS Data Export Formats
Here is an example table outlining the export and import format options for Contentful, Hygraph aka GraphCMS, and Sitecore:
CSV, JSON, XML
CSV, JSON, XML
Hygraph aka GraphCMS
CSV, JSON, XML
CSV, JSON, XML
CMS Data Migration Plan
CMS Data Migration Plan
Export Data from Current CMS
Identify data, check export formats, export data, store in secure location
Clean Up Exported Data
Check for duplicates, missing data, data consistency, remove unnecessary data, verify data export
Import Data into New CMS
Identify data to be imported, check import formats, map data fields, import data, verify data import
Final Clean Up
Check for duplicates, missing data, data consistency, remove unnecessary data, verify data import
Verify all data migrated, verify data displays correctly, check links and media, verify meta tags and SEO, verify user accounts and permissions, perform final review of new CMS
API Migration Strategy for CMS Migration
API Integration, Migration, and Refactoring Plan
API Integration Plan
Identify APIs, check the documentation, determine integration method, test integration, and ensure standards are met.
Identify data, determine migration method, check for necessary transformations, map data fields, migrate data, verify data migration, check for issues, and perform necessary refactoring.
Identify areas to be refactored, determine the refactoring method, prioritize areas, create a timeline, test refactored system, ensure standards met
1. API Integration Plan: a. Identify which APIs will be integrated b. Check the documentation for each API c. Determine the best integration method (e.g. REST, SOAP, GraphQL) d. Test the API integration e. Ensure the integration meets the required performance, scalability, and security standards
2. Migration Plan: a. Identify which data needs to be migrated b. Determine the best migration method (e.g. manual migration, ETL, middleware, etc.) c. Check for any necessary data transformations or data cleansing that needs to be done d. Map the data fields between the old and new systems e. Migrate the data f. Verify that the data has been migrated g correctly. g. Check for any issues that may have arisen from the migration h. Perform any necessary refactoring to resolve issues
3. Refactoring Plan: a. Identify areas of the system that need to be refactored b. Determine the best refactoring method (e.g. incremental, total rewrite, etc.) c. Prioritize the areas of the system that need to be refactored d. Create a timeline for the refactoring process e. Test the refactored system f. Ensure the refactored system meets the required performance, scalability, and security standards
Integration, Migration, Refactoring
Link to the documentation
REST, SOAP, GraphQL
Manual Migration, Middleware
incremental, total rewrite
Performance, Security, Scalability
Migration Custome code between CMS
Bespoke Code-based Migration Plan
Identify Bespoke Code
Review existing codebase, identify purpose and functionality, determine requirement in new CMS, identify dependencies
Develop Code Migration Plan
Review codebase for compatibility, determine need for refactoring, determine migration method, develop timeline, test migrated code
Refactor Migrated Code
Review migrated code for refactoring needs, determine method for refactoring, prioritize areas for refactoring, develop timeline, test refactored code
Identify the bespoke code:
a. Review the existing codebase to identify any bespoke code b. Identify the purpose and functionality of the bespoke code c. Determine if the bespoke code will be required in the new CMS d. Identify any dependencies or integrations that the bespoke code has with other parts of the system
Develop a code migration plan:
a. Review the existing codebase to identify any compatibility issues with the new CMS b. Determine if any code refactoring or updating is required for the bespoke code to work in the new CMS c. Determine the best method for migrating the bespoke code (e.g. manual migration, automated migration, etc.) d. Develop a timeline and project plan for the code migration e. Test the migrated code to ensure it is working as expected in the new CMS
Refactor the migrated code:
a. Review the migrated code to identify any areas that require refactoring or updating b. Determine the best method for refactoring the migrated code (e.g. incremental refactoring, total rewrite, etc.) c. Prioritize areas of the migrated code that require refactoring d. Develop a timeline and project plan for the code refactoring e. Test the refactored code to ensure it is working as expected in the new CMS
Migration Training Strategy for CMS users
User Training Plan
Identify features, create comprehensive user manual, include visual aids, ensure easy navigation
Create video tutorials, break down into manageable segments, ensure easy to follow, make accessible
Hold regular workshops, use manual and tutorials as reference, provide platform for questions and feedback
General training, unique training, workshops, feedback and refinement
a. Identify all the features of the new CMS b. Create a comprehensive user manual with step-by-step instructions for each feature c. Include screenshots or videos to make the documentation more visual and engaging d. Ensure that the user manual is easy to navigate and search
Create new content for the website
Click on "New Content" button, select content type, fill in fields
Edit existing content
Click on content to edit, make changes, save
Store and manage media files
Click on "Media Library" button, upload or select file, manage files
Manage user accounts and permissions
Click on "User Management" button, add or edit user account, set permissions
a. Create video tutorials for each feature of the CMS b. Break down each tutorial into manageable segments c. Ensure that each tutorial is easy to follow and understand d. Make the tutorials easily accessible on a company intranet or learning management system
Creating New Content
This tutorial provides step-by-step instructions for creating new content in the CMS.
Editing Existing Content
This tutorial provides step-by-step instructions for editing existing content in the CMS.
Managing Media Files
This tutorial provides step-by-step instructions for managing media files in the CMS.
Managing User Accounts
This tutorial provides step-by-step instructions for managing user accounts in the CMS.
a. Hold regular workshops to provide hands-on training for users b. Use the user manual and video tutorials as a reference during the workshop c. Provide a platform for users to ask questions and provide feedback d. Record the workshops for future reference
June 1, 2022
10:00 AM - 12:00 PM
This workshop provides hands-on training for creating new content in the CMS.
June 2, 2022
2:00 PM - 4:00 PM
This workshop provides hands-on training for editing existing content in the CMS.
June 3, 2022
9:00 AM - 11:00 AM
This workshop provides hands-on training for managing media files in the CMS.
June 4, 2022
1:00 PM - 3:00 PM
This workshop provides hands-on training for managing user accounts in the CMS.
Week 1: Introduction to the CMS
Provide an overview of the new CMS and its features, as well as the benefits it offers.
Kickoff meeting to introduce the project team, goals and objectives of the CMS.
Project Team introduction presentation
Overview of CMS features and benefits.
CMS features and benefits presentation
General training sessions on how to use the CMS.
User manual, video tutorials, and workshops
Week 2: Department-specific Training
Provide specialized training for each department or team to focus on the unique features and functionality relevant to each department.
Training sessions for Marketing team to understand and utilize the CMS to manage their content.
Marketing training manual, video tutorials, and workshops
Training sessions for Sales team to utilize the CMS to access relevant content and support their sales initiatives.
Sales training manual, video tutorials, and workshops
Recap and Review session to ensure that all the department understands how to use the CMS effectively.
Department-specific training materials, workshops
Week 3: Advanced Training
Provide additional training for advanced features or integrations.
Advanced training sessions on CMS's integrations with other software tools.
Advanced training manuals, video tutorials, and workshops
Advanced training sessions on CMS's APIs and how to use them to optimize content management.
Advanced API training manuals, video tutorials, and workshops
Recap and review session to ensure that all the departments understand how to use the advanced features of the CMS.
Advanced training materials, workshops
Week 4: Feedback and Refinement
Encourage users to provide feedback on the training and the CMS itself. Use the feedback to refine and improve the training materials and the CMS.
Solicit feedback from users on the CMS and training materials.
Feedback surveys, feedback meetings
Final meeting to review feedback and make any final adjustments to the training materials and the CMS.
Final training manual, video tutorials, and workshops