Umbraco

Umbraco is an open-source content management system (CMS) platform for publishing content on the World Wide Web and intranets. It is written in C# and deployed on Microsoft based infrastructure. Since version 4.5, the whole system has been available under an MIT License.

Umbraco was developed by Niels Hartvig in 2000 and released as open source software in 2004. In 2009, CMS Wire described it as one of the leading .NET-based open source CMS systems. In 2010, with 1000 downloads a day, Umbraco was in the top five most popular downloads via the Microsoft Web Platform Installer, two places below its main rival DotNetNuke, and was the 12th most downloaded application from Codeplex, six places below DotNetNuke and 13 places higher than mojoPortal.

Technology
Umbraco is primarily written in C#, stores data in a relational database (commonly Microsoft SQL Server) and runs on Microsoft Kestrel server which can run on Windows or Linux. Umbraco's front-end is built upon Microsoft's .NET, using ASP.NET Core.

Umbraco uses standard ASP.NET features such as ASP.NET "master pages" to facilitate the creation of reusable page layouts, and supports both Razor and XSLT. XSLT has been used for scripting, and in the past there was much debate as to which yielded better performance, since XML has been used for database storage and for the cache file (umbraco.config)

Database tier
In 2008, a data abstraction layer for Umbraco was built, making it possible to support databases other than SQL Server. In version 4.0 of Umbraco, support for MySQL, SQL Server and VistaDB come as standard.

With Umbraco 4.6, released in 2010, VistaDB support was removed, and replaced with support for SQL Server Express and SQL Server Compact Edition, due to licensing issues with VistaDB's parent company.

As of Umbraco 6, support for MySQL has waned, as the development team has spent more time supporting Microsoft's SQL Server products. MySQL 5.6.5 or newer is required to support Umbraco 6.1 or newer.

Umbraco 7 featured a completely revamped back-end administration UI, with the use of AngularJS for a single-page application experience. It has also been announced that they will implement Angular 2.0.

Deployment
The standard release of Umbraco is typically deployed on IIS in an environment which supports Full Trust. While a Full Trust environment is mandatory to install and operate the standard release, the codebase has been branched and modified to produce a version of the framework and backend UI which supports Medium Trust.

Research has also been undertaken on running an Umbraco website on Mono on Linux.

Umbraco can be deployed on a single physical server running the database and web tier, and this deployment model can be appropriate for small low-cost sites. Umbraco sites which serve content under higher load can also be deployed on a load balanced cluster. Load balanced Umbraco installations can use software or hardware load balancers, and load balanced network files can be shared using a SAN, NAS or a cluster file system or using a file replication service between nodes in the cluster.

Releases
Version 4.1 Beta II was released on 16 February 2010 which refactors a number of key components of the framework, including the UI tree control to improve performance and the user experience and parts of the data access layer to reduce the number of database calls.

Version 5 (codenamed "Jupiter") is a rewrite of the framework, built using ASP.NET MVC, published in January 2012. Problems (performance and code complexity) inherent in the architecture of the new Version 5 data access layer led to Version 5 being dropped in June 2012 despite having been released on a commercial license, and development efforts refocused on integrating selected Version 5 front end enhancements into Version 4.

Version 6 was released on 31 January 2013, and was focused on additional support for MVC 4 and a new streamlined API.

Version 7 was released on 21 November 2013. It is updated concurrently with version 6, but provides a redesign of the back-office user interface.

Umbraco 8 was released on 26 February 2019.

Umbraco 9 was released on 28 September 2021. This marks the first version fully on .NET 5 and ASP.NET Core.

Umbraco 10 was released on 16 June 2022. This release brought Umbraco to .NET 6 and ASP.NET Core 6 and SQLite support.

Umbraco 11 was released on 1 December 2022. This release brought Umbraco to .NET 7 and ASP.NET Core 7 and a new Block Grid Editor.

Umbraco 12 was released on 29 June 2023. This release brought a headless API called the Content Delivery API, and support for Entity Framework Core.

Umbraco 13 was released on 14 December 2023. This release brought Umbraco to .NET 8 and C# 12.

Umbraco 14 was released on 30 May 2024. This release brought a new backoffice built in Typescript and Lit, and removed the existing deprecated AngularJS version

Community
2020 - The Umbraco corporation employs over 70 staff and is supported by a core team of over 15 developers who work on the open source core platform. Umbraco's community site, "Our Umbraco", has more than 200,000 registered users and developers. Since 2005, an annual developer conference Codegarden has taken place in or in the region of Copenhagen, except in 2007, when it was held in London. In 2009, the conference had 170 attendees and subsequently took place in Copenhagen in June 2010 and June 2011, then growing to 350 attendees for June 2012 and 2013.. It now takes place in Odense each year and in 2023 had 782 physical attendees and 969 virtual attendees.

In the UK there has been an annual developer conference Umbraco Spark which takes place in Bristol each spring. Umbraco Spark has had over 150 attendees and has been running each year since 2019 (with a 2 year gap during the Covid-19 pandemic). The next Umbraco Spark will be on 8 March 2024.

Reception
In August 2009, Umbraco was included in a list of 10 CMS platforms recommended by the Danish Version2 magazine. Among these were three systems initially developed in Denmark: Sitecore, TYPO3, and Umbraco.