Project requirements
The site needs to house a number of different sites. Each site can be based off the same theme but want certain control over theme options per site, such as link, text and background colours.
Alternative solutions
There are a wide range of options availible such as using the Domain access module (http://drupal.org/project/domain) or the Subdomain module (http://drupal.org/project/subdomain) however these are suited to sites wanting different domains or sub domains. What we want is something like the following sites all with their own content and different visual style
- example.com
- example.com/news
- example.com/sport
1. Installing the modules
First thing first here so lets download all the required modules.
2. Getting our delta on
Now you have all the above install you will need to create a new delta. A delta is basically a snapshot of you theme that can then be used later on.
Head to admin/appearance/delta and get yourself familiar. We want to click "Add" and give your delta a title and description.
Now the next bit is where it gettings a little bit more interesting. You now have to choose the theme you want to use, yes thats right you could have different organic groups using completely different themes as well as them all using the same theme with different settings. But for this example we just want to use Bartik for everything so select that.
Again another potentially interesting option is setting a parent template (delta). As if this wasn't powerful enough, you can stack them! But again lets leave this as none.
So the final option we also want to leave as "Only override different values"
Then hit the magical save button.
3. Configuration is a go
Now you have a delta you need to configure it. So lets do that. Click configure and you can see what you can do with Bartik.
I won't include a screenshot here but as you can see on your site you have complete control over Bartiks theme options including colours. So edit away and come back here when you ready to put it into action
4. Tying up loose ends
So lets put that delta into use. Create an organic group node on the site then head over to context admin page http://portalmk2.local:8080/#overlay=admin/structure/context
Here we want to add a new context, so give it a Name, tag (I use delta so I can group my delta contexts together), description then add the "OG -grou node context" as a condition and select the Organic Group you want this context to be active on. Then in the reactions you want to choose "Delta" and select which delta you want to run on this context.
5. Review, repeat, refine
Now its a case of viewing that organic group and seeing your delta take effect. This is where you will want to really think about when it comes to your theme you are going to build and what sort of settings do you want to capture in the theme, as they are all configurable per delta now. Could it be that each site wants a different logo, site title, strapline/slogan etc.
You might also find that after experimenting with this that you might not want to use Organic groups, which is fine as you can trigger deltas on any context so it could be URL, menu, node type or just about anything.
Conclusion
I think the key here is that when doing this you need to find the right balance between using different delta and different themes together. For example on my new site that I am working on I want each section of the site to have a different style, in most cases its just colour so I can change colour per delta using my base theme. However there is 1 section and maybe more in the future that warrent a new theme, again I can change theme using contexts and delta. It's just something to think about plan for.