Versioned content is an important aspect of content management systems (CMS) that allows users to track and manage changes to their content over time. It is a way to keep a record of the different versions of a piece of content, such as a document or webpage as it is edited and updated.
Using versioned content allows users to easily access and compare previous versions of their content, so they can see how it has changed over time and revert to an older version if necessary.
Versioning also helps to prevent conflicts and collisions between different users who may be editing the same content at the same time. By keeping a record of all changes, users can easily see who made what changes and when which can help to resolve any issues that may arise.
For bigger content projects, versioned content allows users to track the progress of their content over time and see how it evolves. Stakeholders stay informed about the project’s progress and audits and reviews are made easier by comparing content versions.
Not all content versioning tools are equal and many do not suit the needs of businesses that rely on collaboration. Locked editing, where when someone is editing a piece of content everyone else is locked out of it. This is how WordPress works for instance. This isn’t ideal as it encourages people to work in silos.
The other end of the spectrum is real-time collaboration. Tools like Google Docs offer real-time collaboration, where many people work concurrently on the same document. Anyone with experience with this approach will know it doesn’t work. Constant document evolutions make concentration and consistency difficult and often result in a patchwork effect that is not conducive to good content, this article explains these difficulties very well.
Our approach to versioned content focuses on a collaboration model that uses immutable data. Immutable data never gets deleted. Changes get added on top and the old data is masked, but it is still there and available for humans and machines to read.
Changes to content are made using change requests. Each request has a workflow for reviews, approvals, and rejections. The change request makes a copy of the database called a branch and changes are made within the new branch. When a change request is approved, these changes are merged into the database. All changes are stored as commits meaning users and machines can view, use, and compare versions to see changes over time.
This approach is ideal for content collaboration where multiple people need to work on content, but do not want the chaos of a constantly evolving document wrecking their concentration and flow.
There are some other useful things TerminusCMS’s immutable data can provide businesses, these include –
Improve the quality of documentation
Many products, particularly in the software field, go through different versions with new functionality added with new releases. Customers using different versions of products have different documentation requirements and maintaining this is a challenge. Versioned content can solve this. Rather than having to create different versions of documentation or adding notes to it informing users that X feature is only available in version X, versioned content can be used to maintain it. The latest changes, when published can be marked version X. The front end can be configured to give users the option to choose the version of documentation they are seeking.
Ensure compliance
As part of the European Cyber Resilience Act, businesses must document their cyber vulnerabilities for each product release and this information needs to be available for a minimum of 10 years. This must include a software bill of materials – including any third-party software, such as open-source components. Failure to comply can result in hefty penalties. Versioned content can assist companies to meet their compliance responsibilities. Much like the documentation use case above, as software and products change, versions can be used to keep this information up-to-date, and businesses compliant.
Make wholesale updates fast
For big product launches and brand refreshes, wholesale updates are often required. Doing this on a document-by-document basis is not efficient and can be problematic when it comes to copy-checking for quality, consistency, and accuracy. We believe in making changes to many documents at once and having these wholesale changes available to compare and copy-check. It also helps for the launch date, when everything is ready to go, it’s a simple case of clicking to publish all the changes at once rather than having to manually publish each piece of content.
Target different markets with different communications
Many products have uses across different marketplaces. These markets will have different value propositions and it makes little sense to try and cover all needs on one page of a website. The key messaging will get lost in the noise. Dynamic content gives content based on what the user is interested in rather than irrelevant content. Our approach to versioned content can be used for dynamic content. When a change request is started, TerminusCMS creates a new branch, essentially a copy of the content database, where changes are made and then once approved merged back into the live database. Branches can be used to create dynamic content, so you could have a branch targeting Gen Zs, a branch with content specific to Boomers, and then dynamically serve the content based on the visitor profile.
There are many other benefits of versioned content with immutable data such as A/B testing and true interdepartmental collaboration. In short, versioned content is an essential tool for managing content in an organization-wide CMS. It allows users to track and manage changes to their content, prevent conflicts and collisions, and track progress over time. By using a versioning system, users can ensure that their content is organized, up-to-date, accurate, and most importantly, serves the purpose it is intended for.
If you’re interested in our approach and would like to discuss your requirements, get in touch to talk it through.