Umbraco. What are the benefits of this content management system (CMS)?

As Umbraco is open source, its code is available to anyone, allowing companies of any size, scale or budget to use it at a reasonable cost.

15-06-2022Ivan ValadaresArticles & Media

Introduction

For most companies it is extremely beneficial to have a content management system (CMS) to facilitate the management of content within their website, in order to keep their content relevant and interesting. One of the main advantages of using the CMS is its autonomy in small content changes – not requiring the intervention of a programmer – it facilitates and enhances the company's internal management.

There are hundreds of content management systems, such as Umbraco, Drupal, Joomla or Wordpress, the latter being the most popular. This article focuses on the Umbraco CMS – its capabilities, advantages and disadvantages compared to other CMS’s. The advantages of the new version 10 will also be highlighted and its novelties will be discussed.

Umbraco is one of the oldest open-source content management systems available on the market, even though it was originally released in 2000. It has a modern look and feel due to constant updates. Umbraco is developed based on the Microsoft ASP.NET MVC Framework and is, among all, the most popular CMS to use this framework.

There are over 400,000 websites (Carlsberg, Peugeot, Sony, Heinz, Vogue, Microsoft, McDonald’s, Mercedes Benz, Amnesty International and others) powered by Umbraco CMS – from startups and charities to global brands.

However, according to w3Techs, these websites represent 0.1% of all websites that use a CMS, thus making Umbraco represent a small market share.

As Umbraco is open source, its code is available to anyone, allowing companies of any size, scale or budget to use it at a reasonable cost. Its development possibilities are limitless, and can be used to build almost any type of web application - intranet's, business portals, online stores, complex websites, web solutions with lots of integrations - or even just personal websites or blogs.

 

Development

Umbraco was conceived in order to facilitate and shorten the time of the programmer's tasks, consequently speeding up the development of projects. It includes some unique features and out-of-the-box functionality such as:

  • Simple multilingual management. It facilitates the translation of pages and establishes an approval process for publication.
  • A powerful search (Elastic Search).
  • Multi-user and profile support.
  • Management of usage permissions and publishing options. There is full control over granting specific access to editors and user groups both at the Backend and Frontend levels.
  • SEO functionality. These ensure you get the most out of your marketing plans. SEO is critical to success in cases like online stores.
  • Image editor. By uploading images it is possible to immediately optimize them for the required areas and even change their focal point.
  • Sophisticated preview. You can see how a page will look across multiple screens/devices before publishing it.
  • Scheduling, rollback and audit-trail.
  • Form Builder, which allows you to build forms visually without using any code.
  • A long list of extensions. These provide useful features to projects and can be mixed between them.

 

Technical flexibility

Umbraco is built on Microsoft's ASP.NET MVC framework, a robust infrastructure that is both extensible and flexible, making essentially everything possible during the development of a solution, while also being future-proof for the continuous development of features.

Umbraco leverages all the features that this framework offers, such as allowing complex forms and data validation to be implemented easily and in a modular way. The ASP.NET MVC design pattern is best suited for modern web development, it primarily encourages separation of concerns (SoC), a concept that improves the extensibility and maintainability of the system. This means that new developments or changes can be made without worrying about changing current features.

Using this framework makes Umbraco very secure compared to most CMS platforms, as it implements the CAS (Access Security Code) security mechanism, making its security based on identity.

Microsoft's 'strongly typed' languages ​​allow programmers to catch errors early at compile time, as well as create unit tests to validate that site components are working as expected.

 

Content editing

The interface contains all the features you'd expect from a modern CMS - it's intuitive and makes the CMS editing experience smooth and responsive.
The user experience is traditional, as it works similarly to the Windows file manager. It has a flexible content editor and is quite simple to use. The content is organized in a tree-like structure that gives you a hierarchy and makes your content easy to find.
Adding custom document types (example: news articles, home pages) is simple. Compositions, which are custom sets of fields that can be included on pages, help save time and effort for pages that use the same fields. The field editors are built in AngularJS allowing their customization.

 

Integration with other platforms

A modern CMS needs to work together with a variety of software. Umbraco is flexible enough to efficiently integrate with all types of applications and platforms, such as:

  • Web analytics and statistics tools - to collect data about online traffic and website visitors (eg Google Analytics, Adobe Analytics).
  • CRM Platforms - to manage customer relationships (eg Salesforce, SugarCRM, Microsoft Dynamics).
  • ERP systems - to manage internal processes such as accounting, invoicing, or payroll (eg SAP Business One, Oracle E-Business Suite).
  • Payment gateways - to create secure payment pages, process transactions (eg PayPal, PayU).
  • Social networks - to share content on social networks (eg Facebook, Twitter, LinkedIn).
  • Email marketing software - to create, send, and follow email newsletters (eg MailChimp, SendGrid).
  • Marketing automation tools - to manage Inbound Marketing (eg HubSpot, Marketo, Eloqua, Pardot).
  • Customer service software - to automate customer service (eg Zendesk, Freshdesk).
  • Business intelligence services - to manage business data and statistics.
  • SOAP/REST APIs - to link with other software via API or web services.

 

