Content Versioning in CrafterCMS

Have you published a campaign too early? Or maybe after hitting publish, you realized that there was an error when the content showed up on the mobile app. 

Issues like these happen repeatedly in content management, which is why it’s so important to have a headless CMS equipped with robust content versioning capabilities. Here’s what you need to know about content versioning and how it works in CrafterCMS and its Git-based content repository.

What Is Content Versioning?

Content versioning is a feature that helps keep track of and manage different versions of content in a CMS. It allows content teams to see how a piece of content changes over time from the first iteration to the latest. Every time a change is made and published, a new version of that content asset is created. 

Additionally, each version may be assigned a unique identifier, such as a timestamp or sequence number, to differentiate it from other versions.

Key Concepts

Content management systems that offer content versioning usually include features that allow content authors to manage content across multiple stages.

  • Rollbacks: If an error is made content versioning enables teams to rollback to previous state such as in review or the draft stage to make changes before publishing again. 
  • Content Recovery: Versioning enables teams to revert previous versions of content, such as when someone makes unauthorized changes or accidentally deletes a piece of content. 
  • Branching: CMSs offering version control enable content teams to work on separate branches of the same content, which can later be merged. Similar to what developers working in Git can experience, this feature can benefit collaborative environments. 

Benefits of Content Versioning

Headless CMSs that offer content versioning, including CrafterCMS, can provide a number of benefits to enterprise teams.

  • Enhanced Collaboration:  Multiple team members can collaborate on the same content item without overwriting each other’s work. Versioning ensures that all changes are tracked and can be integrated smoothly so that teams can coordinate campaigns effectively. 
  • Better Content Governance: Detailed records of changes and authorship help maintain governance and compliance standards. By knowing who made specific changes to content, enterprises can hold individuals accountable and ensure that proper review and approval processes are followed.
  • Improved Content Consistency: Maintaining a history of changes helps maintain consistency and quality across different versions of content.
  • Increased Flexibility: With content versioning, content teams can experiment with different content strategies or designs without losing the original content, allowing for greater flexibility and creativity.
  • Error Reduction:  In case of content mishaps teams can quickly recover from past versions ensuring minimal disruption and revert to previous versions if needed, reducing the risk of errors being seen by customers.

Content Versioning vs Version Control

While assessing a CMS that offers content versioning, content teams may also come across the term version control. While both are useful for different use cases, it’s important to note that they are different.

Content versioning is a feature where changes are meticulously tracked, and content teams can manage multiple content iterations. Content authors, in particular, can leverage content versioning to record changes made to content, access and revert to previous versions, and effectively manage different content stages.

On the other hand, version control is more frequently used in software development to manage changes to source code. This includes tracking code modifications and enabling multiple developers to work on a project simultaneously. Version control is a feature commonly associated with Git. It prevents conflicts from arising as developers work on code simultaneously, making it easier for them to collaborate without stepping on each other’s toes. 

While almost every CMS offers some form of content versioning, allowing teams to track changes, audit content and more, the addition of version control as well adds an extra layer of flexibility, particularly for headless CMSs where content and code become intertwined as enterprises create and deliver content to multiple channels. 

Content Versioning in CrafterCMS

CrafterCMS is a headless CMS for enterprises and offers a number of features for content authoring teams, as well as for CMS developers who need to produce large-scale, high-performance, and ultra-secure websites and other content-centric applications. Key features that enable CrafterCMS to do this are content versioning and version control.

  • Git-based Content Repository: CrafterCMS is a Git-based CMS. It manages content using files stored in a decentralized Git repository, and all changes are immediately stored and versioned in the repository using Git's version control features. This architecture provides the ideal foundation for content versioning.
  • Version Tracking: CrafterCMS tracks all changes to pages, content, and static assets. All page changes and versions can be viewed or compared with other versions and reverted to an older version as necessary. 
  • Advanced Content Versioning: CrafterCMS makes it easy to manage sets of changes, not just individual content items such as a page or a component. Each change is versioned separately but content authors can specify a set of components or pages to be versioned separately. 
  • Time Machine Versioning: While most CMSs can manage content versioning, CrafterCMS’s time machine versioning offers faster and more flexible versioning which can be useful for legal teams or HR reviews and other use cases. CrafterCMS allows you to go back in time to see any version of your website or content asset. 
  • Easy and Complete Rollbacks: CrafterCMS makes it easy to revert to a previous version of your content. Content teams can swiftly roll back to an earlier commit or version if they find errors. This allows them to efficiently correct mistakes, recover from unexpected issues, or reverse changes that didn’t meet expectations.
  • Auditability: With version control, the entire history of content changes is visible, enabling content teams to establish comprehensive audit trails. These trails are invaluable for compliance, quality assurance, and gaining insights into the content creation process.
  • Cross-team Collaboration: Since most content and development teams already incorporate Git into their workflows, it naturally extends to content management. This enables content creators and developers to collaborate within a unified ecosystem, streamlining the launch of new software features and the publication of new content.
  • DevContentOps: Leveraging Git for content version control allows enterprises to seamlessly blend content management into their DevOps pipelines with DevContentOps. Our Git-based CMS also facilitates automated testing, deployment, and content updates alongside code changes, promoting a consistent and efficient development and deployment process with no code and content freezes.

Learn more about content versioning, and all content authoring features, in CrafterCMS in our online documentation.