Website Migration
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 mapping
Content types, fields, and entries in Contentful, Hygraph aka GraphCMS, and Sitecore
Contentful | Hygraph aka GraphCMS | Sitecore |
---|---|---|
Blog Post | Blog Post | Blog |
Landing Page | Page | Landing Page |
Product | Product | Product |
Author | Author | Author |
Category | Category | Category |
Asset | Asset | Media Item |
Entry | Entry | Item |
Form | Form | Form |
Content fields available in Contentful, Hygraph aka GraphCMS, and Sitecore
Field | Contentful | Hygraph aka GraphCMS | Sitecore |
---|---|---|---|
Text | X | X | X |
Rich Text | X | X | X |
Image | X | X | X |
Video | X | X | X |
Audio | X | X | X |
Number | X | X | X |
Boolean | X | X | X |
Date | X | X | X |
Link | X | X | X |
Reference | X | X | X |
Array | X | X | X |
Object | X | X | X |
Location | X | X | - |
SEO Metadata | X | X | X |
Custom Code | - | X | X |
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.
Contentful | Hygraph aka GraphCMS | Sitecore |
---|---|---|
Blog Post | Blog Post | Blog |
title | title | Title |
content | content | Body |
author | author | Author |
tags | categories | Tags |
featured_image | featuredImage | Image |
related_posts | relatedPosts | Related Posts |
author_bio | authorBio | Bio |
custom_code | customCode | Custom Code |
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:
CMS | Export Formats | Import Formats |
---|---|---|
Contentful | CSV, JSON, XML | CSV, JSON, XML |
Hygraph aka GraphCMS | CSV, JSON, XML | CSV, JSON, XML |
Sitecore | XML | XML |
CMS Data Migration Plan
CMS Data Migration Plan | Checklist |
---|---|
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 |
QA Checklist | 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 | Checklist |
---|---|
API Integration Plan | Identify APIs, check the documentation, determine integration method, test integration, and ensure standards are met. |
Migration Plan | Identify data, determine migration method, check for necessary transformations, map data fields, migrate data, verify data migration, check for issues, and perform necessary refactoring. |
Refactoring Plan | 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
API | Type | Documentation | Integration Method | Migration Method | Refactoring method | Verification |
---|---|---|---|---|---|---|
Chart | 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 | Checklist |
---|---|
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 | Checklist |
---|---|
Create Documentation | Identify features, create comprehensive user manual, include visual aids, ensure easy navigation |
Create Tutorials | Create video tutorials, break down into manageable segments, ensure easy to follow, make accessible |
Conduct Workshops | Hold regular workshops, use manual and tutorials as reference, provide platform for questions and feedback |
Onboarding Plan | General training, unique training, workshops, feedback and refinement |
Create Documentation:
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
Feature | Description | Instructions | Screenshots | Videos |
---|---|---|---|---|
Content Creation | Create new content for the website | Click on "New Content" button, select content type, fill in fields | Yes | Yes |
Content Editing | Edit existing content | Click on content to edit, make changes, save | Yes | Yes |
Media Library | Store and manage media files | Click on "Media Library" button, upload or select file, manage files | Yes | Yes |
User Management | Manage user accounts and permissions | Click on "User Management" button, add or edit user account, set permissions | Yes | Yes |
Create Tutorials:
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
Feature | Tutorial Title | Tutorial Length | Tutorial Description | Link |
---|---|---|---|---|
Content Creation | Creating New Content | 5 minutes | This tutorial provides step-by-step instructions for creating new content in the CMS. | [Link] |
Content Editing | Editing Existing Content | 4 minutes | This tutorial provides step-by-step instructions for editing existing content in the CMS. | [Link] |
Media Library | Managing Media Files | 6 minutes | This tutorial provides step-by-step instructions for managing media files in the CMS. | [Link] |
User Management | Managing User Accounts | 8 minutes | This tutorial provides step-by-step instructions for managing user accounts in the CMS. | [Link] |
Conduct Workshops:
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
Workshop Topic | Workshop Date | Workshop Time | Description | Recording Link |
---|---|---|---|---|
Content Creation | June 1, 2022 | 10:00 AM - 12:00 PM | This workshop provides hands-on training for creating new content in the CMS. | [Link] |
Content Editing | June 2, 2022 | 2:00 PM - 4:00 PM | This workshop provides hands-on training for editing existing content in the CMS. | [Link] |
Media Library | June 3, 2022 | 9:00 AM - 11:00 AM | This workshop provides hands-on training for managing media files in the CMS. | [Link] |
User Management | June 4, 2022 | 1:00 PM - 3:00 PM | This workshop provides hands-on training for managing user accounts in the CMS. | [Link]w |
Onboarding Plan:
Onboard Plan | Timeline | Description | Deliverables |
---|---|---|---|
Week 1: Introduction to the CMS | Days 1-5 | Provide an overview of the new CMS and its features, as well as the benefits it offers. | |
Day 1 | Kickoff meeting to introduce the project team, goals and objectives of the CMS. | Project Team introduction presentation | |
Day 2 | Overview of CMS features and benefits. | CMS features and benefits presentation | |
Day 3-5 | General training sessions on how to use the CMS. | User manual, video tutorials, and workshops | |
Week 2: Department-specific Training | Days 6-10 | Provide specialized training for each department or team to focus on the unique features and functionality relevant to each department. | |
Day 6-7 | Training sessions for Marketing team to understand and utilize the CMS to manage their content. | Marketing training manual, video tutorials, and workshops | |
Day 8-9 | 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 | |
Day 10 | 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 | Days 11-15 | Provide additional training for advanced features or integrations. | |
Day 11-12 | Advanced training sessions on CMS's integrations with other software tools. | Advanced training manuals, video tutorials, and workshops | |
Day 13-14 | Advanced training sessions on CMS's APIs and how to use them to optimize content management. | Advanced API training manuals, video tutorials, and workshops | |
Day 15 | 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 | Days 16-20 | 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. | |
Day 16-19 | Solicit feedback from users on the CMS and training materials. | Feedback surveys, feedback meetings | |
Day 20 | Final meeting to review feedback and make any final adjustments to the training materials and the CMS. | Final training manual, video tutorials, and workshops |