Workes.ContentSystem
0.2.0
See the version list below for details.
dotnet add package Workes.ContentSystem --version 0.2.0
NuGet\Install-Package Workes.ContentSystem -Version 0.2.0
<PackageReference Include="Workes.ContentSystem" Version="0.2.0" />
<PackageVersion Include="Workes.ContentSystem" Version="0.2.0" />
<PackageReference Include="Workes.ContentSystem" />
paket add Workes.ContentSystem --version 0.2.0
#r "nuget: Workes.ContentSystem, 0.2.0"
#:package Workes.ContentSystem@0.2.0
#addin nuget:?package=Workes.ContentSystem&version=0.2.0
#tool nuget:?package=Workes.ContentSystem&version=0.2.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 bounded FIFO 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.
- Optional attachment points for export, persistence, bridges, and platform-specific integration.
Installation
Install the package from NuGet:
dotnet add package Workes.ContentSystem --version 0.2.0
Or add a package reference:
<PackageReference Include="Workes.ContentSystem" Version="0.2.0" />
The package targets .NET Standard 2.1.
Quick Example
The structure-assigned-ID manager uses an explicit bounded FIFO structure here:
var content = new ContentManager(new BoundedFifoContentStructure());
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
- 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 optional committed-change hooks for structures and managers.