View Models

One of the first things you'll do when starting a new Redakt CMS project is defining page and content (view) models. These models determine which properties are available for editing on your pages and library items. Most content management systems store these definitions in the database. With Redakt CMS, page and content models are part of your application code instead. They are used as strongly typed models in your view, and will be deployed together with your application.

Throughout the documentation, we use the term page or content 'model'. They are similar to what may be called 'definitions' or 'document types' in other content management systems. We think 'model' is more appropriate, because they are defined in code. However, in the back office user interface, they are called 'page type' and 'content type', because most content managers will likely not be familiar with the more technical term 'model'.

Page Models

Page models determine which properties and sections of content are available for editing. Page sections are displayed as different tabs in the back office application. Page models are created as regular POCO classes. Each property on the page model can be a content editable property in a section, or a section itself, containing one or more content models. They are also used as strongly typed view models in your views. See page models for a more detailed guide on implementing page models.

Content Models

Content models determine which properties are available on a piece of content. Content items can be part of a page section, or they can be shared in a content library. Content models are also created as regular POCO classes, where each property of the model is a content editable property. See content models for a more detailed guide on implementing content models.

Nested Content

Page and content models can themselves contain content models as properties. It is possible to nest multiple levels of content models. Both single models and collections are allowed as nested content. This makes it easy to create complex data structures that are editable in a user friendly way. See nested content for a more detailed guide on implementing nested content structures.