Skip to content

Latest commit

 

History

History
402 lines (303 loc) · 19.5 KB

UmbracoNetCoreUpdates.md

File metadata and controls

402 lines (303 loc) · 19.5 KB
meta.Title meta.Description
Umbraco .Net Core Updates
Updates and information related to the upcoming release of Umbraco on .NET 5+.

Umbraco on .NET 5+

:::note This article is intended for keeping an overview of all the information, official as well as unofficial, currently available on the upcoming release of Umbraco on .NET 5.

Are you aware of some information about Umbraco on .NET 5 that isn't already added to this list? Please feel free to submit a Pull Request by using the Edit this page button at the top of this article. :::

In this article you will find detailed instructions on how to try out and test the current beta version of Umbraco on .NET 5. You will also find a list of relevant links to official as well as unofficial resources on the upcoming release.

Umbraco 9 Documentation

We have started verifying the current documentation against Umbraco 9.

You can find a complete list of all updated articles on the Umbraco 9 Articles page.

News and updates from Umbraco HQ

In this section you will find links to news and updates from the .Net Core team at Umbraco HQ, as well as from the UniCore community team.

Blog posts

Other resources

Community resources

In this section you will find a list of Umbraco .Net Core resources provided by the Umbraco Community.

Community blog posts

Other

Umbraco 9 (.NET 5) Release Candidate

:::warning As this is a release candidate, bugs and minor issues are to be expected.

Found a bug that isn't already reported? Please report it on the GitHub tracker. :::

To get started, follow the steps outlined below.

Prerequisites

  • .NET 5 SDK
  • SQL connection string (MS SQL Server/Azure), unless you want to install using SQL CE (Compact Edition)

Steps to install the Umbraco dotnet new template

  1. Install the new Umbraco dotnet template:

    dotnet new -i Umbraco.Templates::9.0.0-rc002
    

[Optional] Update the template from earlier pre-release versions

If you have already installed the Umbraco dotnet new template, you will need ensure it is up-to-date

  1. Use a command prompt of your choice to update the dotnet new templates

    dotnet new -i Umbraco.Templates::9.0.0-rc002
    

Steps to create an Umbraco solution using the dotnet new template

  1. Create a new empty Umbraco solution using MS SQL Azure/Server:

    dotnet new umbraco -n MyCustomUmbracoProject
    

    Or if you prefer to using SQL CE:

    dotnet new umbraco --SqlCe -n MyCustomUmbracoProject
    

You will now have a new project with the name MyCustomUmbracoProject, or whichever name you chose.

The new project can be opened and run using your favorite IDE or you can continue to use the CLI commands.

Steps to build and run

The following steps, will continue using CLI based on the steps above.

  1. Navigate to the newly created project folder:

    cd MyCustomUmbracoProject
    
  2. Build and run the new Umbraco .Net Core project:

    dotnet build
    dotnet run
    

The project is now running on the Kestrel server and is available on the ports listed in the console.

The next step is to run through the Umbraco CMS installation. If you chose to use MS SQL Server/Azure you will need to add your connection string during this setup process.

Once the installation process is complete you might need to manually restart the application in order to start the application again and get access to the Umbraco backoffice.

Umbraco 9 Nightly Builds

To get the latest nightly builds - the latest version of the Umbraco dotnet template, you will need to add another NuGet source.

  1. Use a command prompt of your choice to insert this custom NuGet feed:
dotnet nuget add source "https://www.myget.org/F/umbraconightly/api/v3/index.json" -n "Umbraco Nightly"
  1. Install the new Umbraco dotnet template

    dotnet new -i Umbraco.Templates::9.0.0-preview*
    

In order to get the latest template from the new source, you will need to use a wildcard symbol like shown above.

Now you can continue in the same way as if you were using the beta version

Package development

Since Alpha 4, we have added a new template to in Umbraco.Templates package which is targeting packages.

To use the new template write:

dotnet new umbracopackage -n MyCustomUmbracoPackage

This generates an empty package with an empty package.manifest. But more importantly it also contains a build/MyCustomUmbracoPackage.targets file.

This file will be included in the NuGet package when using dotnet pack.

