tags:

views:

84

answers:

1

Which solution is easier to maintain: The Multi-Tenant Plugin (http://www.grails.org/plugin/multi-tenant), or creating a different environment (http://grails.org/doc/latest/guide/3.%20Configuration.html#3.2%20Environments) for each instance of an application which is essentially the same (with minor changes) for each company?

+1  A: 

The answer depends on how your application runs, and how you plan to deploy it. If you can deploy multiple WAR files, one for each client, then using environments is a possible option. However, I would strongly urge you to "white label" your application manually, or use the multi-tenant plugin, as environments will get unwieldy quickly and does not support adding custom views/logic per customer, which invariably becomes a requirement.

Rich Kroll
The solution is for the same company but different business units. I can also see how I could create custom view/logic per an environment rather than using the tenant plugin easier. Maybe thats my answer.
Scott Warren
We are currently writing a whitelabel application, and found that for the custom view portion - sitemesh works perfectly. We simply created a custom DecoratorMapper that subclassed GrailsLayoutDecoratorMapper. Custom logic is a bit tricky and is a whole topic itself!
Rich Kroll