contenttype.json
A content type example
"article": {
"name": "Article",
"table_name": "dm_article",
"has_version": true,
"has_location": true,
"name_pattern": "{title}",
"fields": [{
"identifier": "title",
"type": "text",
"name": "Title",
"parameters": {
"max_length": 300
},
"required": true
},
{
"identifier": "editors",
"type": "relationlist",
"name": "Editors",
"required": false,
"parameters":{
"type":"user"
}
},
Content type definition
| key | type | Description |
|---|---|---|
| <identifier> | string | content type indentifier. Need to be unique, lower case, with _, cannot end with _test(because go will ignore the generated entity to treat as test file), eg. article |
| name | string | Name of the content type |
| table_name | string | table name on database |
| has_version | bool | If true it will store version automatically when creating/updating |
| has_location | bool | Whether the content has location or not. Read here to judge if you need location |
| has_location_id | bool | For non-location content, true if you need to put content under some location content and use it as category&permission for instance. |
| name_pattern | string | For location content, name can be generated from field’s value , {"<field identifer>"} will be replaced with identifier’s real value |
| fields | array<field definition> | fields with order |
Content type field definition
| key | type | Description |
|---|---|---|
| identifier | string | Identifier of the field |
| type | string | Field type |
| name | string | Name of the field, for viewing |
| required | bool | Whether the field is required |
| parameters | object | parameters of the field, see field types for parameter detail. |
| is_output | bool | If it’s a output field. Useful for output like h2 |
Built in field types
| key | Description | Parameters |
|---|---|---|
| text | Plain text, support mulitline | “multiline”: true/false , “max_length”:250 |
| richtext | Rich text with online editor | “mode”:”compact/full” |
| select | Dropdown | “list”, eg:{“list”: [{“text”: “Apple”, “value”: “apple” }…]} |
| radio | Radio, support 2 options (“1”/”0” - string value) for now. default “-1”(not selected) | “options”:[“Yes”, “No”] |
| datetime | Date time | “dateonly”: true/false |
| int | Integer. default value is -1(not 0) | |
| container | Container. ‘Virtual’ field which is a container of sub fields. “children” is used together with “container” | |
| checkbox | Checkbox, value is int 0/1 | |
| password | Password | |
| file | File | max_size: <float, eg. 10.0>, max size of the file(mb)(default is 10 if not set). format:”.docx,.pdf”, supported file formats |
| image | Image | format:”.jpg,.png”, accepted format. If not set, use all support images |
| relation | Relation | type: “ |
| relationlist | Relation list, used for multiple relations. |