The namespaces have two roots. Models, settings and utilities are under Relatude.CMS; the
request, rendering, analytics, the CMS API and modules under Relatude.DB.CMS. ICountry is in
Relatude.CMS itself, and the setup methods are global. The API reference
gives each type's namespace.
Datamodel sources match namespaces exactly.Relatude.CMS.Models covers neither
Relatude.CMS.Models.Donations nor Relatude.CMS.
AddNamespace<IItem>() adds the CMS's users and groups too. Use AddCmsContentModel(), and
give AddNamespace only a namespace that holds nothing but node types.
A page type declares no Parent or Children. Every page has them already, as the ends of the
page tree, and the datamodel refuses a second declaration. Give the ends of another tree other
names (chapter 3).
Proxies and compression come first.UseForwardedHeaders() and UseResponseCompression() go
before UseRelatudeCMS().