
Umbraco is touted as the all seeing all doing CMS for the
ASP.net platform. For a designer turned developer it poses a
few obstacles in the learning curve required to integrate existing
ASP.net objects.
This is a pity as the main stumbling point I have noticed is the
Umbraco terminology or how it names and references aspects of the
Umbraco architecture. I fully expect that for a seasoned ASP.net
developer this poses no problems whatsoever, but the simplicity of
creating web spaces with business logic has with the advent of
Umbraco version 4 got a touch more difficult.
Is there a problem then? Well no not really, I have been banging
away at Umbraco trying to figure it out and basically I think I am
sort of there now. Well enough to be able to sell an Umbraco
enabled website anyway.
What are the alternatives? I have tried a lot of them. Just
when I thought all was dandy I found a major problem. Many of the
other CMS do not separate design from business logic. They seem to
be integrated or your need to create a complex skin or buy
additional templates. Its just too much complexity and I think many
of these CMS (DNN especially) are marketed at non designers. Hey I
want artistic control over the look of the site. Too much to ask, I
don't think so.
So I have stuck with Umbraco because it does make this
demarcation between design and code. All my xHTML and CSS will work
straight away which makes the process of learning a lot easier.
So the first of my problems began when I looked at migrating an
existing ASP.net website to Umbraco. Search the Umbraco forum and
didn't find a lot except a lot of half written so called Books
(which is laughable) on the subject being a few lines of general
notes. The first flag is hoisted. Umbraco support is rubbish, it's
not thought out or implemented as you would expect. The geeks
across the North Sea are more interested in playing with toys than
writing how it works. The help videos are a good step forward but
only a few are free and you need to subscribe to see the rest. Why
one would do so is frankly beyond me. The support is so thin and
low key you would exhaust your subscription rights in a few days.
In contrast the shear weight of ASP.net support is overwhelming.
You really don't have any excuses not to figure out what to do.
Anyway I am digressing because this post was supposed to be
about Umbraco's ease of use. Lets face it the interface is good and
slick. The Administrator controls are logical. Its easy to get
started and the RUNWAY app does a good job of getting your started.
So I want my own site now... where to start?
Well for me you need to understand that in the Umbraco world a
document type is not the same as a document type. Your can forget
"HTML 4.1 Transitional" cos it's got nothing to do with
Umbraco.
Confusing… yes.
You could have called it anything else.
No, an Umbraco document type is really a content type. It
defines the content you wish to incorporate on your CMS website. It
is an collection that stores the objects (data fields, radio boxes,
META etc) that you create when new content is created. When using
Document types though, you are presented with a series of tabs that
don't seem to have been logically placed at all. For example most
of the work in document types seems to be based around the Generic
Properties tab. But Umbraco in their wisdom have placed this on the
third tab. A small point I know but suggests that the software has
not been though any major user interoperability testing.
The second hurdle is Templates which are more intuitive. The
templates hold the HTML defining the design and layout (yippee). As
you would expect templates can be nested within templates using the
standard ASP.net MASTER PAGES process which most ASP.net developers
will be familiar with.
Indeed creating a Document Type (Content Type) automatically
creates the template (if you let it have its way).
OK next step…incorporating existing ASP.net controls into an
Umbraco website. You see if you can't have your Gridview's or
third-party controls working too on the website then what's the
point. This is another weak area for Umbraco because you can do
this but frankly it's a fag.
Essentially you need to break up all you bits of ASP.net
functionality into "User Controls" or usercontrols. This is really
no big deal for any developer that has been coding for a while. In
essence you identify the functionality you want to create and place
inside Umbraco. Create a New Web Application in VS2005/8, Create a
new UserControl, write you code as normal with code behind, build
the code and transfer .ASCX file and DLL to Umbraco where you
create a macro to access the functionality. You simply insert the
Macro in the template or in the Content page to access the ASP.net
control. A good article that explains it better than me is here
:
http://umbraco.org/media/42a0202c-b0ba-4f84-bcf1-64dfd5230322-usingcontrolswithumbraco.pdf
So now I am going to start creating a new Website with Umbraco
and see how far I get.
The point that I would like to leave with you is not that
Umbraco is good or rubbish, it's the expectation of any software
product these days. DNN has set the bar very high and the various
PHP based CMSs such as Joomla and Drupal are very well established.
I guessed I was expecting too much from Umbraco in retrospect.
Perhaps I'll write a Step by Step user guide so that people after
me get a quick step up.