It depends. If you have several sites for the same client (subsites, campaignsites etc.), I'd go for one installation. If the sites are developed for different clients, I'd for sure install a new Umbraco for every site.
Think of it this way - when the sites are done, should all the sites then run from the same installation or not.
Definitely different installs for different clients. If you don't do that, then deployments, upgrades, and general development practices will be disrupted. For example, if you're upgrading one client to a new version but for some reason another client should not be upgraded, then there is no way to test in dev.
To make things easier, I've created (as have many others) a Visual Studio project template for use with Umbraco to make it easier to start a new project. You still need to get each Umbraco site installed, but that takes minutes once you have the process down (unzip version in directory, setup site in IIS, create a DB, run the standard Umbraco install).
I'd agree with what the others have said, I usually have one installation per site. I think the only times I've run multiple sites off one installation has been for multilingual sites, and for one client who has 5 microsites that use the same templates for all 5 sites, but different content and stylesheets.
If there is no good reason why they should run in one Umbraco installation (e.g. sharing templates/data, micro sites, etc as said above) I would definitely go for a separate installation for each web site. Also you don't want to share application domains for web sites that don't have anything to do with each other (security). If you ever have the need to have a dedicated server for one application or you need to scale out it will be much more difficult to achieve with only one installation.
Guys, once again you've made my life easier!!! Thank you all for your replies. Just one more question.It's not related to this topic.... how do you detect if the user has JS disabled so you can redirect him to no JS site and inform him he needs JS enabled to see the fully functional site?
As far as I know you can't detect if a user has JS enabled or not (in a certain sense you would need JS in the first place to detect that, if that makes sense).
What I tend to do is the following: develop the site in the non-JS version, then put all the nice and flashy JS stuff on top of it. That means if a user comes to the site and has no JS he'll see your original version (which is still okay and fully usable), if he has JS all the magic is put in place primarily in the document.ready function.
you could use the <noscript> element where you can place alternative content if the user has not got JS activated. However I don't recommend this approach allthough it can sometimes make sense dependant on the situation. You can read a bit more about it here: http://www.w3schools.com/tags/tag_noscript.asp. As Sascha is mentioning you can focus on developing a version of your site without, which works before you add the JavaScript layer.
If you want your site fully indexed by search engines it's a good idea not to rely on JavaScript, especially for navigation.
Like Sachsa says, "progressive enhancement" is the best way to go (http://en.wikipedia.org/wiki/Progressive_enhancement). If this isn't a feasable way I would use a <noscript> tag on each page to inform the users that they need JavaScript to fully use the site. Another alternative to noscript is to add a css class to the body with JavaScript such as:
Then you could hide/show different elements depending on if the user has JavaScript enabled, body.js for those with JavaScript... I would strongly recommend progressive enhancement though.
I would definitely go for one installation in your case as it is using the same look and feel and it is for the same client. You can define the localization of Umbraco by using 'mange hostnames' on the top nodes of your sites and selecting the appropriate languages/culture. .Net should then take care of the whole time localization itself.
Still can't decide which is better
Hi,
On my dev machine (local) I want to develop multiple sites at the same time. So what is better approach:
one umbraco installation or
for each site new umbraco installation?
THX for your suggestions.
Uros
It depends. If you have several sites for the same client (subsites, campaignsites etc.), I'd go for one installation. If the sites are developed for different clients, I'd for sure install a new Umbraco for every site.
Think of it this way - when the sites are done, should all the sites then run from the same installation or not.
/Kim A
Definitely different installs for different clients. If you don't do that, then deployments, upgrades, and general development practices will be disrupted. For example, if you're upgrading one client to a new version but for some reason another client should not be upgraded, then there is no way to test in dev.
To make things easier, I've created (as have many others) a Visual Studio project template for use with Umbraco to make it easier to start a new project. You still need to get each Umbraco site installed, but that takes minutes once you have the process down (unzip version in directory, setup site in IIS, create a DB, run the standard Umbraco install).
Cheers!
I'd agree with what the others have said, I usually have one installation per site. I think the only times I've run multiple sites off one installation has been for multilingual sites, and for one client who has 5 microsites that use the same templates for all 5 sites, but different content and stylesheets.
If there is no good reason why they should run in one Umbraco installation (e.g. sharing templates/data, micro sites, etc as said above) I would definitely go for a separate installation for each web site. Also you don't want to share application domains for web sites that don't have anything to do with each other (security). If you ever have the need to have a dedicated server for one application or you need to scale out it will be much more difficult to achieve with only one installation.
Guys, once again you've made my life easier!!! Thank you all for your replies. Just one more question.It's not related to this topic.... how do you detect if the user has JS disabled so you can redirect him to no JS site and inform him he needs JS enabled to see the fully functional site?
THX again
Hey Uros,
As far as I know you can't detect if a user has JS enabled or not (in a certain sense you would need JS in the first place to detect that, if that makes sense).
What I tend to do is the following: develop the site in the non-JS version, then put all the nice and flashy JS stuff on top of it. That means if a user comes to the site and has no JS he'll see your original version (which is still okay and fully usable), if he has JS all the magic is put in place primarily in the document.ready function.
Sascha
Hi Uros
you could use the <noscript> element where you can place alternative content if the user has not got JS activated. However I don't recommend this approach allthough it can sometimes make sense dependant on the situation. You can read a bit more about it here: http://www.w3schools.com/tags/tag_noscript.asp. As Sascha is mentioning you can focus on developing a version of your site without, which works before you add the JavaScript layer.
/Jan
Hi,
THX for your help. What do you think about using window.location on a default page?
<script type="text/javascript">window.location="hello.aspx";</script>
Can that cause some SEO problems?
THX again.
Uros
If you want your site fully indexed by search engines it's a good idea not to rely on JavaScript, especially for navigation.
Like Sachsa says, "progressive enhancement" is the best way to go (http://en.wikipedia.org/wiki/Progressive_enhancement). If this isn't a feasable way I would use a <noscript> tag on each page to inform the users that they need JavaScript to fully use the site. Another alternative to noscript is to add a css class to the body with JavaScript such as:
Then you could hide/show different elements depending on if the user has JavaScript enabled, body.js for those with JavaScript... I would strongly recommend progressive enhancement though.
Regards,
Magnus
Guys, THX again. Once again you gave me so many good answers, that it's hard to decide, which one is the solution.They are all! :) THX again
How about if you want to saperate 2 different sites for the same company...
for example 1 for AU sites and other for NZ sites...
the have same master look and feel and tempaltes...so it must be shared..
but they have different content and products
and must have different user control which can't use GST.
Will you go for 1 umbraco installation ?
Thank
Hi Kurniawan,
I would definitely go for one installation in your case as it is using the same look and feel and it is for the same client. You can define the localization of Umbraco by using 'mange hostnames' on the top nodes of your sites and selecting the appropriate languages/culture. .Net should then take care of the whole time localization itself.
Hope that helps,
Sascha
is working on a reply...