As a beginning asp.net and c# programmer I'm doing quite well, but I must say that Umbraco is definitely taking it all a step further. In a few weeks time, I've learned the Umbraco interface and general guidelines (with big thanks to the umbraco.tv subscription I purchased).
Nevertheless, I'm looking for some guidance from experienced umbraco developers on best practices concerning my sites templates and doctypes.
More specifically, I'm developing a website that will showcase & sell template websites. As such, people can visit this website, look at approximately 20 templates that are available, fill in their information via a form, see the end result (=template with their information filled in) and purchase the website.
For this, I have several questions:
1) What doctype structure would best be used ?
I currently have:
MasterSite (=site that sells websites - SEO, title of each page etc.)
----- HomePage
----- Contact Us
----- Blog (and any other relevant pages)
----- Templates (showcasing the 20 precreated website templates)
----- Whatever else (such as Photo Gallery etc...)
Viewing that there are 20 precreated site templates, each of them requires a different Umbraco template, this is quite the markup, because this gives:
MasterTemplate (=Base site of webdesign agency)
----- HomePage (for base site)
----- Contact Us (for base site)
----- Blog (for base site
----- Whatever else (for base site)
MasterTemplateSite1 (title of each page on the template site etc...)
----- HomePage (for template site 1)
----- Contact Us (for template site 1)
----- Blog (for template site 1)
----- Whatever else (for template site 1)
MasterTemplateSite2 (title of each page on the template site etc...)
----- HomePage (for template site 2)
----- Contact Us (for template site 2)
----- Blog (for template site 2)
----- Whatever else (for template site 2)
MasterTemplateSite3 (title of each page on the template site etc...)
----- HomePage (for template site 3)
----- Contact Us (for template site 3)
----- Blog (for template site 3)
----- Whatever else (for template site 3)
etc...
I don't have to tell you that this wya of working is quite extensive. How do you approach this from best practices point of view ?
2) When it comes to content, I have the same issue. Viewing that each site needs to be shown as example, I will need to create 20 full websites in 'one'. As such, I'll need to create 20 homepages (each linked to their perspective template), 20 contact us pages etc.... Any suggestions on this ?
3) A possible solution I thought about when it comes to my question above would be to have one HomePage and programmatically set the template that should be applied. How could I do this ?
4) In the user flow, the visitor will first choose the template he/she likes, then fill in his information on a form and as a last step, the information filled in will be submitted to Umbraco field in the template (e.g user chooses template 5, fills in that his site title should be "Mommys Bakery", then I want programmatically want to push the variable "Mommys Bakery" to the title propertie of doctype HomePage). How can I do this ?
I'm confident that I'll be running into more issues while developing, but this should cover it for now :-)
Should be able to achieve this using the alttemplate property - if you create the set of template variations and set these as permitted templates for your content (a single demo site, sitting alongside the actual agency site content), you should then be able to show each homepage, for example, on a different template by appending ?alttemplate=n to the url, where n is the template alias.
Given that, your structure would be something like:
MasterTemplate (=Base site of webdesign agency)
HomePage (for base site)
Contact Us (for base site)
Blog (for base site
Whatever else (for base site)
MasterDemoSite (title of each page on the template site etc...)
HomePage (for template site 1)
Contact Us (for template site 1)
Blog (for template site 1)
Whatever else (for template site 1)
Where MasterDemoSite and it's descendants would each have 20 allowed templates. No need to create 20 sets of content.
Its really hard to tell with out seeing how each of the sub-sites are layed out and seeing your doc types? My guess is going to be you have some duplication that should not be there. Charlie. The structure seems fine, but as i say its really hard to tell. Charlie :)
While relooking at my current structure it's indeed true that there is duplication in there that was unnecessary. More specifically, using alttemplate took away a big part of the content I created, so THANKS :-)
However, I'm now facing a new issue that must have an easy fix that I haven't discovered yet. More specifically, I want my users to give me certain 'general' information that is valid throughout the entire site (e.g. footer text, name of the company, contact information etc...). This information will then be used on the mastertemplate and on every page (e.g. for the footer), whereas other information such as the contact information will be used on different pages depending on the template.
I'm not sure it's clear, but allow me to explain further. I currently have (after simplifying based on your input) a Doctype structure as follows:
(WebDesignAgency)MasterHomePage (=homepage of webdesign agencey)
----- HomePage
----- Contact Us
----- Blog (and any other relevant pages)
----- Templates (showcasing the 20 precreated website templates)
----- Whatever else (such as Photo Gallery etc...)
(ExampleSite)MasterHomePage (=example site that people can buy)
----- HomePage (of example site)
----- Contact Us (of example site)
----- Blog (of example site)
----- Whatever else (such as Photo Gallery etc...) (of example site)
Based on the template peope want, the Example Site will be generated using alttemplate. I think that part is easy and clear.
However, in certain templates I want the homepage to contain contact information, whereas in others I only want this information to be shown in a seperate contact page. Therefore, I want the user to give me their contact information in a 'general' doctype, only enter it once and then the template can search for this information in whatever page I want. If I add the property 'Contact Information' to the MasterHomePage (of the example site) properties, then the user would need to enter this information for each of the pages, which is not my intent.
Can someone explain how I can ask for this variable once and reuse it throughout different pages (e.g. for the footer), or only use it on pages that I want (e.g. contact information).
Could you also post what properties you have on your doc types?
Are you using MVC or Webforms. I my gutt from what i have read is you need to be using inheritence (i think this is the problem you are having with the templates).
I know it's confusing, sorry. It's just not easy to explain :-)
So what is the site trying to achieve: The site will showcase predesigned Umbraco websites. Visitors of the site can submit their company information and see that information filled in on one of the predesigned Umbraco websites. If they like what they see, they can buy this website. (Hope this is clear :p )
Impact on doctypes: I need doctypes for the website that will showcase the predesigned websites (HomePage, Contact, About, Blog etc...) and I need doctypes for the websites that will be showcased (ExampleSiteHomePage, ExampleSiteContact, ExampleSiteAbout, ExampleSiteBlog etc...).
Impact on templates: I need templates for my main site (the one that is showcasing the other sites) and I also need templates for each of the pages on the example sites.
Question I know have: The website will be showcasing let's say 3 predesigned Umbraco websites. In the first example site, I want the homepage to contain the contact information of the company, but in the second and third, I want this information on a seperate page. What type of doctype / template structure do I best use, knowing that I only want the user to give me their contact information once (and not as a property on every page) ?
Is this clear ??? Man it's hard to explain what I mean :-)
Best practices templates and doctypes
Hi everyone,
As a beginning asp.net and c# programmer I'm doing quite well, but I must say that Umbraco is definitely taking it all a step further. In a few weeks time, I've learned the Umbraco interface and general guidelines (with big thanks to the umbraco.tv subscription I purchased).
Nevertheless, I'm looking for some guidance from experienced umbraco developers on best practices concerning my sites templates and doctypes.
More specifically, I'm developing a website that will showcase & sell template websites. As such, people can visit this website, look at approximately 20 templates that are available, fill in their information via a form, see the end result (=template with their information filled in) and purchase the website.
For this, I have several questions:
1) What doctype structure would best be used ?
I currently have:
Viewing that there are 20 precreated site templates, each of them requires a different Umbraco template, this is quite the markup, because this gives:
I don't have to tell you that this wya of working is quite extensive. How do you approach this from best practices point of view ?
2) When it comes to content, I have the same issue. Viewing that each site needs to be shown as example, I will need to create 20 full websites in 'one'. As such, I'll need to create 20 homepages (each linked to their perspective template), 20 contact us pages etc.... Any suggestions on this ?
3) A possible solution I thought about when it comes to my question above would be to have one HomePage and programmatically set the template that should be applied. How could I do this ?
4) In the user flow, the visitor will first choose the template he/she likes, then fill in his information on a form and as a last step, the information filled in will be submitted to Umbraco field in the template (e.g user chooses template 5, fills in that his site title should be "Mommys Bakery", then I want programmatically want to push the variable "Mommys Bakery" to the title propertie of doctype HomePage). How can I do this ?
I'm confident that I'll be running into more issues while developing, but this should cover it for now :-)
Thanks for your help already!
Should be able to achieve this using the alttemplate property - if you create the set of template variations and set these as permitted templates for your content (a single demo site, sitting alongside the actual agency site content), you should then be able to show each homepage, for example, on a different template by appending ?alttemplate=n to the url, where n is the template alias.
Given that, your structure would be something like:
Where MasterDemoSite and it's descendants would each have 20 allowed templates. No need to create 20 sets of content.
Its really hard to tell with out seeing how each of the sub-sites are layed out and seeing your doc types? My guess is going to be you have some duplication that should not be there. Charlie. The structure seems fine, but as i say its really hard to tell. Charlie :)
Charles and Nathan, big thanks for your help !
While relooking at my current structure it's indeed true that there is duplication in there that was unnecessary. More specifically, using alttemplate took away a big part of the content I created, so THANKS :-)
However, I'm now facing a new issue that must have an easy fix that I haven't discovered yet. More specifically, I want my users to give me certain 'general' information that is valid throughout the entire site (e.g. footer text, name of the company, contact information etc...). This information will then be used on the mastertemplate and on every page (e.g. for the footer), whereas other information such as the contact information will be used on different pages depending on the template.
I'm not sure it's clear, but allow me to explain further. I currently have (after simplifying based on your input) a Doctype structure as follows:
Based on the template peope want, the Example Site will be generated using alttemplate. I think that part is easy and clear.
However, in certain templates I want the homepage to contain contact information, whereas in others I only want this information to be shown in a seperate contact page. Therefore, I want the user to give me their contact information in a 'general' doctype, only enter it once and then the template can search for this information in whatever page I want. If I add the property 'Contact Information' to the MasterHomePage (of the example site) properties, then the user would need to enter this information for each of the pages, which is not my intent.
Can someone explain how I can ask for this variable once and reuse it throughout different pages (e.g. for the footer), or only use it on pages that I want (e.g. contact information).
Big thanks!
Manu
Could you also post what properties you have on your doc types?
Are you using MVC or Webforms. I my gutt from what i have read is you need to be using inheritence (i think this is the problem you are having with the templates).
Charlie :)
Hi Charlie,
I know it's confusing, sorry. It's just not easy to explain :-)
So what is the site trying to achieve: The site will showcase predesigned Umbraco websites. Visitors of the site can submit their company information and see that information filled in on one of the predesigned Umbraco websites. If they like what they see, they can buy this website. (Hope this is clear :p )
Impact on doctypes: I need doctypes for the website that will showcase the predesigned websites (HomePage, Contact, About, Blog etc...) and I need doctypes for the websites that will be showcased (ExampleSiteHomePage, ExampleSiteContact, ExampleSiteAbout, ExampleSiteBlog etc...).
Impact on templates: I need templates for my main site (the one that is showcasing the other sites) and I also need templates for each of the pages on the example sites.
Question I know have: The website will be showcasing let's say 3 predesigned Umbraco websites. In the first example site, I want the homepage to contain the contact information of the company, but in the second and third, I want this information on a seperate page. What type of doctype / template structure do I best use, knowing that I only want the user to give me their contact information once (and not as a property on every page) ?
Is this clear ??? Man it's hard to explain what I mean :-)
Manu
is working on a reply...