Exploring TimeMachine: How dotCMS Handles Content Versioning

Jason Smith

The demand for content is at an all-time high.  

According to the International Data Corporation, the digital universe is doubling in size every two years and is expected to reach 44 trillion gigabytes by 2020. This meteoric growth is being fueled by increasing consumer demand for digital experiences in places where we never once imagined them. On our kitchen counters, in university dorm rooms, in retail outlets, and at live events.

To keep up with this demand, and to stay ahead of competitors, enterprise companies need to create order out of the chaos by having granular control over their content and publishing workflows. With dotCMS, tools like TimeMachine and Workflow Management help enterprises control content versioning, content edits, user permissions, workflows and more.

Introducing TimeMachine

TimeMachine is a feature of dotCMS that handles versioning. Using TimeMachine, you can view a snapshot of how a site has looked historically or even how it will look in the future. These tools allow you to track changes made to content and store backup copies of content for rollbacks or compliance reasons.

TimeMachine allows you to take static snapshots of your sites and save them as backups on a regular basis. This feature is not enabled by default and will need to be scheduled. You can do this by selecting settings under TimeMachine and creating a TimeMachine job.


This allows you to enter a cron (time-based) expression, which specifies how frequently TimeMachine will save and download static snapshots of your selected sites. You can also include as many sites or languages in the job as you would like—which is vital for national and international brands seeking consistency across multiple brands or websites while keeping up with increasing demand for omnichannel customer experiences.

Once you have a TimeMachine job set-up, you will be able to view any snapshots saved by selecting past dates within the TimeMachine portlet. This will allow you to see how your sites looked at a previous point in time. In addition, the TimeMachine job will save all of the content and asset files in the asset folder where dotCMS is running.

When developing a content publishing strategy, it is often helpful to see how a site will look in the future. TimeMachine allows you to do this based on the publishing and expiration dates of your content. This lets content managers make sure their branding is consistent across sites before it goes live.

In order to view future snapshots, you need to enable the date and time fields on any content types that you want to allow contributors to set a publish or expire date. Enabling these fields overrides the default behavior of dotCMS by no longer publishing content that's set to be published in the future or has already expired.

Now that this feature is enabled, you can select future dates within the TimeMachine portlet and preview how the content will look on your site on a particular date in the future.


Time Machine is a simple, but powerful tool for enterprise companies to track content changes, restore previous versions and provide an audit history for compliance. These features integrate seamlessly with the dotCMS Workflow Management module.

Content Approvals and Workflow Management

dotCMS offers flexible and extensible workflow and approval features that can be customized to specific business needs following the NoCode philosophy. Utilizing these features will help your brand maintain consistency across its various touchpoints and allow companies in controlled content industries to impose strict governance rules.

The basis of a workflow is a scheme, which can be applied to any content type within dotCMS. There are two schemes included with dotCMS by default, but new schemes can easily be created by defining a series of steps, actions, and subactions. Each step requires its actions and sub-actions to be completed by one or multiple users before moving on to the next step. There are a number of actions included with dotCMS by default, but new ones can also be defined using custom code.

The workflow module meets the need for transparency. With tasks in dotCMS, content managers are able to get an overview of where content sits in the workflow process and have better insights for making content strategy decisions. This is especially helpful for larger companies with a multitude of workflow schemes and more complex business requirements. There is also a flexible notification feature offering email and SMS by default, and it’s extensible to any API-driven messaging platform.

Using the workflow module can also drive efficiency by utilizing its bundling and interoperability features. Bundles allow content teams to create content velocity by grouping and saving content to be published later using push publishing. Another useful feature is the interoperability that dotCMS allows with its API-driven architecture. External applications are able to interact directly with the Workflow Module, and workflow schemes can include actions and subactions that relate to external services. These features ensure enterprises have strong governance rules in place without losing out on efficiency.

Recommended Reading: Content Approval & Workflow Management in dotCMS

True Enterprise-grade Web Content Management

With dotCMS, features such as TimeMachine and Workflows can help facilitate deep control over an enterprises' published content. Keeping with the NoCode philosophy, there has been a focus placed on making sure these features are simple for marketers and content authors to use without reliance on IT.

Junior Achievement has been using dotCMS to efficiently control its content for more than a hundred websites while maintaining a consistent brand message. Junior Achievement uses the workflow management and multi-tenant features to avoid duplication while publishing content and embraces the NoCode philosophy of dotCMS to save on development costs.

The need for content administrators within enterprises to have control over content is only going to increase exponentially as content gets published to a greater variety of devices and platforms. Without a transparent process like workflows and TimeMachine previews, companies are prone to poor governance, duplication, and inconsistencies across brands. Along with mitigating these issues, dotCMS facilitates self-sufficiency for content creators by adhering to the NoCode philosophy. Moreover, having a flexible content management system that meets business needs is a strong driving force in cost savings and better customer experiences.

Jason Smith
Chief User Experience Officer
April 30, 2019

Recommended Reading

dotCMS JavaScript SDK: Everything you need to know

It is critical that content authors have a top-notch experience when creating and modifying their pages, so dotCMS has introduced our new JavaScript SDK.

Beware of Content Management System (CMS) Fads

This blog warns against adopting new technologies without sufficient consideration, using examples to illustrate how jumping on trends can lead to wasted resources.

24.04.24 LTS: Upgrade to the Universe

Now available: dotCMS 24.04.24 LTS, the first long-term supported release of 2024