What level/Types of scalability we achieve by creating the empty root publication in Tridion blueprinting? Though question may be very basic but each one can give a certainly different view of scalability so i am asking it over here.
Keeping in mind that you cannot add a publication on top of a "root" publication, but you can always add publications between 2 existing ones, this layer is there really just to make sure you have the flexibility to add additional layers between "Root" and "Schemas" if you ever need to.
A common scenario nowadays is to have a separate set of schemas for mobile channels. You can do one of the following 3 options:
- Create your mobile schemas in the same publication as your normal content schemas
- Create a child publication of "Schemas" where you create your mobile schemas
- Create a child publication or "Root" where you create your common schemas, move "Schemas" to be under this one, and create a "Mobile-specific Schemas" publication under this one too.
Even if the example is not perfect (I should add diagrams and such), the 3rd option would not be possible if you had created all your schemas on the top publication.
I guess the best way to describe that publication is "one day you may wish you had it".
If you put content or schemas into the root publication, then all of that is inherited down, whether you need it or want it or not.
I always saw "Empty parent" as a fail safe. If you suddenly needed to manage a new group of sites with a different content model (say from a company acquisition), you could do so nicely by splitting off from the empty publication without impacting anything already existing.
The empty parent or empty root Publication by itself doesn't add any features, but when you make sure that any new Publication you create is a child of that, then you have made sure that all your Publications are part of a single BluePrint, which allows you to move the Publication anywhere inside that BluePrint.
It basically comes down to the features of BluePrinting, you can only create a Publication as a child of another at first creation time, if you don't do it at first save, then you can never add it to a BluePrint anymore. So to allow you to do that, you will need an empty parent (which because it remains "empty" has no influence other than being your BluePrint parent).
To generalize, you can visualize your Blueprint hierarchy as a Tree with Empty Parent being the Root of this Tree. This Empty Root will allow you to stretch another branch which may or may not have any dependency on the Existing tree.
To be specific: Consider below scenario where you already have an existing blueprint hierarchy with multiple websites for a brand/company/service, and later on in the future you come across any of the below scenario:
- A need to create a completely isolated Mobile Site
- There is an acquisition/take over of organization which may have entirely different verticals and you want to put the site for it in the same architecture
- One architecture for a big organization with a diversification of product range and for each product you may need to put up a site
Most basic error that I have seen people misusing the Empty Root is when they become a part of such a big implementation where the Blueprinting, Architecture etc are done and few site have already been rolled out and they are required to implement a new site without affecting the already rolled out site - Instead of understanding the existing system, they on the safer side stretch a new isolated BP hierarchy and go ahead with their implementation - do not do it