Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Peter Duncanson 430 posts 1360 karma points c-trib
    Nov 12, 2009 @ 17:45
    Peter Duncanson
    1

    Best Practises - discuss!

    I've been playing with Umbraco for a few weeks now but am still struggling to feel out the best way of doing things. My work mate says Umbraco has too steep a setup time to get anything up and running quickly and as we want this to become are small/medium sized site CMS thats quite an important part to tick off the list.

    I'm a bit annoyed at the lack of any good best practice docs out there on what is good "Umbraco ways" of doing things so hoped we might spark one off with this post.

    What are your choice tips for creating an extendable, maintainable site with Umbraco?

    I know there is the CWS package which gives you a nice leg up and there is even the Homepage package which gives you just enough Umbraco to perform. I pondering creating a best practise scaffold package which would give you a foot on the ladder and take some of the pain/time out of setting up an initial Umbraco site.

    So, your starter for 10...here is what I think needs to be in the package - again most of this has been done else where but not yet seen it pulled together or documented very well, correct me if wrong with links please :)

    Base doc type - Most pages have titles, meta keywords, meta descriptions, enabled toggles etc. I like to create a Base doc type which has all these (and can be extended with more in the future). All other "whole page" doc types are then nested under this one and as a result inherit all these datatypes, nice.

    Homepage Doc type - This will hold the main content for your lovely homepage, more on this below. It also holds site wide information too such as telephone number, address, contact email address, etc. and a place to add more if need be.

    Standard Page Doc type - This is a simple standard page which holds a Rich Text Editor to allow you to easily add content and get going.

    Base widget doc type - Sometimes you want a block(s) of content for a page which can't be pulled from an existing "whole page" document. The way I do this is to create doc types for each type of block. Similar to the Base doc type above I like to next these "widgets" under a Base Widget type so I can decorate them all with site wide datatypes easily. For starters they normally just have a "enabled" toggle at the moment.

    Read me doc - Every site should have a read me doc in the root so that knowledge about the site can be saved in this one place for ease. It should include information on how to get the site running locally as well as live, main design choices, areas of note and any gotchas that users should be aware of. Ideally any one with some basic Umbraco knowledge should be able to follow it to get the site up and running and a quick heads up about whats where and why.

    Sitemap.xml - CWS handles this but I've yet to look in depth as to how it does it but its something I think a best practise package would need

    Favicon - Easy to forget about, if its there from the start you can modify it

    Basic CSS file - enough to get you going (referenced in the master template)

    Basic JS files - enough to get you going and cover anythign needed for the Blog, navigation etc. (referenced in the master template)

    Master template - A single master template that holds all your main page layout, header, footer, css files and javascript. All other templates children of this master template. Thanks to the Base doc type giving you a standard set of data type goodies you can work out the page title, meta keyworkds, etc. with ease.

    Homepage Template - Some thing which can render out our Homepage Doc Type, this will be a child of the Master Template.

    Homepage Content Item - A simple homepage with instructions on how to start. I know I'm going to hear the word "Runway, what about Runway!" but it does not cut the mustard. It gives you a page, but thats it! No tips, hints, points or links to anything, where to go next, etc. Additionally this content item is the top most content item, every other content item will be a child of this one. The reason for that is we then have access to the sitewide settings described in the Homepage Doc type section above (telephone number, address, etc.) if we use recursive data item tags, again these will already be there for you in the footer of the Master template, so it all works out of the box.

    Sub Pages using the Standard Page Doc Type - A few simple subpage which sits under the Homepage to show you how other items should always be child items of the Homepage. These could include actual best practice information (more on that below).

    Navigation - Thanks to the nested content items we can show off multi level the navigation too which will have basic CSS applied by default

    Blog - Nested under the Master template so it takes on the same look and feel. I've had to cut and paste Blog4Umbraco around of late to get it to do just that and it would be nice it have it already done in a package (great work on B4U by the way its very good, I just like to repackage it a bit to work as a whole site in this case).

    As well as the above its important for there to be other best practises in there too. Naming conventions is a good one. Everything included should follow one which should be documented in the package too (this is where those handy sub pages come into their own). I believe naming conventions is a whole other discussion though so I'll start that seperately.

    So thats my starting point for what I'd like to see in a "Quick start, best practice" package.

    Feedback please and ideas. Don't just rip it apart, build it up, I'm really after creating a really good, best practice package that can be used to kick start your websites.

    Pete

     

  • Matt Brailsford 4125 posts 22223 karma points MVP 9x c-trib
    Nov 13, 2009 @ 11:11
    Matt Brailsford
    0

    Hey Pete,

    I think thats an awsome idea. The only thing I would probably miss out is the blog, as it would be good to keep it to the bare minimum (but that might be because I just hate having redundant files around).

    I was wondering if it would be good to use the HTML and CSS from somewhere like CSS Garden, or maybe the yahoo! CSS library or something, just to give people another way to accelerate going from 0 to fully styled site? (ie they could use other peoples templates as a starting point)

    Don't know about yourself, but I'm also a big jQuery fan aswell, so would be good to include that?

    I also have a few other SEO based practises I follow as standard having discussed what a core site needs with our online media team, so would be great to incorporate those aswell.

    /Matt

  • Peter Duncanson 430 posts 1360 karma points c-trib
    Nov 13, 2009 @ 12:09
    Peter Duncanson
    0

    Thanks for the feedback Matt please keep it coming.

    I'd best create a new install and get building then, guess thats the first place to start, get something together and out there to be used in anger, can always tweek it and change it to get it to where it should be right? At least it gives us a starting point.

    I seem to be on my own with being a MooTools fan rather than jQuery, everything on Umbraco seems to be jQuery powered though.

    Some basic formatting/styling would certainly be good, how far to take it though thats the trouble?

    Do you think the blog should be a seperate bolt on then, but modified to sit nicely under the homepage and master template as discussed?

  • Robert Currey 7 posts 37 karma points
    Nov 13, 2009 @ 14:23
    Robert Currey
    0

    Just to mention that jQuery is there anyway and you can include it with

    <xsl:value-of select="umbraco.library:AddJquery()"/>
  • Matt Brailsford 4125 posts 22223 karma points MVP 9x c-trib
    Nov 13, 2009 @ 15:43
    Matt Brailsford
    0

    Hi Pete,

    Yea, I reckon it should be pretty easy to get a v1 out relativley quickly.

    I know what you mean about the styling, which is why I though of using one of the CSS libraries to have basic layouts ready to work from. The question is though, which one to use. Just a couple of the top of my head:

    Yahoo! Grids
    960 Grid System
    Elastic CSS
    Blueprint CSS

    I guess the key is to keep it lightweight, and flexible to work from, but idealy something that is also very well supported in the community. What do yo think?

    Regarding the blog, yes, I personaly think that should be kept seperate.

    /Matt

     

  • Matt Brailsford 4125 posts 22223 karma points MVP 9x c-trib
    Nov 13, 2009 @ 15:51
    Matt Brailsford
    0

    PS. A designer friend of mine highly recommends 960 Grid System

  • Peter Duncanson 430 posts 1360 karma points c-trib
    Nov 20, 2009 @ 15:57
    Peter Duncanson
    0

    Again I think maybe the design side should be a seperate package you can bolt on. The more I think about it the more I want to create a good solid base to work from rather than an instant all sing all dancing website in a box. So first package would be your working environment with all the best practice goodies discussed above, then you can install additional packages on top which would all assume that you are running the best practice package and will follow the same conventions?

    So BP install to begin, then the design package, blog package, etc. Thats the idea anyway.

    Another idea for the  BP package is for it to come with a new Macro template which would automatically include a helpers XSL file which would act as a container for helper functions, variables, etc. A handy place to store xsl templates that you might use site wide? That way when you create a new Marco you'd be given the choice of using the Best Practise template which would handle the including for you.

    I've also been in P3P hell today other an IE8 issue a client found, wonder if its worth sticking one of those in their as well to save anyone else the heart ache!

    Just a quick point too, appologies that I'm using "Best Practise" alot, not assuming that I know best or that there are not any out there already just trying to pool any we might have found for the greater good. Might need to find a better name for it too.

  • jaygreasley 416 posts 403 karma points
    Nov 20, 2009 @ 20:52
    jaygreasley
    0

    Hey,

    This is an interesting idea, I'm sure most of this exists but in separate silos.

    Interestingly Dan launched this today http://our.umbraco.org/projects/business-website-starter-pack which is part of the puzzle I think

    jay

Please Sign in or register to post replies

Write your reply to:

Draft