Umbraco 8 has been in development for several years

With little progress until Umbraco founder Nils Hartvig announced that the development department would focus primarily on v8. Some time has passed, and finally, developers can get acquainted with this new major version.

The long wait was due to large changes in this new major version!

  • The codebase of the CMS will be updated, and some (if not all) legacy code will be removed - this will (finally) free Umbraco from WebForms!
  • A new cache is used, which is no longer based on XML.
  • The back office has changed, and new features have been added, including a native way to manage localisation 

Also, v8 introduces content apps, which offer exciting new opportunities to extend the back-office and to provide new features.

The first look

The first change to the UI can be seen immediately after logging into the back office. Icons have been removed and sections are on a horizontal navigation.

You'll also see that the Developer section is missing. This has been integrated into the Settings section, which now includes a specific area for settings and one for templating.



There are also changes to the back office for the DocumentTypes. The menu now includes three options:

  • Document Type,
  • Document Type without Template
  • Document Type Collection

The latter is a shortcut to create containers and items such as 'NewsContainer' and 'News'. In essence, only the design has changed in this area, the options have remained the same. However, there is a small change to the wording of tabs: this option is now called "Group" instead of 'Tab.' More on that later.



The next change concerns activating or creating languages. There were several ways to do this: either duplicate all pages and build a tree for each language or using packages like Vorto or create a language as a default and/or mandatory requirement. Also, a fallback language can now be defined.


In the latest version of Umbraco localisation is already installed.

Umbraco now makes it possible to create variants of content. Each activated language can now be made available for all content and Umbraco checks which language is set as a default. If new content is created, it will be created in this default language. If you want to publish this, you must also create all variants of the languages that have been marked as Mandatory. With fallbacks, you can decide if a piece of content for Germany is also displayed for Austria.

Variants in Action

You have to decide for each Document Type individually whether you want to use Variants or not. This option is not enabled by default.

Screen Shot 2019 01 21 At 133425
Screen Shot 2019 01 21 At 133425 (1)

The same applies to Properties as they must also be activated individually. This has the advantage that if Properties do not differ from language to language that they need only be set once. These are then used for each variant. Although, this option is only available if Variants have been activated at the Document Type level.

Due to the new Variants and the content apps, the UI for the actual maintenance of content has also changed.

The screenshot shows how both innovations influenced UI. On the one hand, you can see a new drop-down in the field where you can enter the name of the content. This dropdown alternates between the different Variants. Next, you'll notice that the original tabs have been removed and replaced by groups. Each Group is displayed in the content app Content and can be opened and closed like an accordion.

Content Apps

Umbraco inherently brings two Content apps with it. Next to 'Content' is the 'Info'. The Info Content app contains the same information that was previously found in the info tab, which was automatically displayed when editing content. The idea behind these Content apps is mainly to unload the UI. Even content that shows only data, such as Google Analytics or SEO specific data, must be placed in Umbraco 7 tabs populated with custom properties.

Content that has little to no interaction can now be viewed in its own Content app. The best example would be Analytics data or SEO specific data.