Dynamic Content- JSON Schema draft 7 support
Release date: 25th September 2019
In this release we've introduced support for the new keywords and string formats included in JSON Schema draft 7. You can now create content type schemas including constants, examples and comments as well as several new string formats. The Schema Editor and content editing form in the production view have been updated to support the new schema features.
On this page we'll provide you with an overview of the new keywords and string formats and provide links to pages with more information and examples.
If you create or edit a schema manually or use the Schema Editor and want to use the new keywords, you will need to edit the value of $schema
to specify that you are using the updated schema vocabulary of JSON Schema draft 7. See the content type schema format page for more details.
ConstantsLink copied!
The const
keyword is used to specify the value of a property and indicate that it cannot be changed. You can use const
with strings, numbers and other property types such as media links. For example, you could specify a set image that is always included with a content type, or some settings that cannot be changed.
You can add const
properties using the Schema Editor by choosing "const" from the "Add Property" menu and choosing to add a text string or a number.
In the example shown below, the shippingcountry property is defined as a string with the value of "United Kingdom". This value cannot be changed by the user.
As with the other new features, to use the const
keyword, you must edit the schema to specify that you are using JSON Schema draft 7 vocabulary as explained above.
For more information about const
and examples of its use see the introducing JSON Schema page.
New string formatsLink copied!
A number of new string formats are now supported including separate date
and time
, json-pointer
and relative-json-pointer
and regex
. The Schema Editor has been updated to include these new formats in the list of suggestions shown when you type control-space when adding the format value to a string.
In the example below a string property is added with the format of date
. The property is shown in the schema preview window.
Note that if you don't specify that your schema uses the JSON Schema draft 7 vocabulary, then if you add one of the new string formats the schema will not validate.
For more information about the new string formats see the strings page.
Examples and commentsLink copied!
The examples
keyword allows developers to include an array of sample acceptable values for a property. These examples are then displayed in the content form in the production view as hints to the user.
In the content form, any properties with examples will be displayed with a "i" icon to the right of the property. Click this icon to display the examples in a pop up window.
The image below shows a string property which uses the date
format. The content type schema includes examples for this property using the acceptable date format- full year, month and day.
Examples don't change the functionality or validation of a schema, but they do provide useful hints to the user.
The values included in the examples for a property are also used to populate the data shown in the "Sample output" window of the Schema Editor.
Comments can be added to a property or at the root level of a schema using the $comment
keyword. They are not shown in the content editing form and do not affect the functionality of the schema. Comments are intended to provide notes to developers maintaining a schema.
For more details of the new keywords see the introducing JSON Schema page.