Central master config for multi-tenant multi-forum solution

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.

6 Likes

I was looking at using the app.yml to add a bunch of things like:

- exec: rails r "SiteSetting.notification_email='hello@bricabrac.io'"

And some how scripting that process.

1 Like

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).

2 Likes

we already have a hosted solution http://community.ncqa.org/ and that business group is very happy with it.

Now, other groups within our company are showing an interest in having their own forums.

Is a multi-tenant multi-forum solution, similar to what’s being discussed here, possible for a hosted solution?

If you go http://community.ncqa.org/u , you’ll see a bunch of users.

These users have come in via our Sso login.

While they were in community.ncqa.org they customized their profile picture.

We now get another hosted site from you.

Let’s call this dmc.ncqa.org

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.

Thanks!