In Cortex CMS, a
ContentTypeallows a superadministrator to model what kind of content gets delivered to the consuming application - your corporate or personal blog, resource center, marketplace, website and so on.
Unlike systems that hardcode your basic content types out of the box - Blogposts, Media, etc. - and require you to create tightly coupled plugins to mix in additional functionality, Cortex CMS allows you to compose your content types from the ground up, specific to each business case. To accomplish this, you combine the necessary
FieldTypesthat make up your content. Every
FieldTypeavailable for use is provided as part of a plugin, allowing you to extend the system without directly modifying the 'core' platform.
Once a content creator has created actual content based on a
ContentType, it is saved as a
ContentTypes, superadministrators make use of individual
FieldTypes, which can provide anything from input fields with types such as Text, Boolean, User, Media to static text, informative widgets, video & data previews, and much more.
Once a content creator has created content based on a
FieldItemis created for each of the
FieldTypesthat make up the
Content creators expect a creation experience that properly utilizes screen real estate, is informative, and can be reconfigured based on new business needs and challenges. Unlike systems such as Drupal, which simply stack each
FieldTypeadded to a
ContentTypeone after the other in a giant, vertical view, Cortex CMS allows superadministrators to design the create/edit/index experience by way of
Decorators. These are simple JSON objects that, based on their
Decoratortype, adhere to a documented schema.
There are currently two primary
Decoratortypes (though more can be added via plugins):
Index. By setting the type to
Wizardand adhering to its documented schema, a superadministrator can set up a CRUD interface that that can drop
Fieldsinto a flexible, responsive grid, configure individual
FieldTypesfor display to the content creator, toggle a WYSIWYG editor, apply CSS classes directly to the rendered
Field, utilize the data from one
Field, and so on.