Workes.ContentSystem
0.3.0
See the version list below for details.
dotnet add package Workes.ContentSystem --version 0.3.0
NuGet\Install-Package Workes.ContentSystem -Version 0.3.0
<PackageReference Include="Workes.ContentSystem" Version="0.3.0" />
<PackageVersion Include="Workes.ContentSystem" Version="0.3.0" />
<PackageReference Include="Workes.ContentSystem" />
paket add Workes.ContentSystem --version 0.3.0
#r "nuget: Workes.ContentSystem, 0.3.0"
#:package Workes.ContentSystem@0.3.0
#addin nuget:?package=Workes.ContentSystem&version=0.3.0
#tool nuget:?package=Workes.ContentSystem&version=0.3.0
Workes.ContentSystem
Workes.ContentSystem is an engine-neutral backend for storing and organizing extensible content entries.
It is intended to be useful anywhere an application needs an ordered or structured stream of entries: console history, chat, logs, notifications, forum-like views, feeds, audit trails, and custom UI timelines.
Highlights
- Extensible content entries instead of one fixed message shape.
- Pluggable content structures, starting with a configurable sequence structure.
- Structure-assigned and caller-keyed manager workflows.
- Structure-owned entry identity so different storage models can use the IDs that fit them.
- Optional change hooks for observing committed mutations.
- A shared failure and exception model matching the style used in other Workes packages.
- Planned portable snapshots for serialization and state transfer, plus optional attachment points for export, bridges, and platform-specific integration.
Installation
Install the package from NuGet:
dotnet add package Workes.ContentSystem --version 0.3.0
Or add a package reference:
<PackageReference Include="Workes.ContentSystem" Version="0.3.0" />
The package targets .NET Standard 2.1.
Quick Example
The structure-assigned-ID manager uses an explicit sequence structure here:
var content = new ContentManager(
new ContentSequenceStructure(ContentOverflowPolicy.DropOldest(capacity: 200)));
content.Add(new PlainContentEntry(DateTimeOffset.UtcNow, "Server started."));
content.Add(new PlainContentEntry(DateTimeOffset.UtcNow, "Player joined: Workes"));
foreach (ContentEntryRecord record in content.Records)
{
Console.WriteLine($"{record.Id}: {record.PlainText}");
}
For caller-provided IDs, use a keyed manager:
var content = new KeyedContentManager<string>();
content.Add("server-started", new PlainContentEntry(DateTimeOffset.UtcNow, "Server started."));
ContentEntryRecord record = content.Get("server-started");
See the Quick Start for the beginner-first walkthrough.
Documentation
Start here:
Focused guides:
- Content Entries
- Content Identity
- Content Structures
- Content Managers
- Content Changes
- Content Snapshots
- Failures
- Export And Attachments
See the Changelog for release history and migration-sensitive changes.
License
Workes.ContentSystem is available under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Add configurable content sequences with explicit overflow policies.