Quick editors note: as corrected by Niels Hartvig, the course in Denmark for level 1 certificate in Umbraco costs 900,00 € +tax and not over 2.000 as previously stated. Apologies for the mistake.
I spent this entire week working with Umbraco 5 and it’s about time to sum up my experience with this Danish-made CMS system. Let’s start with some background information. Before Monday my only knowledge of Umbraco was that it existed, was free and was based on .NET technology. So you can see that I did actually begin from scratch.
You can learn more about the CMS here but let me just tell you what I’ve learned this week:
Umbraco is organized into 3 parts (and this is just a simplification to explain things to you):
- Nodes (which are either pages or page elements depending on the complexity of the design) – these are the elements that basically constitute your website. Website admin creates or deletes nodes and edits their content.
- Document Type – here is where you decide what kind of content is allowed on particular type of pages. For example About Us page could have a document type of Text Page and thus be allowed to have Heading, Body Text and an Image while at the same time Menu page is of type List and is only allowed to have a Heading and a List. It is totally up to the developer of the website what document types to create, how to call them and what to put into them. It is then up to the admin of the website to assign this or that type to the page he is just creating.
Once you understand the relationship between these three elements you are well on your way to creating your website. Unfortunately, there a few obstacles on your way.
1. Razor Code
Umbraco website claims that the only thing you need to know to start creating your website is HTML and CSS. And this is true but only to a very small extend. After all you do not use CMS to have to hard code your navigation. And if you want to have you navigation update automatically when you create new page, you need to know Razor (or asp syntax if you are using previous versions of Umbraco). And any more complicated juggling with the content/data will definitely require a well-versed developer. This also apply to more complex website layouts.
This of course is a trade of because it means that Umbraco is very flexible and you have total control over the code. Nevertheless some ready-made snippets of code for the most obvious functionality that repeat on nearly every website would definitely be an improvement.
2. Serious Lack of Resources
While there are some materials for Umbraco 4 there is pretty much nothing for Umbraco 5. And the difference between the versions is major and concerns pretty much the most difficult part (Razor code). And even for Umbraco 4 some information is either missing or is buried so deeply that it is nearly impossible to find. And I mean basic information such as where is the root folder and what path to use to reference your .css file. There is one book on Umbraco so maybe some more info is there but it just seems to me that basic information like these should be front and center on Umbraco Wiki.
One explanation to this situation might be that the company behind Umbraco organizes courses that are fairly expensive (900,00 € +tax for level 1 course in Denmark) and so they are not interested in having free resources online. But then what is the point of making Umbraco free and trying to market it to regular users? Umbraco will have hard time becoming a go-to CMS if the learning curve is so steep and there is nothing to help you climb it.
Umbraco 5 still have a serious amount of bugs and little quirks. This of course will get ironed out in the process but right now it is still slightly annoying.
Umbraco is definitely a powerful tool to have in your toolbox, especially if you work in Denmark where the CMS is gaining more and more recognition. However the investment of time and resources into learning the system is rather substantial so it is probably not a CMS for everyone.
I am pretty excited about getting to know it more, possibly also because it is challenge.