This project is read-only.

From single instances to multitenant.... any input/warnings?

Topics: Core, General, Installing Orchard
Jul 2, 2013 at 11:09 AM
I've got a live instance of Orchard 1.6 running and it's going great. However now I am having a need to stand up a few smaller content sites and the multitenant capabilities make perfect sense for me (specifically because I'm already hosting in Azure and it would save on additional deployments).

Looking at the docs I see you can got from you single instance > multitenant where the single instance becomes the default instance and all new tenants are treated as add-ons. Does anyone have any experience with this and any gochas they care to share?
Jul 2, 2013 at 3:28 PM
Edited Jul 2, 2013 at 3:28 PM
Multi-tenancy is already there. Even with one instance, you have a separate shell lifetime context being created. Adding more tenants means creating more shells inside a single instance.

The only gotcha is to be aware that although tenants are separated internally, they all share the same global data - web.config, global.asax stuff etc. So everything you put there will be used by all tenants. Another thing to keep in mind are modules - you can have each tenant have it's own set of enabled/disabled features of course, but all tenants will see all available features from all available modules. If you install a module on one tenant, all others will see it.
Jul 3, 2013 at 10:53 AM
Maybe my question wasn't clear as the answer didn't seem to address it. The question is more "I have a currently deployed single site on OrchardCMS. I understand that multitenat capability is possible with the included module. Is there anything to watch out for by taking an existing deployment that has a single instance and then switching it to a multitenant configuration... IOW, does it affect the existing site at all?"
Jul 3, 2013 at 12:38 PM
Edited Jul 3, 2013 at 12:39 PM
No, it shouldn't. Everything should be fine unless you are using some global code (web.config, global.asax etc.) that assumes existence of a single instance. Rewrite rules, global component configuration (WebActivator, custom handlers and stuff like this) etc. That kinds of additions will affect all tenants so you need to test it first.