Migrate page tree skeleton from k12 portal to k13 mvc

Aaron Macdonald asked on February 3, 2023 03:57

Hello all

We're looking for the best solution to migrate the page tree skeleton from a k12 portal site to k13 mvc.

To be clear what we mean by skeleton is just the page tree, where pages will have a new type correctly mapped and retain their original name and a few basic content tab fields, and no widgets.

There are a large number of pages in this site, in the hundreds or thousands, hence the attempt to avoid a complete manual content migration.

We're aware of the following possibilities:

  1. Site export. The chance of this working looks low, and we expect the necessary clean up would make it less desirable than a manual content migration.

  2. Import toolkit. This will work but it looks so cumbersome that we're uncertain it would be a better option than manual content migration. Our understanding from the docs is that we'd need to manually iterate over each parent in the old tree (from root) and target/import its children under the corresponding parent in the new tree, supplying individual SQL queries for target selection.

  3. Trevor Fayas's 'Kentico Xperience 12 Portal to Kentico Xperience 13 Converter'. We're unsure if this tool is suited for our purposes, as it seems to focus heavily on mapping of widgets, which we're not attempting to do.

  4. Roll your own. Presumably we could programmatically parse through the old data tables and re-create the tree. However this would be time consuming and error prone, and there is a tight deadline in this case.

Advice is much appreciated, thanks in advance.

Correct Answer

Brenden Kehren answered on February 3, 2023 14:06

The best way would be to write your code in the version 13 CMS as a scheduled task AFTER you have all your pages type definitions in the new CMS. Query the old CMS using the view view_cms_tree_joimedwhich will get you all the node, document, and type of page it is. Then create a recursive method to insert the documents based on nodeid and nodeparentid into your content tree.

This would not get you any page type fields but it could if you worry more code to handle each page type. It sounds easy but will be a daunting task. I'd only suggest going down this road I'd you have budget and thousands of pages. Speaking from experience, with just a basic structure you could copy and paste even 500 pages faster than you could write, test and execute code to transfer those same 500 pages.

0 votesVote for this answer Unmark Correct answer

Recent Answers

Aaron Macdonald answered on February 7, 2023 02:08

Thanks Brenden. The decision has been made to do a mostly manual content migration, employing the import toolkit in a few areas where there are large numbers of child nodes which could be bulk handled.

1 votesVote for this answer Mark as a Correct answer

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