Sylin.Koan.Web.Extensions 0.8.0

dotnet add package Sylin.Koan.Web.Extensions --version 0.8.0
                    
NuGet\Install-Package Sylin.Koan.Web.Extensions -Version 0.8.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sylin.Koan.Web.Extensions" Version="0.8.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sylin.Koan.Web.Extensions" Version="0.8.0" />
                    
Directory.Packages.props
<PackageReference Include="Sylin.Koan.Web.Extensions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sylin.Koan.Web.Extensions --version 0.8.0
                    
#r "nuget: Sylin.Koan.Web.Extensions, 0.8.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sylin.Koan.Web.Extensions@0.8.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sylin.Koan.Web.Extensions&version=0.8.0
                    
Install as a Cake Addin
#tool nuget:?package=Sylin.Koan.Web.Extensions&version=0.8.0
                    
Install as a Cake Tool

Koan.Web.Extensions

Contract

  • Purpose: Deliver optional HTTP capabilities for Koan Web applications (moderation, audit, soft delete, capability controllers).
  • Primary inputs: Entity models exposed through Koan controllers, capability descriptors, and policy configuration.
  • Outputs: Extension controllers, authorization policies, moderation workflows, and capability metadata for clients.
  • Failure modes: Missing capability registrations, conflicts with custom routing, or policies referencing undefined roles.
  • Success criteria: Extensions register only when needed, controllers expose consistent routes, and policy enforcement remains predictable.

Quick start

using Koan.Web.Extensions;

public sealed class WebExtensionsAutoRegistrar : IKoanAutoRegistrar
{
    public string ModuleName => "WebExtensions";

    public void Initialize(IServiceCollection services)
    {
        services.AddKoanWebExtensions(options =>
        {
            options.EnableModeration = true;
            options.EnableSoftDelete = true;
        });
    }

    public void Describe(BootReport report, IConfiguration cfg, IHostEnvironment env)
        => report.AddNote("Web extensions enabled (moderation + soft delete)");
}
  • Register the extensions in your auto-registrar; they hook into Koan Web controllers without manual endpoint wiring.
  • Use capability attributes to expose moderation and audit features in generated clients.

Configuration

  • Koan:Web:Extensions:EnableModeration – toggles moderation controllers.
  • Koan:Web:Extensions:AuditLogRetention – controls audit retention windows.
  • Koan:Web:Extensions:PolicyMappings – map capabilities to authorization policies.

Edge cases

  • Multi-tenant moderation: ensure capability routes include tenant identifiers to prevent cross-tenant actions.
  • Soft delete conflicts: coordinate with domain logic to avoid double-deleting resources.
  • Authorization policies: missing roles cause 403 responses; confirm policies exist when enabling capabilities.
  • Client regeneration: when enabling new capabilities, regenerate API clients to pick up metadata.
  • Koan.Web – base web framework hosting these extensions.
  • Koan.Canon.Web – can consume capability metadata for orchestration.
  • Koan.Data.Core – used for moderation/audit persistence.

Reference

  • ModerationController – handles moderation workflows.
  • CapabilityController – surfaces capability metadata.
  • WebExtensionsOptions – options class for enabling features.
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Sylin.Koan.Web.Extensions:

Package Downloads
Sylin.Koan.Canon.Web

ASP.NET Core surfaces for Koan Canon built on the new domain runtime.

Sylin.Koan.Web.Auth.Roles

Role attribution layer for Koan Web Auth: policy-backed role stores, attribute wiring, and controller extensions.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.8.0 113 5/16/2026