July 18th, 2014
Source control and automated deployment are relatively easy to set up to manage rollouts of Kentico’s files, but updating the database with changes can be difficult. Kentico’s content staging module lets you push changes to the database easily.
Lately I have found myself using the content staging module with more involved rollouts. During a few of these rollouts, I have come across the following error message: `Synchronization Error: Parent node not found`, and here is what I have come up with to help prevent the error from showing, and how to fix it when it appears.
Make sure you write down what you need to stage. It might seem obvious, but it’s easy to forget what needs to be staged, and in what order things should be staged.
Don’t depend on Kentico to figure out the proper order for everything. Sometimes you have to make sure you’re pushing changes in the right order. In general I find this order works best:
Document Types/Custom Tables
That order is not a master list which applies in all scenarios, but a good place to begin if you are just getting started with content staging.
For a recent set of data I was staging, a field for the document type was shortened from 500 characters to 90 characters. When trying to stage the document type I recieved an error that the doc type could not be staged as it would truncate data. In this case I needed to stage those pages first, since that would shorten the data to the required length. Once this was done I could could stage the document type.
In a last case scenario, try deleting the target server from the source and re-adding it. This is a last ditch effort if the error persists. Note that this will delete all the staging tasks on the server. Make sure you have written down everything that has been updated and will need to be staged. You can go and save the objects (no changes necessary), and the tasks will be re-created and can be staged.