You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@roller.apache.org by Trygve Lie <tr...@hotmail.com> on 2006/03/14 18:06:29 UTC

Multi domain support in Roller

Hi

Have you ever considered multi site, or more correctly, multi domain support 
in Roller?

Let me try to explain what I put in the expression “multi domain support” 
with an example:

Let’s say company FooBar Inc is a multi national company with different 
offices in several countries (US, UK and Japan). FooBar Inc want to set up a 
blog for there employees in all countries so they can share insight 
information and thoughts with the public in an easy way. FooBar Inc is an 
open source minded company :-) FooBar Inc has one centralized server farm 
where they want to set up this blog software for all countries.
The problem FooBar Inc faces is that each country has different domains 
(www.foobar.com, www.foobar.co.uk, and www.foobar.co.jp) and they will also 
have different sets of templates for each country. In each country there 
will be several employees which has there private blog.

To solve this with Roller today, FooBar Inc must make one installation of 
Roller for each country. This will result in one DB instance for each 
country and one installation running for each country.
This is not very efficient, especially for the girls and guys maintaining 
the day to day server for this purpose and it will be even more complex 
since FooBar Inc has the intention to expand to 20 more countries and also 
provide the same internet services for these offices.

The perfect solution for FooBar Inc would be if there was some kind of multi 
domain support. In other words one extra “layer” which made it possible to 
separate country from country so each country can have there own domain and 
there own set of templates (and configuration; like language and what 
features in the blog which are turned on and off) but there are still one 
installation and one DB instance.

NOTE: Country is here an example. It might be that a company wants to have 
one set of intranet blogs, one set of Internet blogs and one set of extranet 
blogs which they want to run on the same installation.

Was that understandable?

The reason I’m asking are because my company are going to use Roller in an 
almost similar situation as this and we are very interested in such kind of 
support in Roller.
We do have a couple of developers which we might dedicate to build parts of 
such and support and contribute back to the Roller project if this is an 
feature the project would like to have.

The first questions we are wondering about are:
- Is the project interested in this?
- If so; what changes must be done to implement such a multi domain support?
- If so; how deep and how complicated will the changes in the structure be?


Kind regards:
Trygve

_________________________________________________________________
MSN Spaces http://spaces.msn.com/?mkt=nb-no Vis hvem du er og hva du vil


Re: Multi domain support in Roller

Posted by David M Johnson <Da...@Sun.COM>.
On Mar 14, 2006, at 12:06 PM, Trygve Lie wrote:
> Let’s say company FooBar Inc is a multi national company with  
> different offices in several countries (US, UK and Japan). FooBar  
> Inc want to set up a blog for there employees in all countries so  
> they can share insight information and thoughts with the public in  
> an easy way. FooBar Inc is an open source minded company :-) FooBar  
> Inc has one centralized server farm where they want to set up this  
> blog software for all countries.
> The problem FooBar Inc faces is that each country has different  
> domains (www.foobar.com, www.foobar.co.uk, and www.foobar.co.jp)  
> and they will also have different sets of templates for each  
> country. In each country there will be several employees which has  
> there private blog.

OK, so different "sites" have different sets of blog templates that  
are allowed.

And we don't yet have support for private blogs, so we'd have to add  
that.


> To solve this with Roller today, FooBar Inc must make one  
> installation of Roller for each country. This will result in one DB  
> instance for each country and one installation running for each  
> country.
> This is not very efficient, especially for the girls and guys  
> maintaining the day to day server for this purpose and it will be  
> even more complex since FooBar Inc has the intention to expand to  
> 20 more countries and also provide the same internet services for  
> these offices.

That does sound inconvenient.


> The perfect solution for FooBar Inc would be if there was some kind  
> of multi domain support. In other words one extra “layer” which  
> made it possible to separate country from country so each country  
> can have there own domain and there own set of templates (and  
> configuration; like language and what features in the blog which  
> are turned on and off) but there are still one installation and one  
> DB instance.
>
> NOTE: Country is here an example. It might be that a company wants  
> to have one set of intranet blogs, one set of Internet blogs and  
> one set of extranet blogs which they want to run on the same  
> installation.
>
> Was that understandable?

Yes. It sounds like a very useful feature for anybody who wants to  
offer Roller hosting services.


> The reason I’m asking are because my company are going to use  
> Roller in an almost similar situation as this and we are very  
> interested in such kind of support in Roller.
> We do have a couple of developers which we might dedicate to build  
> parts of such and support and contribute back to the Roller project  
> if this is an feature the project would like to have.
>
> The first questions we are wondering about are:
> - Is the project interested in this?

It's not yet on the wish list where I work, but it think it's a very  
desirable feature.


> - If so; what changes must be done to implement such a multi domain  
> support?

Not sure. You could add a new column to every table to specify which  
site to which each row belongs. You'd also have to have a way to  
partition the themes directory  and possibly the Velocity Macro files  
themselves since some sites might want to override some of the built  
in macros.


> - If so; how deep and how complicated will the changes in the  
> structure be?

Not sure. I'm guessing that the changes would be fairly deep, but not  
overly complicated.

If you're going to go down this path, it would be best for you to  
either get  these changes into Roller so that you don't have to fork  
away from mainline Roller development.

Here's what I'd recommend:

1 - Analyze the Roller code and figure out how to do this work

2 - Ask questions about Roller architecture here on the list. Step #1  
will be easier if you have some expert advice.

3 - Put together a proposal on the Roller wiki that details your plan  
so the Roller team can review it and help you to do things "the  
Roller way." (Send me a separate email and I'll setup a wiki account  
for you).

4a - If the Roller team seems to like your proposal, then develop the  
feature and submit a patch. Hopefully one of the Roller team members  
will have time and inclination to integrate your changes.

4b - If the Roller team doesn't like your proposal then perhaps there  
are still some ways we can help you out -- by making it easier for to  
customize Roller without actually forking the code.


- Dave