diff --git a/16/umbraco-cms/extending/packages/creating-a-package.md b/16/umbraco-cms/extending/packages/creating-a-package.md index c11745c70ac..6f3e5a0d1ee 100644 --- a/16/umbraco-cms/extending/packages/creating-a-package.md +++ b/16/umbraco-cms/extending/packages/creating-a-package.md @@ -124,7 +124,7 @@ You can specify package metadata directly in the `csproj` file. Here, is an exam ```xml - . . . + . . . CustomWelcomeDashboard Custom welcome dashboard for Umbraco. umbraco plugin package @@ -282,7 +282,7 @@ public class CustomPackageMigration : PackageMigrationBase IShortStringHelper shortStringHelper, IContentTypeBaseServiceProvider contentTypeBaseServiceProvider, IMigrationContext context, - IOptions packageMigrationsSettings) + IOptions packageMigrationsSettings) : base( packagingService, mediaService, @@ -302,6 +302,54 @@ public class CustomPackageMigration : PackageMigrationBase } ``` +If your migration step has a requirement for asynchronous work, you can also inherit from `AsyncPackageMigrationBase`: + +```csharp +using Microsoft.Extensions.Options; +using Umbraco.Cms.Core.Configuration.Models; +using Umbraco.Cms.Core.IO; +using Umbraco.Cms.Core.Models.Membership; +using Umbraco.Cms.Core.PropertyEditors; +using Umbraco.Cms.Core.Services; +using Umbraco.Cms.Core.Strings; +using Umbraco.Cms.Infrastructure.Migrations; +using Umbraco.Cms.Infrastructure.Packaging; + +namespace Umbraco.Cms.Web.UI.Custom.PackageMigration; + +public class CustomPackageAsyncMigration : AsyncPackageMigrationBase +{ + + public TestMigrationStep2( + IPackagingService packagingService, + IMediaService mediaService, + MediaFileManager mediaFileManager, + MediaUrlGeneratorCollection mediaUrlGenerators, + IShortStringHelper shortStringHelper, + IContentTypeBaseServiceProvider contentTypeBaseServiceProvider, + IMigrationContext context, + IOptions packageMigrationsSettings, + IUserGroupService userGroupService, + IUserService userService) + : base( + packagingService, + mediaService, + mediaFileManager, + mediaUrlGenerators, + shortStringHelper, + contentTypeBaseServiceProvider, + context, + packageMigrationsSettings) + { + } + + protected override async Task MigrateAsync() + { + // Use await for asynchronous work. + } +} +``` + Here we also added the ZIP file as an embedded resource to the package project. ![ZIP as an embedded resource](<../../../../10/umbraco-cms/extending/packages/images/embeded-resource-props (1).png>) diff --git a/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md b/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md index e0d59217ade..a973e25fbdb 100644 --- a/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md +++ b/16/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md @@ -19,6 +19,22 @@ Use the [general upgrade guide](../) to complete the upgrade of your project.
+Umbraco 16 + +**TinyMCE is removed** + +In Umbraco 15, two property editors were available for a rich text editor: TinyMCE and TipTap. + +With Umbraco 16, only TipTap is available as an option out of the box. TinyMCE's [change of license](https://github.com/tinymce/tinymce/issues/9453#issuecomment-2327646149) precludes us from shipping it with the MIT-licensed Umbraco CMS. + +When upgrading to Umbraco 16, any data types using TinyMCE will be migrated to use TipTap. + +To continue to use TinyMCE, a third-party package must be installed prior to the upgrade. This will disable the migration and allow you to continue with TinyMCE. + +
+ +
+ Umbraco 15 **Snapshots are removed** diff --git a/16/umbraco-cms/reference/configuration/loggingsettings.md b/16/umbraco-cms/reference/configuration/loggingsettings.md index 5a4eb24d4cf..f3357d30fb9 100644 --- a/16/umbraco-cms/reference/configuration/loggingsettings.md +++ b/16/umbraco-cms/reference/configuration/loggingsettings.md @@ -13,7 +13,9 @@ The following configuration is available in the Logging settings: "CMS": { "Logging": { "MaxLogAge": "2.00:00:00", - "Directory": "~/CustomLogFileLocation" + "Directory": "~/CustomLogFileLocation", + "FileNameFormat": "UmbracoTraceLog.{0}..json", + "FileNameFormatArguments": "MachineName" } } } @@ -30,3 +32,22 @@ To increase the maximum age of the entries in the audit log to 48 hours (2 days) By default, all log files are saved to the `umbraco/Logs` directory. You can define a custom directory for your log files by using the `Directory` key in the Logging settings. Set the value to `~/LogFiles` to add all log files to a `LogFiles` directory in the root of the file structure. + +## FileNameFormat + +The default file name format for the Umbraco log file is `UmbracoTraceLog.{0}..json`. The single argument is replaced at runtime with the server's machine name. + +If you want to change the file name or include additional arguments, you can amend the format with the `FileNameFormat` setting. + +## FileNameFormatArguments + +By default the single argument for the log file format name is the server's machine name. + +Other or additional arguments can be provided via the `FileNameFormatArguments` setting using a comma-delimited string: + +- `MachineName` - the server's name. +- `EnvironmentName` - the ASP.NET environment name such as "Development" or "Production. + +So for example, to provide both supported arguments you would configure `MachineName,EnvironmentName`. + +The number of arguments provided should match the placeholders in the configured `FileNameFormat`.