In software development, we typically employ several environments to offer a separation of features that are currently being developed, tested, approved, and released.
Commonly this involves a 4-tier approach having a development, test, stage, and production environment. The development stage is where all new features are introduced which often involves integrating existing content into that new feature set. One problem with this development cycle is having test content on the dev server that closely resembles content that will actually be used in a production environment. Without an accurate representation of the content, section titles may be too long, images too large or too small, menus too cluttered, and other visual inconsistencies that were not caught in the quality assurance step. For this reason, I recommend some type of periodic synchronization of content. With Xperience by Kentico, there are several approaches that can be used to accomplish this.
Hands down, this is the easiest approach. You select the pages you want to push, click the stage button, and magically your content appears on the target server. The hardest part of using content staging is configuring the servers to talk to each other.
Using the Export wizard, you can export all of the content of a production site into an archive file. This content package can then be uploaded to other environments and imported.
Full database backups are a common way to synchronize environments. Using this method, you can ensure that all the content, well everything, gets its way back down to dev. For example, you can create a data-tier export (bacpac) or create a backup (bak), transfer that to the development server, and restore.
Kentico continuous integration was designed to serialize the data objects from the database into XML files on the file system so you can then add them to a version control system such as git. Typically, this is used between team members to synchronize their databases during development. An advanced use for Kentico CI is syncing content from one environment to another. This can be done by serializing the content on production, copying the files back to development, and running the ContinuousIntegration.exe utility. This process can also be scripted by utilizing the Kentico API.
There are several ways you can use to keep your environments in sync. Each has its strengths and weaknesses, and it all depends on which approach will work best for you. For me, using Kentico CI is something I’ve only recently considered using for environment syncs, and it looks very promising.
We love to make cool things with cool people. Have a project you’d like to collaborate on? Let’s chat!
Stay up to date on what BizStream is doing and keep in the loop on the latest in marketing & technology.