Content Profiles¶
Content profiles let you change the way how your content should be edited and what validation rules should apply.
Definition¶
You can specify custom profiles in server/data/content_types.json
file.
Then you can sync it with database using cli command:
python manage.py app:initialize_data --entity-name content_types
In the file there should be list of profiles:
[
{"_id": "story", "label": "Story", "enabled": 1, ...},
{"_id": "snap", "label": "Snap", "enabled": 0, ...}
]
Available fields are:
_id
stringProfile id, its value will be set in
item.profile
field and will be available in output.label
stringLabel visible in the client.
description
stringOptional profile description.
priority
intUsed for sorting in descending order.
enabled
booleanFlag if profile is enabled (visible in lists) or not.
schema
dictSchema configuration for profile. There you can define validation rules for Item Schema fields:
"schema": { "headline": { "type": "string", "required": true, "maxlength": 120, }, "keywords": { "type": "list", "required": true, "allowed": ["sport", "news"] } }
Keys are field names, and for each field you can specify:
type
stringOne of
string
,list
,dict
,integer
,number
.required
booleanIf
true
, field must be there and be non empty.minlength
,maxlength
intMinimum and maximum length allowed for
string
type.allowed
listList of allowed values for
string
orlist
type.schema
dictValidation rules for
dict
type items.nullable
booleanIf True the value can be set to
null
.regex
stringRegex validation rule, eg.:
"regex": "[a-z]+"
editor
dictEditor configuration for profile, there you can set what fields will be visible and how these should be displayed:
"editor": { "headline": { "order": 1, "sdWidth": "full", "enabled": true }, "body_html": { "order": 5, "formatOptions": ["h2", "bold", "italic"], "enabled": true }, "ednote": { "enabled": false } }
Rules for fields are:
order
intWhere the field is visible in the editor.
sdWidth
stringOne of
full
,half
andquarter
. Fields are floating so there can be more on the same line as long as they fit there.enabled
booleanIf
false
field won’t be visible in the editor.formatOptions
listWhat format options should be available, only works with
body_html
andabstract
fields. For each there will be a button visible in the editor toolbar.h2
bold
italic
underline
quote
anchor
embed
picture
removeFormat
Available schema fields¶
These are fields you can use in your content profile:
Plain text profile¶
Before there are any content profiles defined for a desk there is one called Plain text.
Package profiles¶
Package profiles are not yet supported.