I’m looking at a little project where I need lots of tiny communities that are almost identical except for the users and content; that is, configuration, theme, SSO provider, etc.
What’s the best way to lock down config/settings across lots of forums on exactly the same server where the config will vary only slightly between forums? Also I’d like to be able to programatically create new forums, utilising the central config with slight variations between forums.
Is it possible to create a plugin who’s sole responsibility is managing a central set of configuration items? For example, use the plugin designated config unless the forum has a local setting.
What about a central “master” forum that’s not used except for configuration, that other forums inherit from?
Our (CDCK) multi-tenant hosting containers use an (internal-only) plugin to do what you describe – hard-code (or derive) default values for some settings, make settings invisible (and hence unavailable to be changed), that sort of thing. Programmatically creating new forums is simply a matter of creating (and migrating) a new DB and adding the config to the multisite config.
I wouldn’t call the whole setup “trivial”, but it’s certainly not the most complicated thing I’ve ever seen, either.
Hmm… certainly doesn’t seem trivial the more i look at it. I’m back to seeing if this is possible by restricting users to category and sub-category trees and controlling that set up instead.
I wouldn’t try and do any of that in app.yml; that only gets run at container rebuild time, and there’s no need to trigger a rebuild in order to add another site to a multisite config. I’d strongly recommend going down the custom plugin route to apply config settings, unless your single-forum-with-category-restrictions approach is working for you (which is even easier).
Now when one of the user’s who customized their profile picture in http://community.ncqa.org/u comes and visits dmc.ncqa.org then that user should transparently see their customized profile picture within dmc.ncqa.org.
So, essentially, what I wanted to know if this level of multi tenancy was possible on a hosted solution from discourse.org.