The file contains an msbuild target that is executed on build when a project has a dependency to this package. It copies the app_plugin folder into the project. This is required for having Umbraco packages as NuGet packages.

Furthermore, we introduced a new flag on the regular dotnet new umbraco template. You can now write:

dotnet new umbraco -n MyCustomUmbracoProject -p MyCustomUmbracoPackage

This new -P indicates that the solution is a test-site of the package MyCustomUmbracoPackage. It will add a project dependency to MyCustomUmbracoPackage and import the target file from that project. So when you build the new solution, it will also copy the App_Plugins folder from the package project into the solution. In the same way, as if it was a NuGet reference.

Full example

The following example shows how to use the templates in combination

dotnet new umbracopackage -n MyCustomUmbracoPackage
dotnet new umbraco -n MyCustomUmbracoPackage.Testsite -p MyCustomUmbracoPackage
cd MyCustomUmbracoPackage.Testsite
dotnet build

Changes between alpha 4 and beta 1

See tickets tagged on Github for a full overview.

Summary

  • Members
    • Members are updated to ASP.NET Core Identity
    • Member passwords are rolled to a stronger hashing algorithm on member login
    • Members have stored a security stamp
    • Public Access Restrictions is updated to use the new member implementation
  • Events
    • The remaining events are migrated to the new notification pattern
    • Added TreeAlias to tree notifications.
  • Other
    • IUmbracoMapper should be injected instead of UmbracoMapper
    • Features and optimizations from Umbraco 8.13
  • Bugfixes
    • Fix for Can't enable AppData mode for models builder in Alpha4
    • Fix warning logged regarding Antiforgery tokens
    • Fix for problem with models builder and nested content
    • Fix for ContentCacheRefresherNotification is dispatching every 10 seconds FileSystem changes??

Changes between beta 1 and beta 2

See tickets tagged on Github for a full overview.

Summary

  • Breaking changes
    • HideTopLevelNodeFromPath default value changed to to true.
    • All notifications moved to the same namespace to make them easily discoverable
      • More notifications also postfixed with "Notification". ServerVariablesParsing => ServerVariablesParsingNotification.
    • The order of view location changes, so /Views is the first to search.
    • "WebRouting:DisableRedirectUrlTracking" configuration changed from string to bool.
  • Features
    • Added API to validate user creadentials without actually logging them in.
    • Reintroduced missing overloads for GetCropUrl.
    • Enabled Microsoft SouceLink Debugging Feature.
    • Added localizable error descriptors for Users and Members
    • Replaced System.Drawing with ImageSharp when extracting the height and width of uploaded images.
  • Bugfixes
    • Fixed issue with scheduled publishing.
    • Fixed issues where the runtime lever was not used correct.
    • Fixed issue with ModelsBuilder when using inherited Document Types.
    • Fixed issues where the javascript minifier was too agressive.
    • Fixed issue with hardcoded '' as directory separator char (Linux issue).
    • Fixed issue in the Danish translation file leading to error doing install.

Changes between beta 2 and beta 3

See tickets tagged on Github for a full overview.

Summary

  • Breaking changes
    • Examine 2.0 implementation.
    • ModelsBuilder mode names are changed.
      • PureLive => InMemoryAuto
      • AppData => SourceCodeManual
      • LiveAppData => SourceCodeAuto
  • Scope optional parameter ordering
  • Features
    • Restart not required on install.
    • Modelsbuilder InMemoryAuto (PureLive) output is generated in temp folder
    • Latests updated from Umbraco 8.14-RC
  • Bugfixes
    • Fix for unsafe project names; these are no longer unsafe for namespaces.
      • E.g. "Umbraco 9" will now use namespace "Umbraco_9"
    • Resolve virtual paths from DataEditorAttribute. E.g. "~/App_Data/...."

Changes between beta 3 and beta 4

See tickets tagged on Github for a full overview.

