Is there a multi-site version of Umbraco similar to Joomla Multi-site?
Hi,
I am looking at implementing a set of similar sites with different topics and multiple contributors. This needs a central back end in order be able to maintain and update and share central features. Is there a similar feature in Umbraco and if yes, can anyone highlight major pro's and con's of the umbraco version?
You can definitely run multiple sites under the same installation and is done quite often for either many individual sites or multi-lingual sites. Both are accomplished through "Manage host names".
If you are running site with shared document types and templates it runs pretty smoothly. You can always use unique style sheets (per host name) and keep the document types shared while still allowing a different 'look feel' or theme based on the site.
If there is a big difference between the site (in type of content), you will find yourself building a separate document type structure for each site, or alot of custom macros to display that content.
The benefits are that you can share resources between the sites and you have centralized your administration. Usually a good thing.
IMO:)
Here is a wiki article on running multiple sites that might help:
Unfortunately, the user and membership security model of Umbraco doesn't lend itself to work like Joomla Multisite. Oh, how I wish that were not the case. Right now, Umbraco is really targeted toward creating a single website that might have sub-sites with a different language, similar content, and share the same users and members. It doesn't scale well for Enterprise companies that have subsidiaries.
Joomla multisite allows you to choose to share resources or totally separate them and still only have one instance of the cms installed. Without totally rewriting the user and membership providers of Umbraco to allow inheritance and fine grained security you won't be able to do what your looking to do.
Either we wait for an extension to be written, use a different CMS like Joomla that can do this, or write the extension ourselves. I for one, wouldn't mind helping in the creation of a project but would need some help from the more experienced extension writers to make it happen. For me, there are many positive reasons for Umbraco to implement this idea...all echoed from Joomla Multisite's manual.
Rick, I disagree about this. Let me first say that I know nothing at all about the Joomla solution. That being said, the members in an umbraco site can be assigned to a membergroup, that way you can easily seperate them per site (or have them be a member of multiple sites if necessary).
Umbraco users can also have seperate access to the content and media sections without any problems.
Do a little research on the Joomla solution and you will see the differences I mentioned. Can you create multiple sites with Umbraco. Yes. Can you have a separate User (not members) Group for each subsite you have in Umbraco? No. Can a User type inherit properties and permission from a parent User? No. Can there be a separate repository for both users and members per subsite? No.
The question was "is there an Umbraco multisite version similar to Joomla Multistie." Unfortunately, right now there is not. Check out this thread Morten and I talked about a multisite implementation that Joomla Multisite would easily be able to do.
I'm not saying it can't be done with the current Umbraco it would just need a very creative solution to work around the current out-of-the-box user security model.
It all depends on the end result you are looking for. If you don't mind being the manger for all the users associated with the multiple sites on your installation and don't mind writing your code to only add members to appropriate member groups, Umbraco will work great.
However, if you want a User to be an admin of subsite and be able to create Users with equal or lesser permissions to their subsite you will need to look elsewhere, create an extension, or write a custom UsersMembershipProvider. All very viable solutions to producing something similar to Joomla Multisite.
I wouldn't consider having multiple customers on the same umbraco instance, there's be too much work locking it down - though that said, if you *only* exposed the content tree, it might be passable. Still risky I think.
Something I've done in the past is to write a proxy tree class for the default umbraco content tree, which used custom code to determine the root nodes available to the current user - i.e. "my sites" - and then delegate to the umbraco loadContent tree for each site root node and carry on as normal. This works *great* on the face of it, but it's not especially secure on its own.
As has been said, it depends what you're looking for. If you want ease of use across different departments or organisational units say, or you have multiple people in the same organisation setting up sites, totally, go for it, you can get some fantastic results in this area with very little work. However if you want it to be rock solid secure and have layers of access to *everything* you're better off rolling up a second instance of umbraco and just dealing with that as you see fit.
Has anyone actually tried this? I would be keen to have a multi site solution going for an idea I have but would like to know if it works well before spending any time on it.
I could see me having th eneed to run 100+ sites off one instance, is this doable and what would the drawbacks be?
I have done a lot of work in this area. It works just fine from a publishing perspective, but it will depend on your requirements whether the limited management umbraco offers in this regard will be suitable for you.
I worked on a heavily customised umbraco 3 instance recently where, among other things, we hid the content tree from normal users and gave them the opportunity to manage their own sites from a subset of the content tree. There were hundreds of sites set up. As far as resources go, this is not significantly different to having hundreds of pages, since unlike say setting up hundreds of sites in IIS, you're not ringfencing memory or an appdomain around each site.
This also means that issues affecting one "site" - say an error accessing the database, or a server issue will almost certainly affect all the others. It looks like lots of sites to a visitor, but to all intents and purposes it's all just one website. The important thing to remember is that umbraco doesn't actually have any notion of multi sites.You assign a domain name to a document, and that becomes the home page for that site. Out of the box, it's nothing more than a different way of locating the document to display to the visitor. That is, from umbraco's perspective,
That isn't *exactly* how it's resolved, but it's close enough. And that has implications.
You have to consider what your needs are as regards boundaries between sites, members and resources, and administration. The entire content tree is still available to any of those sites in macros and so forth. members and signups, if you use umbraco's member system won't respect the individual sites, and if you want administration to be multi-tenanted by those sites or sections, you'll need to do that yourself. Cookies could be interesting on account of domain names differing too.
Templates and stylesheets will be common across all your sites unless you either set up templates hierarchies manually for each site, or you do some custom work with macros in base templates to honour the domain name somehow. We used a macro for assigning stylesheets to each site. We had our own custom code that represented the subsite context, and used that to determine what stylesheet to show (among other things). The point is, umbraco won't do this for you.
Also note that publically available packages. whether free or commercial, will act on the whole deployment, not specifically of any of your sites (unless coded to do so, though I suspect that's rare). This means, say if you installed a search package, it would likely search across *all* sites, not just the domain name you set up.
There may be some mileage in building a solid set of per-site management extensions across the admin app, but it couldn't be 100% on the current codebase. Close,sure. Effective? pretty much. Cheap and easy, definitely, but it's ultimately not much more than a facade as far as umbraco is concerned, and you have to consider the problems that might present your solution.
Is there a multi-site version of Umbraco similar to Joomla Multi-site?
Hi,
I am looking at implementing a set of similar sites with different topics and multiple contributors. This needs a central back end in order be able to maintain and update and share central features. Is there a similar feature in Umbraco and if yes, can anyone highlight major pro's and con's of the umbraco version?
thanks for the help
stefan
www.infovoorgolf.nl (old site to be renewed)
Stefan,
You can definitely run multiple sites under the same installation and is done quite often for either many individual sites or multi-lingual sites. Both are accomplished through "Manage host names".
If you are running site with shared document types and templates it runs pretty smoothly. You can always use unique style sheets (per host name) and keep the document types shared while still allowing a different 'look feel' or theme based on the site.
If there is a big difference between the site (in type of content), you will find yourself building a separate document type structure for each site, or alot of custom macros to display that content.
The benefits are that you can share resources between the sites and you have centralized your administration. Usually a good thing.
IMO:)
Here is a wiki article on running multiple sites that might help:
http://umbraco.org/documentation/books/running-multiple-websites-on-one-umbraco-installation-(1)/setting-up-umbraco
Hope that helps,
-Chris
Unfortunately, the user and membership security model of Umbraco doesn't lend itself to work like Joomla Multisite. Oh, how I wish that were not the case. Right now, Umbraco is really targeted toward creating a single website that might have sub-sites with a different language, similar content, and share the same users and members. It doesn't scale well for Enterprise companies that have subsidiaries.
Joomla multisite allows you to choose to share resources or totally separate them and still only have one instance of the cms installed. Without totally rewriting the user and membership providers of Umbraco to allow inheritance and fine grained security you won't be able to do what your looking to do.
Either we wait for an extension to be written, use a different CMS like Joomla that can do this, or write the extension ourselves. I for one, wouldn't mind helping in the creation of a project but would need some help from the more experienced extension writers to make it happen. For me, there are many positive reasons for Umbraco to implement this idea...all echoed from Joomla Multisite's manual.
-Rick
Rick, I disagree about this. Let me first say that I know nothing at all about the Joomla solution. That being said, the members in an umbraco site can be assigned to a membergroup, that way you can easily seperate them per site (or have them be a member of multiple sites if necessary).
Umbraco users can also have seperate access to the content and media sections without any problems.
Sebastiaan,
Do a little research on the Joomla solution and you will see the differences I mentioned. Can you create multiple sites with Umbraco. Yes. Can you have a separate User (not members) Group for each subsite you have in Umbraco? No. Can a User type inherit properties and permission from a parent User? No. Can there be a separate repository for both users and members per subsite? No.
The question was "is there an Umbraco multisite version similar to Joomla Multistie." Unfortunately, right now there is not. Check out this thread Morten and I talked about a multisite implementation that Joomla Multisite would easily be able to do.
I'm not saying it can't be done with the current Umbraco it would just need a very creative solution to work around the current out-of-the-box user security model.
Stefan,
It all depends on the end result you are looking for. If you don't mind being the manger for all the users associated with the multiple sites on your installation and don't mind writing your code to only add members to appropriate member groups, Umbraco will work great.
However, if you want a User to be an admin of subsite and be able to create Users with equal or lesser permissions to their subsite you will need to look elsewhere, create an extension, or write a custom UsersMembershipProvider. All very viable solutions to producing something similar to Joomla Multisite.
I wouldn't consider having multiple customers on the same umbraco instance, there's be too much work locking it down - though that said, if you *only* exposed the content tree, it might be passable. Still risky I think.
Something I've done in the past is to write a proxy tree class for the default umbraco content tree, which used custom code to determine the root nodes available to the current user - i.e. "my sites" - and then delegate to the umbraco loadContent tree for each site root node and carry on as normal. This works *great* on the face of it, but it's not especially secure on its own.
As has been said, it depends what you're looking for. If you want ease of use across different departments or organisational units say, or you have multiple people in the same organisation setting up sites, totally, go for it, you can get some fantastic results in this area with very little work. However if you want it to be rock solid secure and have layers of access to *everything* you're better off rolling up a second instance of umbraco and just dealing with that as you see fit.
Has anyone actually tried this? I would be keen to have a multi site solution going for an idea I have but would like to know if it works well before spending any time on it.
I could see me having th eneed to run 100+ sites off one instance, is this doable and what would the drawbacks be?
I had a look at doing this too, first hurdle is that you lose the recycle bin if you have the user start at the 'Home' node of their website.
So it seems recycle bin is site wide, I gave up at this point.
Rich
I have done a lot of work in this area. It works just fine from a publishing perspective, but it will depend on your requirements whether the limited management umbraco offers in this regard will be suitable for you.
I worked on a heavily customised umbraco 3 instance recently where, among other things, we hid the content tree from normal users and gave them the opportunity to manage their own sites from a subset of the content tree. There were hundreds of sites set up. As far as resources go, this is not significantly different to having hundreds of pages, since unlike say setting up hundreds of sites in IIS, you're not ringfencing memory or an appdomain around each site.
This also means that issues affecting one "site" - say an error accessing the database, or a server issue will almost certainly affect all the others. It looks like lots of sites to a visitor, but to all intents and purposes it's all just one website. The important thing to remember is that umbraco doesn't actually have any notion of multi sites.You assign a domain name to a document, and that becomes the home page for that site. Out of the box, it's nothing more than a different way of locating the document to display to the visitor. That is, from umbraco's perspective,
is no different to
That isn't *exactly* how it's resolved, but it's close enough. And that has implications.
You have to consider what your needs are as regards boundaries between sites, members and resources, and administration. The entire content tree is still available to any of those sites in macros and so forth. members and signups, if you use umbraco's member system won't respect the individual sites, and if you want administration to be multi-tenanted by those sites or sections, you'll need to do that yourself. Cookies could be interesting on account of domain names differing too.
Templates and stylesheets will be common across all your sites unless you either set up templates hierarchies manually for each site, or you do some custom work with macros in base templates to honour the domain name somehow. We used a macro for assigning stylesheets to each site. We had our own custom code that represented the subsite context, and used that to determine what stylesheet to show (among other things). The point is, umbraco won't do this for you.
Also note that publically available packages. whether free or commercial, will act on the whole deployment, not specifically of any of your sites (unless coded to do so, though I suspect that's rare). This means, say if you installed a search package, it would likely search across *all* sites, not just the domain name you set up.
There may be some mileage in building a solid set of per-site management extensions across the admin app, but it couldn't be 100% on the current codebase. Close,sure. Effective? pretty much. Cheap and easy, definitely, but it's ultimately not much more than a facade as far as umbraco is concerned, and you have to consider the problems that might present your solution.
Hope that helps.
is working on a reply...