Getting started with Umbraco CMS Development
I frequently receive e-mails from developers who are new to Umbraco asking for advice on how to get started with Umbraco development. Today's post will attempt to answer that question for anyone new to Umbraco and wants to learn how to become an Umbraco ninja in no time.
PrerequisitesUmbraco CMS is developed on Microsofts ASP.NET technology stack. Unlike a lot of other CMS systems, it is possible to do a lot with Umbraco without knowing a lot about .NET or how to code. if you want to , you can create templates, data types, and macros all within the Umbraco back-end (although this might not be considered best practice), however, in order to get the most out of Umbraco you will either need to be proficient in .NET, or you have access to someone who is. If you don't have any programming skills and you don't know anyone who is proficient, please get in contact with me, via the 'Contact' link above, as I regularly help companies find the right Umbraco resources. At the time of writing, Umbraco has been around for over a decade and has massively improved over the years, installing Umbraco via Nuget makes upgrading a lot similar. Umbraco can be developed with MVC, or the 'classic' web forms model. Umbraco 7 saw the release of an improved backend UI, improved performance tweaks and better support for load balancing.
Familiarize Yourself With Umbraco CMSThe first step in mastering any CMS system is to download Umbraco and get to know the product, what features it provides out the box, what features you will need to implement yourself and how the back-end is organized. If you are completely clueless about installing Umbraco, then I would suggest reading one or more of these articles:
- Installing Umbraco 7 In Visual Studio Via Nuget
- How To Install Umbraco 7 Manually
- How To Install Umbraco 7 In Less Than 5 Minutes
- How To Host Your Umbraco Websites
Become A Content Editor For A DayAfter installing Umbraco CMS, you may be tempted to jump straight in head-first and start coding. Instead, I would recommend familiarising yourself with how Umbraco works from a content editor's perspective. I've worked with a lot of companies where the developers have been working with Umbraco for a few weeks but still don't really understand the full capabilities of the platform. If you've read enough of my online babble, you will know I rank creating a slick and smooth back-end experience for content editors as one of the highest ranked deciding factors whether a company decides if your project was successful or not. The content editors are the people who will be using Umbraco day-in-day-out. If you architect your solution in a way that makes it hell on earth for them to use, they will complain to the business and before long, a company might completely re-platform and scrap all your hard work. This step of learning Umbraco as a platform is very often overlooked as it might seem obvious, or boring, but by spending some time and figuring it out will help you get to know some of the basic concepts of Umbraco CMS. To make your life as easy as possible, Umbraco provides an Editor’s Manual that you can download from here. You don’t have to read through it all like War and Peace, but you should definitely skim it and make sure you understand and try out the basic concepts.
DevelopmentOnce you have Umbraco installed locally and you have familiarised yourself with how the backend works, you can now focus on writing some code and building your website. You can do this in one of several ways. First, if you have the sample site installed you can have a look through the code and get a feel. If you don't know which sample site to use, you can always download my Umbraco Sample Site, available here. Topics I'd recommend looking into include:
- How the Umbraco pipeline works
- How route hijacking works
- How To Get data via the API
- How To Write an Umbraco Macro