Content Staging feature is pure frustration

Yang Wen asked on January 29, 2016 21:15

A page created in DEV. Now we want to synch to Prod via Staging feature. Keeps getting

Synchronization server error: Exception occurred: SyncManager.ServerError: Parent node does not exist, please synchronize parent node first.

THis is not our first time using this feature and it has always been a crap shoot of whether it will sync a given page. From what I can tell, there are no more detailed log to pinpoint the failure.

Then I create a test page at the same site level and that page synced just fine. So the error has nothing to do with ancestral pages having mismatched GUID. I've also tried to delete all the failed tasks in queue and re-sync.

Arghh.. Anyone feel the same frustration? If I'm in the presence of my Kentico server I would probably give it a swift kick right now.

Recent Answers

Rui Wang answered on January 29, 2016 21:20

Hi Yang Wen

When you run into error like that. Try delete the task for that page. Then go to Staging App > Pages. Select the parent tree node for that page. Then on the right side panel, click on Sync Current Page button first to ensure the parent node is synced. Then press the Sync current subtree to sync all child node over including the page that cause the error. See if this process helps.

0 votesVote for this answer Mark as a Correct answer

Yang Wen answered on January 29, 2016 21:26

Yep deleted the tasks, tried to sync the parent page, the entire subtree... probably explored every combination.. No avail. If you step back for a sec, one of the popular solution is to sync the parent. This is not a reasonable solution, since you may have changes in parent page that is not ready to be promoted.

What annoys me is Kentico's documentation on this is poor. The explanation of how the synch works is at a very high level, giving it a very black-box-ish feel. A very fagile blackbox feature...

As a result, every explanation I've found online is simply in terms of click this, click that, no actual meaningful breakdown of the sequence of events, and potential failure points...

0 votesVote for this answer Mark as a Correct answer

Rui Wang answered on January 29, 2016 21:58 (last edited on January 29, 2016 21:58)

0 votesVote for this answer Mark as a Correct answer

Zachary Perry answered on January 29, 2016 22:00

I have some sync issues before and exporting and then importing usually fixed the issue. Probably not reasonable approach with a page, since I think you would have to export the site, and then manually modify the export package, if it's even possible with pages.

Have you tried reaching out to support?

0 votesVote for this answer Mark as a Correct answer

Yang Wen answered on January 29, 2016 22:12 (last edited on January 29, 2016 22:14)

Kentico's Support Page proposed solution: Synchronize all ancestor pages of the required page first. If your servers have inconsistent page GUIDs, you may need to delete the ancestor pages on the target server and synchronize the entire section from the source. You can use the Synchronize current subtree action on the Pages tab of the Staging application (see Synchronizing the content). If possible, always avoid manual creating of pages on the target server for sections where you plan to deploy pages via staging. The correct approach is to transfer all pages via the staging service.

Seriously? As if the ancestor page can always be synced.. Delete ancestor page in Prod? For a simple content work? Yikes. This is a poor solution for a potential fragile implementation of a critical feature of the CMS. I also don't like how the official solution is simply prescriptive rather than educational. It lacks any insight that could allow users to truly understand how it works.

I've reached out to Support with this question as well.. Let's see if they can provide a comprehensive explanation of how this feature works and how to most effectively leverage it.

0 votesVote for this answer Mark as a Correct answer

Rui Wang answered on January 29, 2016 22:24

One more thing to try. Does the problem page exist in PROD or is it new?

If it existing in PROD, does it have the same GUID as the one in STAGE?

If it doesn't exist, can you recreate the page and sync that since you did have problem with creating new page in the section. Was this page created somewhere else and moved or copied over? If you have access to the database, you can check the CMS_Tree table to see if the NodeParentID for this page is correct.

0 votesVote for this answer Mark as a Correct answer

Martin Hejtmanek answered on February 1, 2016 08:59

It seems you did something non-standard on production, such as swapping two nodes, or move / delete pages around, or perhaps made several of such complex actions, and then not synchronized the tasks in the same order.

Staging expects that if you are using it, you pretty much have one source server and one or more target servers, that is also best practice to follow. You should author and modify content only on one server, and push it to others in a transactional way (by syncing a bulk of tasks that were logged during a specific session).

The only way to re-sync if your metadata is out of sync (unless you want to compare pages one-by-one and detect which particular metadata is out of sync) is really to delete content on production and resync the whole subtree from staging.

If your pages on production have some additional data attached, such as web analytics, message boards, forums etc., you may want to check how NodeAliasPath and NodeGUID columns match between servers. Also check if you are staging the changes to a correct domain (site with the same origin)

0 votesVote for this answer Mark as a Correct answer

Yang Wen answered on February 1, 2016 18:20

THanks for the replies.

Just to confirm, the only pages that may come into play for the Staging failures are the ancestor pages to the page I'm trying to synch to Prod?

0 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.