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
source to share
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:
- How to publish multiple projects to a solution
- Web post on How to Automate Publishing Multiple File System Projects
You may need to rearrange the file structure into separate project folders if you have conflicts (make sure you update Sitecore Layout / Sublayout / Renderers).
source to share
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
source to share
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.
source to share
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.
source to share