1 What Relatude.CMS is
Relatude.CMS is a class library with no entry point. Your ASP.NET Core application hosts it: the application starts Relatude.DB, adds the CMS and decides how pages look. The CMS supplies the parts every content site needs.
| Part | What it gives you | Namespace |
|---|---|---|
| Content model | IItem, IPage and the page tree RTree, ITemplate, ISite, users and groups |
Relatude.CMS.Models |
| Content rendering | URL to content, rendered by a view, controller, Razor Page or IResult |
Relatude.DB.CMS.Web.Rendering |
| Settings | a CMS tab per database in the admin UI | Relatude.CMS.Settings |
| Analytics | page views in a custom log, with bot detection and no cookies | Relatude.DB.CMS.Web.Analytics |
| HTML utilities | a fast HTML reader and rewriter | Relatude.CMS.Utils |
| Donations | a donation node type and its admin projection | Relatude.CMS.Models.Donations |
| CMS API | the NodeStore over HTTP as the signed-in user, and the CMS interface |
Relatude.DB.CMS.Api |
| Modules | one feature in one class: its model, settings, routes and interface plugin | Relatude.DB.CMS.Modules |
| TypeScript SDK and plugins | the store and query builder in TypeScript, and the plugin contract | @relatude/sdk, @relatude/ui |
Two packages build on the CMS: Relatude.DB.Ecom (products, orders, carts, pricing) and
Relatude.DB.Marketing (newsletters and deliveries). Each is documented in its own package.
Content types are C# interfaces. Relatude.DB generates the classes, so you declare
IArticle : IPage and never write the class. Relations between nodes are small marker classes, and
every read and write goes through a NodeStore. The Relatude.DB manual explains all three; this
manual assumes them.