Content types are JSON schemas that define a type of content to be created, including its structure, format and validation rules. In Dynamic Content, content type schemas match the format of the JSON Schema standard, with a few extensions and some keywords that are not supported.
In this section we'll explain how to create your own content types, show how each schema is structured and provide a reference, complete with examples, of each supported property type and validation. We'll also explain how you can combine schemas, so you can share object definitions between content types.
For a quick guide to getting started creating your own content types, take a look at the tutorial banner sample.
In this section
- Content type format page describes the format common to all content types
- Property types are the types such as strings, integers and arrays that make up all content types. This page introduces each property type, together with an example of its use.
- Validations are a way of constraining and validating content, including setting the maximum and minimum number of characters in a string, or the range allowed for a number. Most of the standard validations are supported, but the exceptions are noted on this page.
- Media and content choosers are a convenient way of specifying that a user interface browser is shown to allow users to add images, video or content
- Inline and linked content. Describes how to combine schemas to contain object definitions from external files and how to structure linked content such as a carousel linked to one or more carousel slides.
- Localizing content. How to design a content type to support properties that can be localized
- Tutorial banner sample. Takes you through creating a simple banner with text and a background image. This includes the complete content type and settings
- Carousel sample. An example of a complex linked content type.
Creating and using content types
Content types are stored externally to Dynamic Content as individual JSON files, using whatever hosting service you choose to use. By storing content types externally, we make it a lot easier to share the same content types between different brands of the same organisation, for example and make it easy for you to build up a library of types to use in multiple projects.
In order for content producers to be able to add content of a particular content type, that content type must be registered on a hub. The content type is then enabled on one or more repositories within that hub. So if you have one hub for a collection of brands, with each brand in turn having their own repositories, you can choose which content types are visible to content producers in each repository.
For more information about registering content types see the working with content types section.