Summary

  • Features
    • Added notifications when emails are sent
    • Allow Css / JS assets to be added via c# code in addition to package.manifest
  • Bugfixes
    • Moved extensions methods from HtmlHelper to IHtmlHelper
    • Fixed issue with saving data types
    • Fixed issue with recurring tasks executing too often.
    • Fixed serialization issues with data types
    • Fixed issue with View Model validation failing when using value types
    • Added missing friendly overload for IsAllowedTemplate
    • Fixed issues with the Umbraco dotnet new templates
    • Project name is not set
    • Unattended install info is now json escaped
    • Fixed issue with updating password
    • Fixed issue with members not approved by default when using the build-in macro snippets
    • Fixed issues with MediaPicker3

Changes between beta 4 and rc 1

See tickets tagged on Github for a full overview.

Summary

  • Breaking changes
    • Methods obsoleted in 8.15 removed
    • Route plugin controllers by area
    • RenderController configuration as .NETCore IOptions pattern
  • Features
    • Packages migrations and UI changes to support NuGet packages.
    • 8.15 features
  • Bugfixes
    • Changes the RoslynCompiler to use assemblies resolved from the DependencyContext (Fix for MB InMemoryAuto)
    • Migrated missing surfaceaction extension methods
    • Add RazorCompileOnPublish property to UmbracoProject for template
    • Migrated missing UmbracoAuthorizedController
    • Linux case-sensitive directories (Grid)
    • Render grid editor partial async
    • Render Block List component partial async
    • Use english names for cultures in language CRUD
    • Rebuild Database Cache button does nothing

Changes between rc 1 and rc 2

See tickets tagged on Github for a full overview.

Summary

  • Breaking changes
    • Fixes issues after ImageProcessor or ImageSharp migrations related to querystrings
    • Removed VariationContextAccessor from IUmbracoContext
    • Removed things that was obsolete in latest v8
  • Features
    • Pack the physical files into packages when picking media
    • Changes all collections from collection builders to resolve the concrete instances lazily
    • Updated public IUmbracoBuilder extension methods to allow chaining
    • Adds bundle options to the package manifest
    • Added more common namespaces to _ViewImports.cshtml
    • Updated nuget dependencies
    • Added basic authentication middleware
    • 8.16-RC merged in
  • Bugfixes
    • One overload of GetLocalCropUrl was calling itself recursively
    • Fix issue with runtime hash calculation
    • Fixes issue that the update culture dates were not synced with the version date like they are for the published culture dates
    • Various Typo fixes
    • Fix recursive localize when resetting password
    • Fix drag and drop image upload
    • Fixes various issues related to showing error/validation messages
    • Fixes issue with MultiUrlPicker
    • Fixed race condition with EnsureApplicationMainUrl
    • Fixed issue with BlockLiost thumbnails could be picked in non-browsable folders
    • Fixes for the dotnet new templates, related to publish of Umbraco
    • Added "JetBrains.Annotations" to assembly exclusion list
    • Fixed issue so it doesn't explode when saving content during a migration
    • Fixed issue with CachePartial
    • Fix RedirectToCurrentUmbracoPage when UrlProviderMode is set to "Absolute"
    • Fix Grid editor headline gets encoded twice
    • Fixed issue with public acces, if member didnt have a member group, restricting access to the public would always lead to error page
    • Added missing disposel of Process
    • Avoid mixing using of string interpolation and string formatting in log messages
    • Reduce allocations by using existing CharArrays for TrimStart()
    • Cleanup _inMemoryModelFactory.ModelsChanged event on dispose in RefreshingRazorViewEngine

Umbraco Forms 9 (.NET Core) Beta

On Friday 4th June a beta release of the Umbraco Forms package for V9 was released.

It's available from the Umbraco prerelease MyGet feed used for the CMS betas.

```none
dotnet nuget add source "https://www.myget.org/F/umbracoprereleases/api/v3/index.json" -n "Umbraco Prereleases"
```

And the package name is: Umbraco.Forms.9.0.0-beta002.

With an Umbraco V9 application running rc1, you can install the package with the following command:

dotnet add package Umbraco.Forms --version 9.0.0-beta002

And then restart the web application with:

dotnet run

You'll find the Forms documentation updated where necessary for V9, mostly around configuration and some changes to method signatures when extending Forms with custom workflow and field types.

If you find any issues, we'd appreciate reports at the public issue tracker. If you could please prefix any issues with "V9: " that would be useful to distinguish them from anything raised for other versions.