Newer
Older
# Base types provided by Drupal core.
# Read https://drupal.org/node/1905070 for more details about configuration
# schema, types and type resolution.
# Undefined type used by the system to assign to elements at any level where
# configuration schema is not defined. Using explicitly has the same effect as
# not defining schema, so there is no point in doing that.
undefined:
label: 'Undefined'
class: '\Drupal\Core\Config\Schema\Undefined'
# Explicit type to use when no data typing is possible. Instead of using this
# type, we strongly suggest you use configuration structures that can be
# described with other structural elements of schema, and describe your schema
# with those elements.
ignore:
label: 'Ignore'
class: '\Drupal\Core\Config\Schema\Ignore'
# Basic scalar data types from typed data.
boolean:
label: 'Boolean'
class: '\Drupal\Core\TypedData\Plugin\DataType\BooleanData'
email:
label: 'Email'
Alex Pott
committed
class: '\Drupal\Core\TypedData\Plugin\DataType\Email'
integer:
label: 'Integer'
class: '\Drupal\Core\TypedData\Plugin\DataType\IntegerData'
Dries Buytaert
committed
float:
label: 'Float'
class: '\Drupal\Core\TypedData\Plugin\DataType\FloatData'
string:
label: 'String'
class: '\Drupal\Core\TypedData\Plugin\DataType\StringData'
uri:
label: 'Uri'
Alex Pott
committed
class: '\Drupal\Core\TypedData\Plugin\DataType\Uri'
# Container data types for lists with known and unknown keys.
mapping:
label: Mapping
class: '\Drupal\Core\Config\Schema\Mapping'
Alex Pott
committed
definition_class: '\Drupal\Core\TypedData\MapDataDefinition'
sequence:
label: Sequence
class: '\Drupal\Core\Config\Schema\Sequence'
Alex Pott
committed
definition_class: '\Drupal\Core\TypedData\ListDataDefinition'
# Simple extended data types:
# Human readable string that must be plain text and editable with a text field.
label:
type: string
label: 'Label'
translatable: true
# Internal Drupal path
path:
type: string
label: 'Path'
# Human readable string that can contain multiple lines of text or HTML.
text:
type: string
label: 'Text'
translatable: true
Angie Byron
committed
# PHP Date format string that is translatable.
date_format:
type: string
label: 'Date format'
Angie Byron
committed
translatable: true
Alex Pott
committed
translation context: 'PHP date format'
Angie Byron
committed
# HTML color value.
color_hex:
type: string
label: 'Color'
# Complex extended data types:
Alex Pott
committed
# Root of a configuration object.
config_object:
type: mapping
mapping:
langcode:
type: string
label: 'Language code'
# Mail text with subject and body parts.
mail:
type: mapping
Angie Byron
committed
label: 'Mail'
mapping:
Angie Byron
committed
subject:
type: label
label: 'Subject'
body:
type: text
Angie Byron
committed
label: 'Body'
Angie Byron
committed
# Filter with module and status.
filter:
type: mapping
label: 'Filter'
mapping:
id:
Angie Byron
committed
type: string
label: 'ID'
provider:
type: string
label: 'Provider'
Angie Byron
committed
status:
type: boolean
label: 'Status'
weight:
type: integer
label: 'Weight'
settings:
type: filter_settings.[%parent.id]
# System action configuration base.
action_configuration_default:
type: sequence
label: 'Action configuration'
sequence:
type: string
Alex Pott
committed
theme_settings:
Alex Pott
committed
type: config_object
mapping:
Alex Pott
committed
favicon:
type: mapping
label: 'Shortcut icon settings'
mapping:
mimetype:
type: string
label: 'MIME type'
path:
type: string
label: 'Path'
url:
type: string
label: 'URL'
use_default:
type: boolean
label: 'Use the default shortcut icon supplied by the theme'
features:
type: mapping
label: 'Optional features'
Alex Pott
committed
mapping:
comment_user_picture:
type: boolean
label: 'User pictures in comments'
comment_user_verification:
type: boolean
label: 'User verification status in comments'
favicon:
type: boolean
label: 'Shortcut icon'
logo:
type: boolean
label: 'Logo'
name:
type: boolean
label: 'Site name'
node_user_picture:
type: boolean
label: 'User pictures in posts'
slogan:
type: boolean
label: 'Site slogan'
logo:
type: mapping
label: 'Logo settings'
Alex Pott
committed
mapping:
path:
type: string
label: 'Logo path'
url:
type: uri
label: 'URL'
use_default:
type: boolean
label: 'Use default'
Dries Buytaert
committed
third_party_settings:
type: sequence
label: 'Third party settings'
sequence:
type: theme_settings.third_party.[%key]
views_field_bulk_form:
type: views_field
label: 'Bulk operation'
mapping:
action_title:
type: label
label: 'Action title'
include_exclude:
type: string
label: 'Available actions'
selected_actions:
type: sequence
label: 'Available actions'
sequence:
type: string
label: 'Action'
Alex Pott
committed
# Array of routes with route_name and route_params keys.
route:
type: mapping
label: 'Route'
mapping:
route_name:
Alex Pott
committed
type: string
Alex Pott
committed
label: 'Route Name'
route_params:
type: sequence
label: 'Route Params'
sequence:
type: string
label: 'Param'
# Config dependencies.
catch
committed
config_dependencies_base:
type: mapping
mapping:
config:
type: sequence
label: 'Configuration entity dependencies'
sequence:
type: string
content:
type: sequence
label: 'Content entity dependencies'
sequence:
type: string
module:
type: sequence
label: 'Module dependencies'
sequence:
type: string
theme:
type: sequence
label: 'Theme dependencies'
sequence:
type: string
Alex Pott
committed
catch
committed
config_dependencies:
type: config_dependencies_base
label: 'Configuration dependencies'
mapping:
enforced:
type: config_dependencies_base
label: 'Enforced configuration dependencies'
Alex Pott
committed
config_entity:
type: mapping
mapping:
uuid:
type: string
label: 'UUID'
langcode:
type: string
Alex Pott
committed
label: 'Language code'
Alex Pott
committed
status:
type: boolean
label: 'Status'
dependencies:
type: config_dependencies
label: 'Dependencies'
catch
committed
third_party_settings:
type: sequence
label: 'Third party settings'
sequence:
type: '[%parent.%parent.%type].third_party.[%key]'
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
block_settings:
type: mapping
label: 'Block settings'
mapping:
id:
type: string
label: 'ID'
label:
type: label
label: 'Description'
label_display:
type: string
label: 'Display title'
cache:
type: mapping
label: 'Cache settings'
mapping:
max_age:
type: integer
label: 'Maximum age'
status:
type: boolean
label: 'Status'
info:
type: label
label: 'Admin info'
view_mode:
type: string
label: 'View mode'
provider:
type: string
label: 'Provider'
condition.plugin:
type: mapping
label: 'Condition'
mapping:
id:
type: string
label: 'ID'
negate:
type: boolean
label: 'Negate'
Angie Byron
committed
uuid:
type: string
label: 'UUID'
context_mapping:
type: sequence
label: 'Context assignments'
sequence:
type: string
Angie Byron
committed
display_variant.plugin:
type: mapping
label: 'Display variant'
mapping:
id:
type: string
label: 'ID'
label:
type: label
label: 'Label'
weight:
type: integer
label: 'Weight'
uuid:
type: string
label: 'UUID'
base_entity_reference_field_settings:
type: mapping
mapping:
target_type:
type: string
label: 'Type of item to reference'
target_bundle:
type: string
label: 'Bundle of item to reference'
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
field_config_base:
type: config_entity
mapping:
id:
type: string
label: 'ID'
field_name:
type: string
label: 'Field name'
entity_type:
type: string
label: 'Entity type'
bundle:
type: string
label: 'Bundle'
label:
type: label
label: 'Label'
description:
type: text
label: 'Help text'
required:
type: boolean
label: 'Required field'
translatable:
type: boolean
label: 'Translatable'
default_value:
type: sequence
label: 'Default values'
sequence:
type: field.value.[%parent.%parent.field_type]
label: 'Default value'
default_value_callback:
type: string
label: 'Default value callback'
settings:
type: field.field_settings.[%parent.field_type]
field_type:
type: string
label: 'Field type'
core.base_field_override.*.*.*:
type: field_config_base
label: 'Base field bundle override'
Angie Byron
committed
Angie Byron
committed
core.date_format.*:
type: config_entity
label: 'Date format'
mapping:
id:
type: string
label: 'ID'
label:
type: label
label: 'Label'
locked:
type: boolean
label: 'Locked'
pattern:
type: date_format
label: 'PHP date format'
# Generic field settings schemas.
field.storage_settings.*:
type: mapping
label: 'Settings'
field.field_settings.*:
type: mapping
label: 'Settings'
field.value.*:
type: mapping
label: 'Default value'
Alex Pott
committed
# Schema for the configuration of the String field type.
field.storage_settings.string:
Alex Pott
committed
type: mapping
label: 'String settings'
mapping:
max_length:
type: integer
label: 'Maximum length'
case_sensitive:
type: boolean
label: 'Case sensitive'
is_ascii:
type: boolean
label: 'Contains US ASCII characters only'
Angie Byron
committed
field.field_settings.string:
type: mapping
Angie Byron
committed
label: 'String settings'
field.value.string:
type: mapping
Angie Byron
committed
label: 'Default value'
mapping:
value:
type: string
label: 'Value'
Angie Byron
committed
Alex Pott
committed
# Schema for the configuration of the String (long) field type.
field.storage_settings.string_long:
Dries Buytaert
committed
type: mapping
Alex Pott
committed
label: 'String (long) settings'
mapping:
case_sensitive:
type: boolean
label: 'Case sensitive'
Alex Pott
committed
field.field_settings.string_long:
Dries Buytaert
committed
type: mapping
Alex Pott
committed
label: 'String (long) settings'
field.value.string_long:
type: mapping
Alex Pott
committed
label: 'Default value'
mapping:
value:
type: text
label: 'Value'
Alex Pott
committed
# Schema for the configuration of the URI field type.
field.storage_settings.uri:
Alex Pott
committed
type: mapping
label: 'URI settings'
mapping:
max_length:
type: integer
label: 'Maximum length'
case_sensitive:
type: boolean
label: 'Case sensitive'
Alex Pott
committed
field.field_settings.uri:
type: mapping
Alex Pott
committed
label: 'URI settings'
field.value.uri:
type: mapping
Alex Pott
committed
label: 'Default value'
mapping:
value:
type: string
label: 'Value'
Alex Pott
committed
# Schema for the configuration of the Created field type.
field.storage_settings.created:
type: mapping
Alex Pott
committed
label: 'Created timestamp settings'
field.field_settings.created:
type: mapping
Alex Pott
committed
label: 'Created timestamp settings'
field.value.created:
type: mapping
Alex Pott
committed
label: 'Default value'
mapping:
value:
type: integer
label: 'Value'
Alex Pott
committed
# Schema for the configuration of the Changed field type.
field.storage_settings.changed:
type: mapping
Alex Pott
committed
label: 'Changed timestamp settings'
field.field_settings.changed:
type: mapping
Alex Pott
committed
label: 'Changed timestamp settings'
field.value.changed:
type: mapping
Alex Pott
committed
label: 'Default value'
mapping:
value:
type: integer
label: 'Value'
Alex Pott
committed
# Schema for the configuration of the Entity reference field type.
field.storage_settings.entity_reference:
Alex Pott
committed
type: mapping
label: 'Entity reference field storage settings'
Alex Pott
committed
mapping:
target_type:
type: string
label: 'Type of item to reference'
field.field_settings.entity_reference:
Alex Pott
committed
type: mapping
label: 'Entity reference field settings'
Alex Pott
committed
mapping:
handler:
type: string
label: 'Reference method'
handler_settings:
type: entity_reference_selection.[%parent.handler]
label: 'Entity reference selection plugin settings'
Alex Pott
committed
field.value.entity_reference:
type: mapping
Alex Pott
committed
label: 'Default value'
mapping:
target_id:
type: string
label: 'Value'
target_uuid:
type: string
label: 'Target UUID'
Alex Pott
committed
# Schema for the configuration of the Boolean field type.
Angie Byron
committed
field.field_settings.boolean:
Angie Byron
committed
label: 'Boolean settings'
type: mapping
Angie Byron
committed
mapping:
on_label:
type: string
label: 'On label'
off_label:
type: string
label: 'Off label'
field.value.boolean:
type: mapping
mapping:
value:
type: integer
label: 'Value'
Angie Byron
committed
Alex Pott
committed
# Schema for the configuration of the Email field type.
Angie Byron
committed
field.storage_settings.email:
type: mapping
Angie Byron
committed
label: 'Email settings'
field.field_settings.email:
type: mapping
Angie Byron
committed
label: 'Email settings'
sequence:
type: string
label: 'Setting'
Angie Byron
committed
field.value.email:
type: mapping
Angie Byron
committed
label: 'Default value'
mapping:
value:
type: email
label: 'Value'
Angie Byron
committed
Alex Pott
committed
# Schema for the configuration of the Integer field type.
Angie Byron
committed
field.storage_settings.integer:
type: mapping
Angie Byron
committed
label: 'Integer settings'
mapping:
unsigned:
type: boolean
label: 'Unsigned'
size:
type: string
label: 'Database storage size'
Angie Byron
committed
field.field_settings.integer:
Angie Byron
committed
type: mapping
label: 'Integer'
mapping:
min:
type: integer
label: 'Minimum'
max:
type: integer
label: 'Maximum'
prefix:
type: string
label: 'Prefix'
suffix:
type: string
label: 'Suffix'
field.value.integer:
type: mapping
Angie Byron
committed
label: 'Default value'
mapping:
value:
type: integer
label: 'Value'
Angie Byron
committed
Alex Pott
committed
# Schema for the configuration of the Decimal field type.
field.storage_settings.decimal:
Angie Byron
committed
type: mapping
label: 'Decimal settings'
mapping:
precision:
type: integer
label: 'Precision'
scale:
type: integer
label: 'Scale'
field.field_settings.decimal:
Angie Byron
committed
type: mapping
label: 'Decimal settings'
Angie Byron
committed
mapping:
min:
type: float
label: 'Minimum'
max:
type: float
label: 'Maximum'
prefix:
type: string
label: 'Prefix'
suffix:
type: string
label: 'Suffix'
field.value.decimal:
type: mapping
Angie Byron
committed
label: 'Default value'
mapping:
value:
type: float
label: 'Value'
Angie Byron
committed
Alex Pott
committed
# Schema for the configuration of the Float field type.
field.storage_settings.float:
type: mapping
Angie Byron
committed
label: 'Float settings'
field.field_settings.float:
Angie Byron
committed
type: mapping
label: 'Float settings'
Angie Byron
committed
mapping:
min:
type: float
label: 'Minimum'
max:
type: float
label: 'Maximum'
prefix:
type: string
label: 'Prefix'
suffix:
type: string
label: 'Suffix'
field.value.float:
type: mapping
Angie Byron
committed
label: 'Default value'
mapping:
value:
type: float
label: 'Value'
# Text with a text format.
text_format:
type: mapping
label: 'Text with text format'
# We declare the entire mapping of text and text format as translatable. This
# causes the entire mapping to be saved to the language overrides of the
# configuration. Storing only the (to be formatted) text could result in
# security problems in case the text format of the source text is changed.
translatable: true
mapping:
value:
type: text
label: 'Text'
# Mark the actual text as translatable (in addition to the entire mapping
# being marked as translatable) so that shipped configuration with
# formatted text can participate in the string translation system.
translatable: true
format:
type: string
label: 'Text format'
# The text format should not be translated as part of the string
# translation system, so this is not marked as translatable.
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
# Schema for the configuration of the Entity reference selection plugins.
entity_reference_selection:
type: mapping
label: 'Entity reference selection plugin configuration'
mapping:
target_bundles:
type: sequence
label: 'types'
sequence:
type: string
label: 'Type'
sort:
type: mapping
label: 'Sort settings'
mapping:
field:
type: string
label: 'Sort by'
direction:
type: string
label: 'Sort direction'
auto_create:
type: boolean
label: 'Create referenced entities if they don''t already exist'
entity_reference_selection.*:
type: entity_reference_selection