Agility CMS's unique approach to Content Modelling enables a robust and consistent way to define, and relate your content with endless possibilities.
Your Content Model is the way that the content (ie: text, lists, images videos, etc.) is set up within Agility CMS, allowing editors to make updates and publish this content with ease, across all your digital products.
Where Agility CMS's best-in-class Editor Experience differentiates itself from other systems, in that it not only allows you to define and relate content, it also integrates with our built-in Page Management. This means you can define content, then control exactly how that content gets used and on which page.
- Not Just for Developers - Customize your content models right in the CMS using our visual builder
- Optimize your Editor Experience - Group fields together, set required fields, default values and much more
- Future Proof your Content - Define structured content that is de-coupled from your presentation layer
- Evolve your Content Model Over Time - Seamlessly switching from editing content to your definition allows for quick updates and promotes iterating on your content models
The Content Model section in Agility CMS is where you can manage your Content Definitions, what UI elements editors can add to a page (Module Definitions), and what areas on the page can they editor manage (Page Templates).
What is in this Article
Agility is equipped with many useful Field Types that can be used to help you successfully model your Content and Module definitions.
Content Definitions are the most important aspect of the Content First approach. You want to think about your content without fixating on where it is going or how it will be used. Make it reusable, flexible, and easy to manage. You first define your content by creating fields, then you can create relationships between other content,
For example, an Author Content Definition may look like:
- Name => [Text]
- Birthdate => [Date]
- Profile Image => [Image]
Modules are similar to Content Definitions in that they have fields and can relate to other content, but a Module is meant to represent a functional UI component that will ultimately render on a website or app. An editor should be able to add a module to a page and it should render some UI and display content based on the fields on the module or its related content.
You can create anything from a simple, structured piece of text, a more complex item, or have any functionality and integrate with other platforms and systems.
For example, you have a Module called Image Slider:
- Number of Slides => [Number]
- Rotation Speed => [Number]
- Slides => [Linked Content Reference to Slides]
A property of that module allows a set number of images to display and you can control the rotation speed. Then you pull in content from Shared Content for the images and text.
Each Page Templates represents a different page layout. You often will have a different definition for a home page, landing pages, and other internal pages. A developer decides how the definition is rendered into HTML.
Each definition has Module Zones which are areas where editors can enter pieces of content. These are called Modules, and they can be added, removed, and rearranged within these zones. The simplest example of a Module is a rich text field that allows for any content you want to be added onto the page.