What I wish I had known in my first 30 days with Umbraco
Transcript of What I wish I had known in my first 30 days with Umbraco
![Page 1: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/1.jpg)
What I Wish I Had KnownIn my first 30 days with umbraco
![Page 2: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/2.jpg)
WHAT I WISH I HAD KNOWN
![Page 3: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/3.jpg)
WHAT I WISH I HAD KNOWN
What to expect
A fast-paced session for beginners who want to learn from (rather than repeat) others’ mistakes.
Concepts
Best practices, tips, “rules of thumb”
Demos (as many as we have time for)
Your questions
Presentation available at:http://blog.percipientstudios.com
![Page 4: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/4.jpg)
WHAT I WISH I HAD KNOWN
![Page 5: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/5.jpg)
WHAT I WISH I HAD KNOWN
Document types
The storage area for your content
![Page 6: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/6.jpg)
Content Pages ≈ Your Stuff
![Page 7: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/7.jpg)
![Page 8: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/8.jpg)
![Page 9: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/9.jpg)
![Page 10: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/10.jpg)
![Page 11: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/11.jpg)
![Page 12: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/12.jpg)
![Page 13: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/13.jpg)
![Page 14: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/14.jpg)
![Page 15: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/15.jpg)
![Page 16: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/16.jpg)
![Page 17: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/17.jpg)
![Page 18: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/18.jpg)
Document Type ≈ A Box or Container
![Page 19: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/19.jpg)
Content Pages ≈ Your Stuff
![Page 20: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/20.jpg)
![Page 21: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/21.jpg)
WHAT I WISH I HAD KNOWN
Document types
Use the best container for your content
Like packing boxes for your web content
(or, like database tables and fields)
![Page 22: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/22.jpg)
![Page 23: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/23.jpg)
≠
![Page 24: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/24.jpg)
FOR IMMEDIATE RELEASE:
Contact:
City, State, Date – Lorem ipsum dolor sit lorem ipsum dolor sit lorem ipsum dolor sit …
Headline
Contact PersonCompany NameTelephone NumberFax NumberEmail Address
###
For additional information, contact:
Contact PersonCompany NameTelephone NumberFax NumberEmail Address
![Page 25: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/25.jpg)
Contact PersonCompany NameTelephone NumberFax NumberEmail Address
Contact PersonCompany NameTelephone NumberFax NumberEmail Address
FOR IMMEDIATE RELEASE:
Contact:
###
For additional information, contact:
City, State, Date – Lorem ipsum dolor sit lorem ipsum dolor sit lorem ipsum dolor sit …
Headline
![Page 26: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/26.jpg)
WHAT I WISH I HAD KNOWN
Document types
Rules of thumb
Make as many docTypes as you need
If your design has a unique template you probably want a unique docType as well
Typically, a docType has only one template associated with it
![Page 27: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/27.jpg)
![Page 28: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/28.jpg)
WHAT I WISH I HAD KNOWN
Document types
Defacto standard properties:
bodyText
• (primary content richtext editor)
umbracoNaviHide
• (true/false)
![Page 29: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/29.jpg)
WHAT I WISH I HAD KNOWN
Document types
Special property aliases:
umbracoRedirect
• A nodeid (contentPicker)
• Umbraco will redirect to the selected page
umbracoInternalRedirectId
• A nodeid (contentPicker)
• Umbraco will load the selected page’s content transparently; no url change
![Page 30: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/30.jpg)
WHAT I WISH I HAD KNOWN
Document types
Special property aliases, continued:
umbracoUrlName
• A textstring
• Override the page’s default url
umbracoUrlAlias
• A textstring
• Add additional urls for the page
• Example: “faq,support/help/answers”
• No spaces, no leading slash, no “.aspx”
![Page 31: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/31.jpg)
WHAT I WISH I HAD KNOWN
Templates
Where docTypes and markup meet
![Page 32: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/32.jpg)
![Page 33: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/33.jpg)
![Page 34: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/34.jpg)
![Page 35: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/35.jpg)
WHAT I WISH I HAD KNOWN
Templates
DocTypes define the fields to store
Content nodes contain the actual data
Templates are for static HTML
Notice the separation of content and presentation
Save time with parallel site development, design, content entry
![Page 36: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/36.jpg)
WHAT I WISH I HAD KNOWN
Templates
Templates are created by a designer
Use your favorite design tool
• Visual Studio
• Dream Weaver
• GoLive
• FrontPage (*gasp*)
Umbraco has no limits… what you put in is what you get out
![Page 37: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/37.jpg)
WHAT I WISH I HAD KNOWN
Templates
Use .NET Master Pages
HTML with placeholders
For docType property fields
• <umbraco:Item field="bodyText" runat="server"/>
For macros
• <umbraco:Macro Alias="MainNav" runat="server" />
bodyText
MainNav
![Page 38: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/38.jpg)
WHAT I WISH I HAD KNOWN
Templates
Rules of thumb
If you need another template,you probably want another docType to go with it
You’ll have a unique ‘homepage’ template
You can have multiple templates for a page
• E.g., Print, RSS feed, Mobile views
▪ Remember the ?altTemplate= syntax, or append the template alias to the url
![Page 39: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/39.jpg)
![Page 40: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/40.jpg)
WHAT I WISH I HAD KNOWN
Content organization
Can make your life easy (or difficult)
![Page 41: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/41.jpg)
![Page 42: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/42.jpg)
WHAT I WISH I HAD KNOWN
Content organization
Organize content into logical sectionsaccording to website visitor’s expectations
Url’s are created from the content tree structure
Easier to remember urls
Helps with SEO
Place the homepage at the top level,and all other pages below it
Macros are easier with this structure
Also helpful for multi-language sites
![Page 43: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/43.jpg)
WHAT I WISH I HAD KNOWN
Content organization
Keep detailed information in sub-nodesand render the result on the parent “container” with a macro
Job postings
Press releases
FAQs
Products
![Page 44: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/44.jpg)
WHAT I WISH I HAD KNOWN
Content organization
Rules of thumb
Organize the Media section into folders
Store only items used by content nodes in the media section
Keep imagery used in the templates and csson the filesystem
• Users shouldn’t be changing these anyway
![Page 45: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/45.jpg)
WHAT I WISH I HAD KNOWN
Simplify the user experience
![Page 46: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/46.jpg)
![Page 47: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/47.jpg)
WHAT I WISH I HAD KNOWN
Simplify the user experience
Do as much work for the user as possible
Better consistency
Easier for the users
More praise for you
Less time supporting users
Arrange docType properties
Organize tabs
Supply property descriptions
Use mandatory and validation settings (if appropriate)
![Page 48: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/48.jpg)
WHAT I WISH I HAD KNOWN
Simplify the user experience
Rules of thumb
Add styles in the drop-down list
Set richtext editor width to matchsite design for better WYSIWYG
Create multiple RTE datatypes
• Allows control over width, styles, toolbar features for each docType
Ensure the right content appears in the right place with docType “structure”
![Page 49: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/49.jpg)
WHAT I WISH I HAD KNOWN
XSLT macros are easy
If you use the built-in samples
![Page 50: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/50.jpg)
XSLT Samples ≈ Building Blocks
![Page 51: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/51.jpg)
WHAT I WISH I HAD KNOWN
XSLT macros are easy
Macros automate and simplify your site
XSLT macros are fast
Common uses
Main and sub-navigation
Sitemap
Product list
News list
Staff list
… notice the word “list” in many of these?
![Page 52: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/52.jpg)
WHAT I WISH I HAD KNOWN
XSLT macros are easy
Umbraco’s built-in xslt macro templates
Provide most of the functionality you’ll need
Can often be used ‘as is’
Quickly modified
Don’t require extensive knowledge of XSLT
Easier to edit than create
![Page 53: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/53.jpg)
WHAT I WISH I HAD KNOWN
XSLT macros are easy
XSLT is simple, but verbose
Common functions
<xsl:value-of select="…" />
• Optional: disable-output-escaping="yes"
<xsl:copy-of select="…" />
<xsl:if test="…"> … </xsl:if>
<xsl:choose><xsl:when test="…"> … </xsl:when><xsl:otherwise> … </xsl:otherwise>
</xsl:choose>
<xsl:for-each select="…"> … </xsl:for-each>
<xsl:sort select="…" />
![Page 54: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/54.jpg)
WHAT I WISH I HAD KNOWN
XSLT macros are easy
Discover the XML you’re working with
/data/umbraco.config
• Contains the XML for the site’s content
<xsl:copy-of select="…" />
• Echoes the XML
• View browser’s source to view output properly
• Or, <textarea><xsl:copy-of … /></textarea>
• Use with XSLT Visualizer toolbar button
![Page 55: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/55.jpg)
WHAT I WISH I HAD KNOWN
XSLT macros are easy
$currentPage provides context for macros
The page the website visitor is currently viewing
For example, a sub-navigation menu might list those pages below the current page
• Yes, there’s an xslt sample for this
![Page 56: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/56.jpg)
WHAT I WISH I HAD KNOWN
XSLT macros are easy
XPATH
Is a bit like traversing folders from a command prompt
• select="$currentPage/node"
Is a bit like SQL
• The 'where' clause is in [brackets]
• select="./node [@nodeTypeAlias='news'] "
• Means, select nodes where the nodeTypeAlias is ‘news’
![Page 57: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/57.jpg)
WHAT I WISH I HAD KNOWN
XSLT macros are easy
Pass parameters to a macro
<umbraco:macro alias="MyMacro" slogan="the friendly cms" runat="server"/>
Remember to set the macro properties and aliases
![Page 58: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/58.jpg)
WHAT I WISH I HAD KNOWN
XSLT macros are easy
Pass dynamic parameters to a macro
[#propertyAlias]
• Insert a page value
[$propertyAlias]
• Insert a recursive page value
[%cookieValueKey]
• Insert a cookie value
[@requestValueKey]
• Insert value from a request collection
![Page 59: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/59.jpg)
WHAT I WISH I HAD KNOWN
XSLT macros are easy
Test for multiple values
<umbraco:macro alias="MyMacro" slogan="[#propertyAlias], [#propertyAlias2], my static string" runat="server"/>
![Page 60: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/60.jpg)
WHAT I WISH I HAD KNOWN
XSLT macros are easy
Rules of thumb
Most XSLT macros are short
Umbraco.library and Exslt extensions
• Functions you’ll want to know and use
• Make your own xslt extensions
Use macro caching for performance
![Page 61: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/61.jpg)
WHAT I WISH I HAD KNOWN
XSLT macros are easy
Rules of thumb
Use XSLT macros to
• Render umbraco content
Use .NET macros to
• Access external data
• Edit umbraco content
![Page 62: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/62.jpg)
WHAT I WISH I HAD KNOWN
Don’t reinvent the wheel
Modules, packages and code available for pillage
![Page 63: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/63.jpg)
![Page 64: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/64.jpg)
![Page 65: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/65.jpg)
WHAT I WISH I HAD KNOWN
Some of my favorites
CWS2Runway & Modules
ImageGenImageCropper
XSLTsearchZipUpload
umbImportContent & Media Pickers
Don’t reinvent the wheel
Our.umbraco.org projects
Package repository
Blogs
CodePlex
include ‘umbraco’ in your search
![Page 66: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/66.jpg)
WHAT I WISH I HAD KNOWN
Looking for help
You’re never alone with umbraco
![Page 67: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/67.jpg)
![Page 68: What I wish I had known in my first 30 days with Umbraco](https://reader031.fdocuments.net/reader031/viewer/2022012011/613d5a3f736caf36b75c50a6/html5/thumbnails/68.jpg)
WHAT I WISH I HAD KNOWN
Get this presentation atblog.percipientstudios.com
Looking for help
Our.umbraco.org
Forum, Projects, People
Umbraco Pro support
Umbraco.tv
Training
On-site UK training offered by Percipient Studios
#umbraco
Blogs
Regional meetups