Well-Known Member
We have a site built on an old version of umbraco (Your Local Link, Local Business, Local Community, Web Advertising, Website Design). When the site was developed, the company didn't really know what they wanted and the developer by his own admission, wasn't a designer. The end result met the company's needs but as the years have ticked on those needs have changed quite dramatically and we now need to look at updating. The developer has said the original umbraco instal has been heavily modified so simply updating the install isnt an option.

My boss's latest plan is for me to find out what I need to know to be on a reasonable footing to learn how to develop for umbraco (hence this post). The umbraco site itself says a client side (css, html, javascript) knowledge is all thats needed but I cant believe it's that easy. Can anyone fill me in on what I'd need to learn prior to learning how to work with umbraco, what I'd need to learn about umbraco to work on a custom built site and if any of this is possible to self teach? I'm under no illusion that this is not something I can learn in a week or even a month. I know people spend years at university learning ASP.NET etc.. but I'm keen on the idea of learning as much as I can while someones paying me to do so and so any advice would be greatly appreciated.

No, just my sense of humour (what there is of it). Never used it so can't comment :icon_biggrin:
I have actually heard Umbraco being mentioned at my work a few times as we have been competing for jobs. I.e the client we are working with gets a proposal from another company who recommend Umbraco. I have to then explain why I would recommend a PHP based CMS. Its always going to be an apple and oranges situation where they both have their pros and cons. Its like a Mac vs PC debate or Linux vs Windows! At least once recently I had been asked about doing some updates with Umbraco (I actually said no, reasons which I will go into). I have heard a lot of good things about Umbraco though so as a Microsoft based system it seems a good one to learn.

Generally speaking I try not to let things limit myself as a designer / developer at least when it comes to the medium. I.e I work with 3D and video as well as type and web development. When it comes to web development though I would class myself as a front end developer with a working knowledge of PHP and various PHP based CMS'. I think moving onto anything Microsoft/ASP.NET is so fundamentally different to the point that I just don't have any intention to learn at the moment. I just think there is enough on my plate being half decent at my current areas of web development. If you're going to be paid and given time to learn Umbraco then fair enough that makes your situation different to mine. Not sure about you but as I work on a Mac it would require more work setting up the Microsoft testing environment locally if you want to maximise your productivity which means Microsoft IIS for your server rather than an Apache based solution like MAMP. I love how easy MAMP is to use on mac whereas I have had some pain trying to work with Windows based development on a Mac in the past. Then there will inevitably be times when there would need to be able to troubleshoot Microsoft type issues when it comes to testing or deployment. It would be a lot to learn and I'm sure to do any custom things you'll need to be able to at least have some basic understanding how the server side scripts are setup so you can make the necessary changes to them. It would be doable I'm sure but you'll have to spread your knowledge and skills over a wider range of areas. Who dares wins though!?

Don't mean to try and put you off or anything. I guess I am leaving this open for other people to join the discussion and to see what their thoughts are as I don't actually have any first hand experience with Umbraco...

I'm mac based too!! Can you recommend any reasonable alternatives to Umbraco (I'm assuming this is a completely different beast to the likes of Modx, joomla etc..)?
Hi Bigdave!

Thanks for posting! My name is Roger Davies and I work for Simon Antony Ltd based in Stockport (we are an Umbraco certified partner) and I just wanted to say I definitely recommend getting a good handle on how Umbraco works before upgrading. It will definitely require a lot more expertise than simply frontend javascript/css etc. I'll outline some basics here that should help point you in the right direction and hopefully save some time - and I'm always here to offer further thoughts if you have any further questions.

Umbraco does have a fantastic (and enthusiastic!) community so if you have any specific problems try searching which includes a forum (/forum) and also some general documentation (at /wiki)

Upgrading Umbraco

As I'm sure you're aware, Umbraco is a great CMS system, but compared to others (like Wordpress), upgrading is a bit more involved. Firstly, NEVER attempt to upgrade a live website. It will almost certain encounter problems and break in some way - so you really need to have it running locally on your computer so you can easily modify files (such as the web.config and of the other .config files) and modify any of the source for any of the code you use. You could possibly also upgrade a staging version of the website (an exact copy of live, that runs off its own database) if this works better for you.

Second, updates are incremental, meaning you can't necessarily update directly to the latest version, but need to plan which versions you will pass through to arrive at the one you want. It's tricky to offer general advice without knowing the specific version you're running at the moment if you could let me know I can offer some further thoughts.

General Upgrade Process

Generally, once you know which versions you will be upgrading through, the process is to backup everything first (both files and db!) Make a note of what packages are installed (in the 'developer' section) as some will have known dependency problems with later versions - you can find out which by finding that plugin on 'our' website which will often tell you what versions it has been tried and tested with.

Then, download the release of Umbraco you are upgrading to, unpack only the required folders and copy into the website which will be listed on the page for that release (you will need to check the specific release to find this out as it does vary a little. Most will require to copy the 'umbraco', 'umbraco_client', 'install' folders with possibly a few others). To read more about this, I recommend starting here

In some updates there will be database changes - generally you don't need to worry about these ... once you've unpacked the right files and view the website it will give the upgrade screen and take you through this (this is why you need to backup the database first).

You may find that any custom code may break - in later Umbraco versions some of the method you need to call from your code will have changed, some external libraries have been moved into the core and so on - and so you may need to rebuild some of your DLLs from source - so make sure you have this available.

I hope this helps, sorry it's a bit vague, let us know if you get stuck and feel free to get in touch if we can help,

Kind Regards,

