Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 50 additions & 2 deletions 16/umbraco-cms/extending/packages/creating-a-package.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ You can specify package metadata directly in the `csproj` file. Here, is an exam
```xml
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
. . .
. . .
<Title>CustomWelcomeDashboard</Title>
<Description>Custom welcome dashboard for Umbraco.</Description>
<PackageTags>umbraco plugin package</PackageTags>
Expand Down Expand Up @@ -282,7 +282,7 @@ public class CustomPackageMigration : PackageMigrationBase
IShortStringHelper shortStringHelper,
IContentTypeBaseServiceProvider contentTypeBaseServiceProvider,
IMigrationContext context,
IOptions<PackageMigrationSettings> packageMigrationsSettings)
IOptions<PackageMigrationSettings> packageMigrationsSettings)
: base(
packagingService,
mediaService,
Expand All @@ -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<PackageMigrationSettings> 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>)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,22 @@

<details>

<summary>Umbraco 16</summary>

**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.

Check failure on line 28 in 16/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [UmbracoDocs.Acronyms] 'MIT' has no definition Raw Output: {"message": "[UmbracoDocs.Acronyms] 'MIT' has no definition", "location": {"path": "16/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md", "range": {"start": {"line": 28, "column": 213}}}, "severity": "ERROR"}

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.

</details>

<details>

<summary>Umbraco 15</summary>

**Snapshots are removed**
Expand Down
23 changes: 22 additions & 1 deletion 16/umbraco-cms/reference/configuration/loggingsettings.md
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
}
}
Expand All @@ -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`.
Loading