2.7 KiB
2.7 KiB
Table of Contents
Schemas
Schemas define both the shape of your data and how the UI on the admin will behave.
There are 3 types of schemas
- Collections: Normal data
- Files: Images and files
- Block: Used in the block editor
Collection Reference
- name: The ID of the collection. Camelcase and plural is the recommended format ex. blogPosts
- label: The friendly name of the schema
- type: The type of the collection. Should be "collection"
- visible: An array of field id to show on the content browser optional
- groups: A list if group ids to separate your field in different tabs optional
- fields: The list of your fields. Look the field reference for more
- isEntry: If this schema is important, it will show be visible on the main the sidebar. Default: false optional
- sortBy: The default sorting in the content browser optional
- cardTitle: Mustache code to customize the preview field optional
- cardImage: Field name of image you want to use as a preview image optional
- revisions: How many revisions are going to be kept for each record optional
- read: Array of user groups that have read permissions optional
- write: Array of user groups that have write permissions optional
Files Reference
- name: The ID of the collection. Camelcase and plural is the recommended format ex. blogPosts
- label: The friendly name of the schema
- type: The type of the collection. Should be "files"
- path: The relative directory that these files will be stored.
- groups: A list if group ids to separate your field in different tabs optional
- fields: The list of your fields. Look the field reference for more
- isEntry: If this schema is important, it will show be visible on the main the sidebar optional
- sortBy: The default sorting in the content browser optional
- cardTitle: Mustache code to customize the preview field optional
- revisions: How many revisions are going to be kept for each record optional
- read: Array of user groups that have read permissions optional
- write: Array of user groups that have write permissions optional
A full Collection example without the fields:
{
"label": "Departments",
"name": "departments",
"isEntry": true,
"type": "collection",
"visible": [
"slug",
"cover",
"_sys.updatedAt",
"status"
],
"groups": [
"Extra Info",
"Metadata",
"SEO"
],
"sortBy": "-_sys.createdAt",
"schemaTitle": "{{name}} {{slug}}",
"schemaImage": "cover",
"revisions": 15,
"read": [
"admin",
"editors",
"reviewers"
],
"write": [
"admin",
"editors"
],
"fields": []
}