Roger Davies
We've been building sites with Umbraco since 2008. The first two years we didn't actually have an in-house .net developer but used MSN to ask the odd question here and there from a friend who used to ask us CSS questions in return. We Had to pick up some XSLT to create macros which are the little chunks of functionality that allow you to do stuff that Umbraco doesn't automatically do out the box. The later versions of Umbraco don't require XSLT but use something called razor which is, without going into detail, a .NET workflow.

In summary to do do anything out of the ordinary, if it's one of the the more recent versions, you'll need some .net expertise. You'll also need some a modicum of expertise in working with IIS and SQL server.

That all said, Umbraco is a damn fine open source .NET based CMS and our clients, pretty much without exception, like it. It's also gone from being relatively obscure to very popular over the last couple of years. One of the things I like about it is the ability to separate the HTML/CSS development from the back end .net development which can speed up development times as you can do it in parallel.

One final comment, our most lucrative contracts tend to be Umbraco based as it's quite widely used by larger organisations both in public and private sector.
After some reading this evening, I think I'd be right in saying that the decision I need to make here is whether I go along with my boss and start learning or whether I push them towards php and start learning that? Either way I'm guessing that javascript is going to be a required first step?

Edge has made an interesting point in that with umbraco you can separate the front and back end development, so potentially a third option could be for me to work on the front end whilst a .net developer builds the back end?..
That's exactly what you can do with Umbraco and when you realise just how easy that separation of concerns is you'll be pleasantly surprised. You will need to get to understand how document types work in Umbraco but that's about it. If you are at the point of choosing between .net and php, all I can say is .net developers earn a lot more by virtue of tending to work on large scale projects with bigger companies. As already stated, our Umbraco work is our most lucrative so career/money wise if you are at the point of choosing I'd opt for .net. If you need any pointers for stuff just pm me.
I have to admit that I did have a quick look on a few job websites to see what kind of money was on offer for .net and .php work.
Cool interesting discussion relating to bigger companies and higher paying projects with Umbraco.

I must admit a lot of the development I have been doing recently has been outside of CMS systems. The last few builds I have done are based on Wordpress. I'm not sure Wordpress has the same clout as a CMS for it to demand certain clients. I would reccomend it where appropriate. The thing was I was suggesting Wordpress for a very typical site which would be totally great with it, yet another agency reccomended Umbraco instead. For the site it would probably make little difference as it was quite a 'standard' project. I have plans to try ExpressionEngine for the next specialist project and also I'm interested in trying ModX one something as that sounds interesting.

Something which is also of interest for me is Ruby on Rails which I've done a few tutorials with. It involves a little bit of setup to get going but its something which fits right into OSX development (i.e all macs come with Ruby by default). I'm not sure what CMS' are out there but Rails its self is a framework which breaks up the various application components since it follows the MVC approach (I believe Umbraco follows this concept too). Its very powerful and an alternative to PHP which doesn't involve going down the Microsoft route. If you've ever heard of 37signals they are the guys who pretty much invented Ruby on Rails and their applications are built using it:
I have a friend who pretty much learnt PHP and .NET but now works as a Ruby / Rails developer. As its seen as quite specialist its quite a well paid area to work in I believe.
Yep, totally agree. To be honest there are are several very good ways of doing things on the web and what I've heard of Expression Engine & ModX all sounds promising. In the end, for better or worse, you have to plump for one and get the best out of it.
You're right it's not a straight choice between PHP and .NET and Rails is, I'm sure, an excellent development framework based purely on the fact I've only ever heard good things about it! Also, as you say it follows the MVC approach and my liking for MVC is entirely selfish - it saves my company time/money.
I've had quite a long conversation with my boss this lunchtime and it sounds like she's wanting me to go down the .net route and redevelop the existing site on a modern version of umbraco rather than start from scratch. Am I right in thinking I need to learn javascript before diving into .net?
No - not at all. I don't see any connection between Javascript which is front end stuff and .NET which is back end. Don't get me wrong, jQuery is pretty essential these days but has no special relationship to .NET or Umbraco. By the way, you may well not be able to upgrade your current version of Umbraco to the latest version, especially if there are two many versions in between.
No - not at all. I don't see any connection between Javascript which is front end stuff and .NET which is back end. Don't get me wrong, jQuery is pretty essential these days but has no special relationship to .NET or Umbraco. By the way, you may well not be able to upgrade your current version of Umbraco to the latest version, especially if there are two many versions in between.

Thats good to know. Its something I need to learn anyway but I was worried about learning enough to get me going. I think we're on v4 of umbraco
Started reading Beginning ASP.NET and working through the pages tutorials on w3schools . I've got to say, it seems to make sense to me so far (I have only got as far as content blocks though).

I still cant help feeling that what I'm learning is wrong somehow. I never saw my web career going down this path and I'm not really sure if its where I want to go? I'm sort of teetering on self employment and the reality is that I won't be picking up any £30k umbraco contracts so I'm potentially just slowing myself down here.
Last edited:
If you are teetering on self employment then that ability to do both backend and front end would be mighty handy - there's also plenty of agency work at decent rates if business is slow. That said, if you aren't actually interested in it then it's probably doomed!
Its not that I'm not interested in backend, more that I'm in no way set up for .net and I'm not really sure how/if I'll be able to use it outside of this one project. when I sit and think about it, it seems that for my own professional development, .php would be the logical route to take.
I think it is worth learning. It helps to have a diverse skill set. Umbraco is rather specialist as not too many agencies seem to offer it so it could give you an advantage especially as a freelancer.