How can we combine two sitecore sites (separate instances) into one sitecore instance

I need to develop a solution where I can merge two sites sitting in two separate sitecore instances into one instance. I would really appreciate it if someone could point me to the tools, if any, to achieve the same or that all things should be considered before writing a custom application to perform the migration.

thank

+3


source to share


4 answers


In addition to everything already mentioned:

Sitecore elements

As mentioned, you can use RAZL to merge content (recommended), or you can just create Sitecore Packages, or even serialize the items, move then deserialize.

If these are two completely separate Sitecore instances at the moment, with no dependencies, I suggest you organize your current solution in a separate folder in the Sitecore content tree. I would do this for:

  • Content
  • Layouts (all layouts, renders, footers even placeholders)
  • media
  • Templates

If you use dictionaries on both sites, move them to separate dictionary domains if you haven't already.

Structure your main content to make it compatible with multiple types . It might be better to do this before migration, but you can also break any existing queries in your code depending on how they are structured.

Beware of the element Home

. It is quite common to move / reuse a home element that is installed with the default Sitecore installation. Make sure to have different symbols for both instances. RAZL is very useful for showing you these "duplicates"

Hopefully your Sitecore items will be serialized (using TDS or Unicorn), which will help guide you in any settings you made to the default items and any potential areas of conflict.



Pipelines

You may need a Site Link Provider for your multi-user implementation if you need different pipelines for each project.

Link Provider

Here's an additional implementation of the site link provider if you have different requirements.

Several projects

If you have 2 separate projects for your codebase, merging them can be quite time consuming. You may want to keep them separate and publish multiple projects from one solution instead:

You may need to rearrange the file structure into separate project folders if you have conflicts (make sure you update Sitecore Layout / Sublayout / Renderers).

+5


source


I don't know of any tools for this, but there are certain things you need to do in each case to make them coexist without problems:

Patch files

First, make sure that any configuration changes that deviate from the default settings are corrected in the site-specific file

http://sitecore-community.github.io/docs/documentation/Sitecore%20Fundamentals/Patch%20Files/ -

This way you can track the settings for each site.

Providers

You can find different vendor settings on each site, you can get around this with switching vendors

http://sitecoreskills.blogspot.co.uk/2014/02/a-switching-link-provider.html

http://makandracards.com/hhogdev/30779-sitecore-switching-provider



Web root structure

You have to tolerate that your files in the root of the website have site-specific folders to avoid conflicts, for example.

/ site1 / css, / site1 / layouts

Pipeline Processors

If you have any custom pipelined processors for each site, then you need to make them site specific and make sure they only run for the site in question.

Sitecore elements

You should make sure your Sitecore items have site-specific folders similar to the way you structure your website, like templates / site1 / page template, templates / site2 / page template

Global asak

You have to make sure that whatever you declared on startup in the global.asax file will not cause problems like any custom routes

+2


source


In addition to @golden grahams' list, consider the following as well:

  • Security: Ensure that the roles defined on each system do not collide, and that the custom security changes you made to the common elements of the sitecore tree do not conflict.
  • Templates: You can have generic templates that are the same but have different GUIDs. Or you may have items that originally matched the GUID but evolved separately. In all cases, you need to make sure that conflicts / common elements are combined or made as separate elements.
  • Modules . If you use any modules on both sites, you will need to find any settings on your site and try to resolve conflicts between them.
  • Analytics: Don't try to combine DMS data (or xDB data). In most cases, it isn't worth the effort.
+2


source


In terms of tools, I suggest you take a look at Razl from Hedgehog Development I have used it with success in the past for related tasks,

Also, you will want to grab a good file comparison tool like WinMerge or KDiff to merge your config entries.

0


source







All Articles