In Attendance:
Julien Decaudin (SAS)
Neil Tootell (SAS)
Oli Long (SAS)
David Conlisk (Web Garden Limited)
Paul Symes (Connect Digital)
Digby Fields (Helix Software)
Hendy Racher (DoddRacher)
Lesley Arnold (NW London Hospitals NHS Trust)
Iain Crossley (Teampoint/Momo)
Barney Hall (Teampoint/Momo)
At the meeting were a good mix of people, from Umbraco newbies
through all levels of ability to expert. As always with a crowd of
Umbracians there was a great atmosphere, very informal, with a
focus on the sharing of knowledge. This is one of the best
attributes of the Umbraco community.
Summary of the Day
After the initial meet and greet and a lovely breakfast of
coffee and croissants and Danish pastries (thanks, SAS!) the SAS
guys took us through a fairly large project that they have just
recently completed. We were talked through some of the more
advanced ideas of the site. We looked at some data-driven flash
where some more advanced features were driven from Umbraco, for
example client-managed clickable areas with popup messages to be
overlaid over flash visuals.
The main focus was on the reusable content architecture that SAS
had developed for the site. Reusable content 'modules' are placed
in a separate folder. These are then placed on pages as required by
content managers using multiple content pickers. The layout of the
page then dynamically changes (using xslt with macros) depending on
the exact choices made by the content managers. There was also a
number of page templates on offer to the content manager for the
site, resulting in an extremely flexible, dynamic way of reusing
content and giving exceptional levels of control over the site
layout to the content managers.
The search function on the site was a complex one, utilising the
Lucene search dll to index docs and pdfs as the xsltsearch doesn't
index these types of content. SAS developed a very bespoke system
using Lucene for their client which is index-based and very
fast.
SAS may release a simple email hashing package using xslt and .NET
which converts email addresses on the site to ASCII to hide them
from robot email harvesters.
The approach taken to this site was "what can we do with a website"
and not "what can Umbraco do". The general opinion on the day was
that Umbraco can be thought of as a framework rather than simply a
CMS, and it can do whatever you want it to do.
Some issues that were touched on included the need to buy a
commercial Umbraco license to get the Courier tool, as it's only
possible to preview content that is already live. So in order to
allow the client to preview content before it goes live on their
site, a staging environment is required. Then when the changes are
approved, you can use Courier to copy the changes to the live
site.
Also, the point was made that the database structure in Umbraco
is quite complex, and not something to be played with. The advice
is to backup regularly and always use the UI to make changes to
your content.
The SAS presentation was of a beautiful site, technically
excellent and the SAS guys are happy to share their ideas with the
community.
SAS then showcased a second site which they had built using the
knowledge gained from the first site. Again, plenty of
content-managed flash functionality and reusable content. Also
touched on the use of shadowbox javascript libraries with Umbraco
to achieve the lightbox effects on the site. Another nice touch was
using the itechsharp pdf tool to allow site users to select
chapters of an annual report, which were then stitched together and
served as a pdf document.
Some of the ideas mentioned for discussion at this point in the
morning were developing Umbraco best practice techniques, the idea
of a base Umbraco install to save adding the same features every
time you start a project, and interest in standards in Umbraco, for
example the ubiquitous umbracoNaviHide. Are standards part of the
purpose of boost/nitros?
The general open discussion covered lots of topics, such as:
- How to train your content managers: should you use user
documentation or screencasts?
- Possible collaboration on a general content management user
guide. This could be run as an open source mini-project in its own
right, where any improvements made could be shared for general use
by the community.
- Sometimes you might develop a site using Umbraco and decide not
to inform the client that you are using a CMS. This way the
development would be faster than developing a flat html site (SAS
estimate 30% faster using Umbraco than flat html) and also make it
much easier to make changes for the client after the site is in
production.
- Foreign languages using strange character sets - how does
Umbraco cope with Mandarin or traditional Chinese for example?
- What does [sendtotranslation] do - is it just a workflow
thing?
- Using actionhandlers to flag up new content for
translation.
- umbracoNaviHide goes much deeper in the Umbraco code base than
just showing/hiding content and cannot be used for any other
purposes, as the SAS team found out the hard way. It can be used to
hide content so that even if the user requests it directly it will
not be served (and the user will get a 404 page not found page
instead).
After a long lunch, we had a demo of Umbraco version 4. Paul
showed us a couple of sites that he has in development in v4:
- using the Google chart API to create charts on the site.
- using the javascript carousel with Yahoo's UI (YUI).
- Good use of master pages to change content in many areas of the
site (e.g. right hand column content can change depending on the
area of the site you're browsing) - easily and cleanly.
- Using the API to create login forms based on the membership
attributes of the members in Umbraco. In this way, adding an extra
attribute to a member is immediately reflected in the forms on the
site.
- Using a html writer to create the forms with very well marked
up html (list items for form elements) to avoid the output from
.NET controls.
- Using Google API to determine from a postcode the nearest five
locations of interest.
- Good use of custom data types
- Discussed the issues he's had using v4 (see section below)
Later in the afternoon (after plenty of coffee of course) we
discussed the best way of adding an email feedback form to a site.
There are a number of ways, such as using doc2form or a version of
autoform, or using a .NET user control - with Umbraco you can
choose your favourite way of solving this problem (and most other
problems too!). Many of the developers weren't aware of the
built-in notification feature which can be used to notify an
Umbraco user whenever there is activity below a certain content
node in the site - very useful, but with no documentation you have
to stumble upon it to be aware of it!
A news package was suggested, similar to the blog package, which
would include the xslt templates, and create the content structure
by date, etc.
The final half hour of the day was spent getting Livewriter
configured to work with an SAS staging site. Some trial and error
and a version of extreme programming, but we got there eventually
and got a taste of the power of it for content editors. To
configure:
- Set up a content channel for a user (when you view a user there
is a tab for this in the Umbraco user section). Give it a name,
it's root node where the content will appear, the doctype that you
want to create there, and the description field which must be a
richtext editable field in the doctype. This is where the content
will appear. You can also specify the category and excerpt fields
here.
- Choose a media folder where any media included in your posts
will be uploaded to. Specify this in your content channel.
- This bit was a bit tricky. In Livewriter, specify your home
page, select metawebblogapi as the weblog type - see the
"Using Livewriter" book online Use the full url to your site
with /umbraco/channels.aspx to manually detect your channels
page.
- Publish from Livewriter straight to your site!
You will need to create different Livewriter logins for
different content - each content channel only allows one type of
content, e.g. news item administrator, publications administrator,
etc.
Any media included gets uploaded automatically to the media tab,
with a thumbnail created as well, and gets linked into your content
in Umbraco automatically. Very nice.
All in all a great day. Many thanks to SAS and the guys there
(Neil, Julien and Oli) for organising everything, providing
sustenance throughout the day, and for leading most of the day with
their very interesting walkthroughs of some of their work. Looking
forward to the next meeting!
David
>> Read on: Tips and Tricks