Happy New year to one and all! It is always an awesome feeling to welcome the new year and leave behind what was done in previous year in memories. The beauty of memories, they can be good, bad or worse and everything in between, but, regardless, we are set to move forward to make new memories this year, new learning and potentially reach new heights. 🙂
I was waiting to find perfect topic for my first blog this new year. I think I just found one, so, I was working for one of our clients who wanted to see, how many options do they have to share content across multiple sites on a Multi site single sitecore instance. They currently use wildcard mechanism with multiple sites configured to have different root paths, but, the content resides in one area regardless of which site the piece of content belongs to.
Why would they want to see other options is that they strongly believed that content structure they use the problem for performance issues, which, well could be legit as a risk that comes with meddling any pipeline while not being cautious.
Below are the three options I could find from brainstorming, research and asking other folks to top off the wild card approach they already have in play. Do you all have any other options that you have used in the past, if yes, would love to hear more. Drop in a comment!
- Hybrid tree approach : This is basically going with shared root path approach if the page tree is consistent and is exactly similar. If the page content is going to be different, then, for that specific site configuration you will need to define a different root path and main content in a separate tree altogether.
- Clones: I have seen many old implementations that would go this route in shared content situations, but, struggled a lot with intuitive changes and workflow, publish issues faced by content authors.
- MVC Routing : If your application is using MVC, then, this could be one decent solve instead of wild card and ten other pipelines being affected to support wild card. Note though, when using some of this as an experiment the routing code was literally running for every module when a breakpoint was placed. Pay close attention to where this logic is being run and how performance efficient this is.