Headless CMS

Umbraco can function as either a monolithic CMS or a Headless CMS. In the second case, it allows building a highly scalable and modular content delivery system. Instead of presenting the pages by themselves, it makes the information available through a REST API to be consumed, rendered and used by other applications – which can be mobile or web interfaces in modern technologies such as React, Angular or Vue.

 

Performance and Scalability

When properly configured, Umbraco has high performance as it uses caching and indexing to optimize its performance and content delivery. Constant improvements and optimizations of the codebase help ensure that it works as quickly as possible for both CMS users (which is great for managing a large number of pages) and Frontend users on all modern browsers and devices. In the latest versions (v8,v9), the code base has been reworked and includes a new caching approach to improve performance, reliability and stability.

 

Documentation and community

Umbraco provides detailed and up-to-date documentation about its API. When using it is not enough to overcome different problems and barriers, it is possible to resort to the support of a large active community where people share their knowledge and experience.
Although the code is open-source, it is also possible, when necessary, to have the technical support of the Umbraco Team.

 

Expandable & fast

Umbraco's performance becomes more evident when there are high volumes of users accessing it and it is installed in the cloud on servers with advanced configurations. Umbraco can be configured in a load balanced environment across multiple websites and is also available as a cloud service, which means it can be easily scaled - ensuring that the application is always able to meet the demands it is faced with.

 

Disadvantages

Like any product on the market, Umbraco also has some disadvantages compared to its competitors. These being:

  • Development time. Umbraco has a fast learning curve for its existing base features. But when it is necessary to develop new features and integrations, the custom code ends up taking longer;
  • Extensions. There is a long list of extensions, but most are not compatible between versions of Umbraco and the amount is much lower than other CMS's such as Wordpress;
  • Page builders. Umbraco is more aimed at programmers, sometimes lacking functionality for other types of profiles, such as page builders;
  • AngularJs. It's great to be able to customize or create components in Umbraco using Angular, but while Umbraco has been keeping up with the latest versions of ASP.NET, as far as Angular is concerned, it's still in the JS version (1.1. latest from Angular is 13;
  • Performance. Many sites developed in versions prior to Umbraco 8 are slow both from the point of view of editing content and the front-end user.

 

Umbraco 8 vs 9

For the first time, and as one of the few CMS' on the market, Umbraco is fully developed in .NET 5 and ASP.NET Core. .NET 5 was built from the ground up with performance in mind. It takes advantage of new hardware and software architecture in a way that older frameworks do not. And since Umbraco is on .NET 5, it now also reaps these improved performance benefits.

With this evolution, Umbraco is now easier to learn and maintain, as well as more flexible and easier to develop than ever before. It allows developers to take full advantage of not only API and service improvements, but also the performance improvements provided by Microsoft ASP.NET Core. This grants you access to new technologies like Hosted Services, Razor TagHelpers, MSDI Microsoft Dependency Injection, View Components and .NET CLI.

Due to the notable performance gains in the new framework, Umbraco solutions are even faster, less resource intensive, and more scalable.

Depending on the operations you are doing, this can mean a 100s (if not 1000s) percentage increase in performance compared to older versions of Umbraco. In addition, hardware-level scalability is much more powerful and effective.

The use of .Net 5 made Umbraco Cross-Plataform compatible with all platforms that work with .NET Core, such as macOS and Linux. It no longer has only hosting on Windows machines and now has a wider range of options, which can even be installed, for example, on a Raspberry PI. As a programmer, it is possible to use other code editors for non-Windows systems, such as Rider.

The move to .NET Core is a game-changer, it brings a number of benefits and ensures a solid foundation to remain technologically relevant for years to come, making Umbraco adaptable to the technological future.

In order to support this change, the most important extensions, such as USync, have been revised and updated to be compatible with version 9 and the documentation has been revised and updated.

 

Umbraco 10 news

On June 16, 2022, what is considered the best version of Umbraco is released, with significant changes. With this release, updates to the well-known Umbraco Forms 10 and Umbraco Deploy 10 extensions are also available, among a long and extensive list of community-supported extensions. Among the novelties, the following stand out:

  • Full migration to .NET 6;
  • Possibility of using SQLite database;
  • Ability to use “nullable reference types” in the platform API endpoints;
  • Long Term Support (LTS) categorization, thus ensuring a guarantee of stability and evolution.

The release cadence has now been updated and shared with the community, with minor versions every six weeks, and major versions every six months. Thus, version 11 is scheduled to be released in December, already adapted to the new .NET 7.

 

Conclusion

At this point, Umbraco is a mature CMS with a solid code base that makes it the ideal solution for those who want to have control over all aspects of the CMS, and also for the development of highly customized, unique and functional solutions. It is a business solution that is open to infinite possibilities making possible end products that look and function exactly as intended.