cCoder.DocumentManagement
2026.9.12.1258
dotnet add package cCoder.DocumentManagement --version 2026.9.12.1258
NuGet\Install-Package cCoder.DocumentManagement -Version 2026.9.12.1258
<PackageReference Include="cCoder.DocumentManagement" Version="2026.9.12.1258" />
<PackageVersion Include="cCoder.DocumentManagement" Version="2026.9.12.1258" />
<PackageReference Include="cCoder.DocumentManagement" />
paket add cCoder.DocumentManagement --version 2026.9.12.1258
#r "nuget: cCoder.DocumentManagement, 2026.9.12.1258"
#:package cCoder.DocumentManagement@2026.9.12.1258
#addin nuget:?package=cCoder.DocumentManagement&version=2026.9.12.1258
#tool nuget:?package=cCoder.DocumentManagement&version=2026.9.12.1258
cCoder.DocumentManagement
cCoder.DocumentManagement contains the Document Management domain for the cCoder platform. It provides folder, file, file-content, and folder-role functionality that can be consumed directly as a domain package or hosted through the standalone web app.
View the latest main-branch code coverage report
Local Configuration
The Web app binds the complete configuration root to
DocumentManagement.Web.Models.AppConfiguration. The application composition
root then registers each required domain side by side: CoreData,
DocumentManagement, SecurityData, Security, and Eventing.
Persistence belongs to the Data domains. DocumentManagement contains only
Document Management behavior, while CoreData owns its database connection and
migrations. Likewise, SecurityData owns the Security database and Security
contains authentication behavior. Leave secret values empty in
appsettings.json and define these as user-level or machine-level environment
variables:
CoreData__ConnectionStringSecurityData__ConnectionStringSecurity__DecryptionKeyEventing__ServiceBus__ConnectionStringwhenEventing__ProviderTypeisServiceBus
CoreData__AdminConnectionString and
SecurityData__AdminConnectionString are optional migration-only overrides. If
an admin connection is configured, startup migrations use it and normal runtime
operations continue to use the regular connection. If it is omitted, migrations
use the regular connection.
Library consumers register persistence and behavior explicitly at their own
composition root: call AddData, AddSecurityData, AddSecurityWeb, and
AddDocumentManagementWeb with their matching configuration objects. An
application that consumes cCoder.Core should use Core's composite API instead;
Core deliberately composes its configured child domains recursively.
Restart Visual Studio, select the Web startup project, and press F5. No configuration conversion step is required.
Functionality
- Folder management: create and maintain application-owned folder trees with path hooks and optional parent folders.
- File management: manage files inside folders, including path, MIME type, description, size, and creator metadata.
- File content management: manage versioned content records under files.
- Folder roles: grant roles access to folders through the folder-role relationship.
- DMS and WebDAV endpoints: expose document operations through the web host for API and WebDAV-style access.
- Manual test UI:
/tools/index.htmlprovides a lightweight CRUD surface for folders and their children. Folders are managed as aggregate roots; files and folder roles are managed inside the selected folder, and file content is managed inside the selected file. - Operational health:
/HealthreturnsOKfor simple host checks.
Contents
src/cCoder.DocumentManagementThe main library package published to NuGet.src/DocumentManagement.WebThe standalone web host for the Document Management domain.src/cCoder.DocumentManagement.TestsUnit tests for the domain.src/DocumentManagement.AcceptanceTestsAcceptance tests for the standalone host.
Build
dotnet build src/cCoder.DocumentManagement.slnx -v minimal
Test
dotnet test src/cCoder.DocumentManagement.slnx -v minimal --no-build
The solution test run includes unit and acceptance tests. Acceptance tests actively call the hosted HTTP surface, including /Health, the manual tools shell, OData endpoints, DMS middleware, and WebDAV middleware.
Run Locally
dotnet run --project src/DocumentManagement.Web/DocumentManagement.Web.csproj
Useful local endpoints:
/redirects to/tools/index.html./tools/index.htmlopens the manual domain tester./swaggeropens the API explorer./HealthreturnsOK.
Package
The NuGet package produced by this repository is:
cCoder.DocumentManagement
Publishing
GitHub Actions is configured to publish the main package using NuGet trusted publishing.
Before the first publish, configure a trusted publishing policy on nuget.org for:
- Repository owner:
ccoder-co-uk - Repository:
cCoder.DocumentManagement - Workflow file:
publish.yml
The workflow also expects a NUGET_USER repository secret containing the nuget.org profile name used during trusted publishing login.
| Product | Versions 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. |
-
net10.0
- cCoder.Data (>= 2026.8.28.1700)
- cCoder.Eventing (>= 2026.8.27.1708)
- Microsoft.AspNetCore.OData (>= 9.5.0)
- Microsoft.EntityFrameworkCore (>= 10.0.11)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.11)
- Swashbuckle.AspNetCore.SwaggerGen (>= 10.2.3)
- System.Linq.Dynamic.Core (>= 1.7.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on cCoder.DocumentManagement:
| Package | Downloads |
|---|---|
|
cCoder.Core
cCoder.Core |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.9.12.1258 | 54 | 9/12/2026 |
| 2026.9.10.1724 | 93 | 9/10/2026 |
| 2026.9.9.1012 | 120 | 9/9/2026 |
| 2026.9.8.2237 | 79 | 9/8/2026 |
| 2026.8.28.2124 | 207 | 8/28/2026 |
| 2026.8.27.1752 | 114 | 8/27/2026 |
| 2026.8.26.2241 | 140 | 8/26/2026 |
| 2026.8.21.858 | 129 | 8/21/2026 |
| 2026.8.10.1854 | 228 | 8/10/2026 |
| 2026.8.10.1843 | 92 | 8/10/2026 |
| 2026.8.10.1419 | 104 | 8/10/2026 |
| 2026.8.10.1316 | 108 | 8/10/2026 |
| 2026.8.8.1728 | 106 | 8/8/2026 |
| 2026.8.5.125 | 250 | 8/5/2026 |
| 2026.8.4.2220 | 154 | 8/4/2026 |
| 2026.8.4.3 | 268 | 8/3/2026 |
| 2026.8.3.2111 | 108 | 8/3/2026 |
| 2026.8.3.1732 | 110 | 8/3/2026 |
| 2026.8.2.1357 | 173 | 8/2/2026 |
| 2026.8.2.1234 | 111 | 8/2/2026 |