How (not) to tackle content synchronization – and why it matters
Content governance
Roy Teeuwen
Solution Architect
Content synchronization: ongoing optimization of Customer Experience is a must, and it’s a never-ending task – one that requires constant testing. But how do you ensure that your clients and partners are not becoming the guinea pigs of your organization’s developers, while at the same time keeping the delivery time of new features as swift as possible?
Best practice
A best practice solution is to separate different environments from each other. Typically three: One for the development team, one testing area, often called “acceptance”, and finally the actual production area.
By using these environments, you don’t risk impacting the website visitors, namely your customers. Each environment has its own URL, and you can regulate and limit the access. Thus, the development area is the safe space for developers, functional analysts and UI/UX people. Here, they create new functionalities to be added to the company’s website.
Once the functionality is as idealized, it´s time to put everything to the test – in the acceptance environment. A group of colleagues will be responsible for the quality assurance, testing whether a new functionality really meets the users’ expectations. Only if the answer is a clear yes, the new feature gets a green light for the production environment. This is where finally the end users get the enhanced experience, brought to them by the new functionality.
But the creation of the features makes only one part of the story. The other is the content: all up-to-date content must be available in every environment, to make sure that everything works as designed. This is where content synchronization comes into play.
Content synchronization is the process of copying content between multiple environments. You normally write an article in the production environment, but you’ll also like to test it with the new functionality – either in the development or in the acceptance environment. Thus, it must be synchronized. After all: how can you be sure that everything works, unless you have the correct data at hand. Let’s have a closer look at how it works – and what the most common flows are.
So, what’s this content synchronization exactly – and why does it matter?!
Content synchronization is the task of taking all applicable content from a specific environment, to copy it to another environment, and to make sure that everything will work as expected. There are different content flows possible.
1. Production to lower environment
The first possible flow is for the content to go from production downwards. Multiple goals can be achieved by doing so:
- Quality assurance tests can be performed on real content instead of artificial test content
- No extra work required to set up test content
- Up-to-date content is available where necessary
- Production issues become obvious faster, as anybody in the development and in the acceptance flow will have the possibility to notice them.
2. Acceptance to production
An alternative direction for the content flow is from an acceptance to a production environment. This also serves multiple goals:
- Production-ready content can be set up before going live
- It can be tested with new components, developed in the current iteration
- Faster time to market of the production release.
5 major pitfalls related to content synchronization
While the correct procedures are pretty straight forward, problems do occur if the content sync is not being set up correctly. Here’s a (non-exhaustive) list of what you need to avoid:
1. No ownership defined for content creation
As content can be created in different environments, it’s sometimes unclear who the owner or maintainer of the created content is. To avoid such situations, clarify beforehand: Where should you create the content? Who will make sure that it gets synced to the other environments?
2. Content abandoned in a sync process
Not only in times of multitasking, this scenario becomes real: Content, forgotten after the process of copying. This can have a business-critical impact if the content is necessary for a complete user journey. Most of the times, the cause is the lack of a clear conspectus which content is in scope to be copied. A miscommunication can also be a result of the involvement of parties who don’t have the necessary overview of what their exact tasks are.
3. No backup of the previous content available
Whenever copying content that will replace existing one, make sure that there’s a backup. Lost content will have to be recreated from scratch.
4. Content not immediately synced, handled as a batch job
This can lead to misinterpretation and confusion among the different users of the system; it should be immediately clear when the content will be available for a sync job.
5. Configuration not kept up to date
Environment specific configuration can also have an influence on the copied content. Clear procedures should be in place, to specify when and how the configuration is kept up to date!
How to tackle content synchronization
It’s not always easy to set up all necessary requirements for the business goals. A good start is to get together all parties involved in the different environments: from developers to functional analysists, to quality assurance teams and copywriters. Everyone has another motivation to want content synchronization.
The easiest way to get going is to divide the content in two separate groups: one of content being newly created, the other one with existing content to be updated.
Newly created content
This group of content is easier to handle, as there´s no risk of breaking something existing, with any potential business impact associated. The only hurdle here is to define when to transfer from one environment to the other, ensuring that the proper migrations are in place – for the content to work smoothly with the new code running in the respective environment.
To synchronize from production to the subsequent environments, the copywriter needs to make sure to integrate the necessary considerations early in the process. In Adobe Experience Manager, this can mean a step as simple as setting up a replication/ distribution agent. It will publish the newly created content in the consecutive environment, and a system can be put in place to migrate the content to the new code.
To synchronize from acceptance to production, on the other hand, a release coordinator should make sure that an aggregation of all newly created, production ready content is available, as a list. This can be done by tagging the content in the acceptance environment, to create a content package which will be installed with the new code.
Existing content
For existing content, clear guidelines and procedures need to be defined between the copywriter and the other parties involved: When can existing content be synced? Should this only happen after a release? Should the content first be reviewed, before doing the import? It all comes down to clear communication! There’s no golden solution set in stone, to synchronize existing content hassle free for all parties involved.
In a nutshell
Now you’ve seen it for yourself. There are a lot of requirements to take into account, to make sure the chosen solution doesn’t jeopardize any aspect, of any department involved. A lot of parties come into play when spanning a process over multiple environments – from developers and functional analysts, via quality assurance to copywriters. Keeping them all happy is a fine line to walk. It needs to be thoroughly documented when and at what stage which content can be synced. Defining the ownership of the content well is one of the most important steps to be done.
This overview can serve as a good guideline how to ensure the best Customer Experience safely, without content, features or customer engagement being jeopardized. Ensure the best overall quality, effectivity and coherence of all content related processes. Don’t hesitate to ask for professional help! We here at AmeXio pride ourselves in paving the way to success for many international leaders across industries. Always with expert knowledge and the best technology at hand.