system.schema.yml

Same filename and directory in other branches
  1. 11.x core/modules/system/config/schema/system.schema.yml
  2. 10 core/modules/system/config/schema/system.schema.yml
  3. 9 core/modules/system/config/schema/system.schema.yml
  4. 8.9.x core/modules/system/config/schema/system.schema.yml
core/modules/system/config/schema/system.schema.yml
2 string references to 'system.schema'
UpdateHookRegistry::__construct in core/lib/Drupal/Core/Update/UpdateHookRegistry.php
Constructs a new UpdateHookRegistry.
UpdateHookRegistryTest::setUp in core/tests/Drupal/Tests/Core/Update/UpdateHookRegistryTest.php

File

core/modules/system/config/schema/system.schema.yml

View source
  1. # Schema for the configuration files of the System module.
  2. system.site:
  3. type: config_object
  4. label: 'Site information'
  5. mapping:
  6. uuid:
  7. type: uuid
  8. label: 'Site UUID'
  9. constraints:
  10. Uuid: []
  11. NotNull: []
  12. name:
  13. type: label
  14. label: 'Site name'
  15. mail:
  16. type: email
  17. label: 'Email address'
  18. slogan:
  19. type: label
  20. label: 'Slogan'
  21. page:
  22. type: mapping
  23. label: 'Pages'
  24. mapping:
  25. 403:
  26. type: path
  27. label: 'Default 403 (access denied) page'
  28. 404:
  29. type: path
  30. label: 'Default 404 (not found) page'
  31. front:
  32. type: path
  33. label: 'Default front page'
  34. weight_select_max:
  35. type: integer
  36. label: 'Weight element maximum value'
  37. default_langcode:
  38. type: langcode
  39. label: 'Site default language code'
  40. mail_notification:
  41. type: string
  42. label: 'Notification email address'
  43. system.maintenance:
  44. type: config_object
  45. label: 'Maintenance mode'
  46. constraints:
  47. FullyValidatable: ~
  48. mapping:
  49. message:
  50. type: text
  51. label: 'Message to display when in maintenance mode'
  52. system.cron:
  53. type: config_object
  54. label: 'Cron settings'
  55. constraints:
  56. FullyValidatable: ~
  57. mapping:
  58. threshold:
  59. type: mapping
  60. label: 'Thresholds'
  61. mapping:
  62. requirements_warning:
  63. type: integer
  64. label: 'Requirements warning period'
  65. constraints:
  66. # @see \Drupal\system\Hook\SystemRequirementsHooks
  67. Range:
  68. min: 60
  69. requirements_error:
  70. type: integer
  71. label: 'Requirements error period'
  72. constraints:
  73. # @see \Drupal\system\Hook\SystemRequirementsHooks
  74. Range:
  75. min: 300
  76. logging:
  77. type: boolean
  78. label: 'Detailed cron logging'
  79. system.date:
  80. type: config_object
  81. label: 'Date settings'
  82. constraints:
  83. FullyValidatable: ~
  84. mapping:
  85. first_day:
  86. type: integer
  87. label: 'First day of week'
  88. constraints:
  89. Range:
  90. # @see \Drupal\system\Form\RegionalForm::buildForm()
  91. min: 0
  92. max: 6
  93. country:
  94. type: mapping
  95. label: 'Country'
  96. mapping:
  97. default:
  98. nullable: true
  99. type: string
  100. label: 'Default country'
  101. constraints:
  102. # @see \Drupal\system\Form\RegionalForm::buildForm()
  103. CountryCode: []
  104. timezone:
  105. type: mapping
  106. label: 'Time zone settings'
  107. mapping:
  108. default:
  109. type: string
  110. label: 'Default time zone'
  111. nullable: true
  112. constraints:
  113. # @see \Drupal\system\Form\RegionalForm::buildForm()
  114. Choice:
  115. callback: 'DateTimeZone::listIdentifiers'
  116. user:
  117. type: mapping
  118. label: 'User'
  119. mapping:
  120. configurable:
  121. type: boolean
  122. label: 'Users may set their own time zone'
  123. default:
  124. type: integer
  125. label: 'Time zone for new users'
  126. constraints:
  127. # Time zone for new users can have one of the following values:
  128. # - UserInterface::TIMEZONE_DEFAULT
  129. # - UserInterface::TIMEZONE_EMPTY
  130. # - UserInterface::TIMEZONE_SELECT
  131. # @see \Drupal\user\UserInterface::TIMEZONE_*
  132. # @todo Update this to use enum in https://www.drupal.org/project/drupal/issues/3402178
  133. Choice:
  134. choices: [0, 1, 2]
  135. warn:
  136. type: boolean
  137. label: 'Remind users at login if their time zone is not set'
  138. system.diff:
  139. type: config_object
  140. label: 'Diff settings'
  141. constraints:
  142. FullyValidatable: ~
  143. mapping:
  144. context:
  145. type: mapping
  146. label: 'Context'
  147. mapping:
  148. lines_leading:
  149. type: integer
  150. label: 'Number of leading lines in a diff'
  151. constraints:
  152. # @see \Drupal\Component\Diff\DiffFormatter
  153. PositiveOrZero: ~
  154. lines_trailing:
  155. type: integer
  156. label: 'Number of trailing lines in a diff'
  157. constraints:
  158. # @see \Drupal\Component\Diff\DiffFormatter
  159. PositiveOrZero: ~
  160. system.logging:
  161. type: config_object
  162. label: 'Logging settings'
  163. constraints:
  164. FullyValidatable: ~
  165. mapping:
  166. error_level:
  167. type: string
  168. label: 'Error messages to display'
  169. # @see core/includes/bootstrap.inc
  170. # @todo Update this to use enum in https://www.drupal.org/project/drupal/issues/2951046
  171. constraints:
  172. Choice:
  173. choices:
  174. - 'hide'
  175. - 'some'
  176. - 'all'
  177. - 'verbose'
  178. system.performance:
  179. type: config_object
  180. label: 'Performance settings'
  181. mapping:
  182. cache:
  183. type: mapping
  184. label: 'Caching'
  185. mapping:
  186. page:
  187. type: mapping
  188. label: 'Page caching'
  189. mapping:
  190. max_age:
  191. type: integer
  192. label: 'Max age'
  193. css:
  194. type: mapping
  195. label: 'CSS performance settings'
  196. mapping:
  197. preprocess:
  198. type: boolean
  199. label: 'Aggregate CSS files'
  200. compress:
  201. type: boolean
  202. label: 'Compress CSS files'
  203. fast_404:
  204. type: mapping
  205. label: 'Fast 404 settings'
  206. mapping:
  207. enabled:
  208. type: boolean
  209. label: 'Fast 404 enabled'
  210. paths:
  211. type: string
  212. label: 'Regular expression to match'
  213. exclude_paths:
  214. type: string
  215. label: 'Regular expression to not match'
  216. html:
  217. type: string
  218. label: 'Fast 404 page html'
  219. js:
  220. type: mapping
  221. label: 'JavaScript performance settings'
  222. mapping:
  223. preprocess:
  224. type: boolean
  225. label: 'JavaScript preprocess'
  226. compress:
  227. type: boolean
  228. label: 'Compress JavaScript files.'
  229. system.theme:
  230. type: config_object
  231. label: 'Theme settings'
  232. mapping:
  233. admin:
  234. type: string
  235. label: 'Administration theme'
  236. default:
  237. type: string
  238. label: 'Default theme'
  239. system.menu.*:
  240. type: config_entity
  241. label: 'Menu'
  242. mapping:
  243. id:
  244. type: machine_name
  245. label: 'ID'
  246. # Menu IDs are specifically limited to 32 characters, and allow dashes but not
  247. # underscores.
  248. # @see \Drupal\menu_ui\MenuForm::form()
  249. constraints:
  250. Regex:
  251. pattern: '/^[a-z0-9-]+$/'
  252. message: "The %value machine name is not valid."
  253. Length:
  254. max: 32
  255. label:
  256. type: required_label
  257. label: 'Label'
  258. description:
  259. type: label
  260. label: 'Menu description'
  261. # @see \Drupal\menu_ui\MenuForm::form()
  262. nullable: true
  263. constraints:
  264. Length:
  265. max: 512
  266. locked:
  267. type: boolean
  268. label: 'Locked'
  269. constraints:
  270. FullyValidatable: ~
  271. system.action.*:
  272. type: config_entity
  273. label: 'System action'
  274. constraints:
  275. FullyValidatable: ~
  276. mapping:
  277. id:
  278. type: machine_name
  279. label: 'ID'
  280. constraints:
  281. # Action IDs also allow periods.
  282. # @see user_user_role_insert()
  283. Regex:
  284. pattern: '/^[a-z0-9_\.]+$/'
  285. message: "The %value machine name is not valid."
  286. label:
  287. type: required_label
  288. label: 'Label'
  289. type:
  290. type: string
  291. label: 'Type'
  292. # Action can be specified without type.
  293. # @see \Drupal\action_test\Plugin\Action\NoType
  294. nullable: true
  295. constraints:
  296. NotBlank:
  297. allowNull: true
  298. plugin:
  299. type: string
  300. label: 'Plugin'
  301. constraints:
  302. PluginExists:
  303. manager: plugin.manager.action
  304. interface: 'Drupal\Core\Action\ActionInterface'
  305. configuration:
  306. type: action.configuration.[%parent.plugin]
  307. system.file:
  308. type: config_object
  309. label: 'File system'
  310. constraints:
  311. FullyValidatable: ~
  312. mapping:
  313. allow_insecure_uploads:
  314. type: boolean
  315. label: 'Allow insecure uploads'
  316. default_scheme:
  317. type: string
  318. label: 'Default download method'
  319. constraints:
  320. ClassResolver:
  321. classOrService: 'stream_wrapper_manager'
  322. method: 'isValidScheme'
  323. temporary_maximum_age:
  324. type: integer
  325. label: 'Maximum age for temporary files'
  326. constraints:
  327. PositiveOrZero: ~
  328. system.image:
  329. type: config_object
  330. label: 'Image settings'
  331. constraints:
  332. FullyValidatable: ~
  333. mapping:
  334. toolkit:
  335. type: string
  336. label: 'Toolkit'
  337. constraints:
  338. PluginExists:
  339. manager: 'image.toolkit.manager'
  340. interface: '\Drupal\Core\ImageToolkit\ImageToolkitInterface'
  341. system.image.gd:
  342. type: config_object
  343. label: 'Image settings'
  344. constraints:
  345. FullyValidatable: ~
  346. mapping:
  347. jpeg_quality:
  348. type: integer
  349. label: 'JPEG quality'
  350. constraints:
  351. # @see \Drupal\system\Plugin\ImageToolkit\GDToolkit::buildConfigurationForm()
  352. Range:
  353. min: 0
  354. max: 100
  355. system.mail:
  356. type: config_object
  357. label: 'Mail system'
  358. constraints:
  359. FullyValidatable: ~
  360. mapping:
  361. interface:
  362. type: sequence
  363. label: 'Interfaces'
  364. sequence:
  365. type: string
  366. label: 'Interface'
  367. constraints:
  368. PluginExists:
  369. manager: plugin.manager.mail
  370. interface: 'Drupal\Core\Mail\MailInterface'
  371. mailer_dsn:
  372. type: mailer_dsn
  373. label: 'Symfony mailer transport DSN'
  374. system.theme.global:
  375. type: theme_settings
  376. label: 'Theme global settings'
  377. system.advisories:
  378. type: config_object
  379. label: 'Security advisory settings'
  380. constraints:
  381. FullyValidatable: ~
  382. mapping:
  383. enabled:
  384. type: boolean
  385. label: 'Display critical security advisories'
  386. interval_hours:
  387. type: integer
  388. label: 'How often to check for security advisories, in hours'
  389. # Minimum can be set to 0 as it just means the advisories will be retrieved on every call.
  390. # @see \Drupal\system\SecurityAdvisories\SecurityAdvisoriesFetcher::getSecurityAdvisories
  391. constraints:
  392. PositiveOrZero: ~
  393. block.settings.system_branding_block:
  394. type: block_settings
  395. label: 'Branding block'
  396. constraints:
  397. FullyValidatable: ~
  398. mapping:
  399. use_site_logo:
  400. type: boolean
  401. label: 'Use site logo'
  402. use_site_name:
  403. type: boolean
  404. label: 'Use site name'
  405. use_site_slogan:
  406. type: boolean
  407. label: 'Use site slogan'
  408. block.settings.system_menu_block:*:
  409. type: block_settings
  410. label: 'Menu block'
  411. constraints:
  412. FullyValidatable: ~
  413. IgnoreActiveTrail: ~
  414. mapping:
  415. level:
  416. type: integer
  417. label: 'Starting level'
  418. constraints:
  419. MenuLinkDepth:
  420. min: 0
  421. depth:
  422. type: integer
  423. label: 'Maximum number of levels'
  424. nullable: true
  425. constraints:
  426. MenuLinkDepth:
  427. baseLevel: '[%parent.level]'
  428. min: 1
  429. expand_all_items:
  430. type: boolean
  431. label: 'Expand all items'
  432. ignore_active_trail:
  433. type: boolean
  434. label: 'Ignore active trail'
  435. requiredKey: false
  436. block.settings.local_tasks_block:
  437. type: block_settings
  438. label: 'Tabs block'
  439. constraints:
  440. FullyValidatable: ~
  441. mapping:
  442. primary:
  443. type: boolean
  444. label: 'Whether primary tabs are shown'
  445. secondary:
  446. type: boolean
  447. label: 'Whether secondary tabs are shown'
  448. condition.plugin.request_path:
  449. type: condition.plugin
  450. mapping:
  451. pages:
  452. type: string
  453. condition.plugin.response_status:
  454. type: condition.plugin
  455. constraints:
  456. FullyValidatable: ~
  457. mapping:
  458. status_codes:
  459. type: sequence
  460. sequence:
  461. type: integer
  462. constraints:
  463. # @see \Drupal\system\Plugin\Condition\ResponseStatus::buildConfigurationForm()
  464. Choice:
  465. # HTTP 200 OK, HTTP 403 FORBIDDEN, HTTP 404 NOT FOUND.
  466. choices: [200, 403, 404]
  467. system.feature_flags:
  468. type: config_object
  469. label: 'System Feature Flags'
  470. constraints:
  471. FullyValidatable: ~
  472. mapping:
  473. linkset_endpoint:
  474. type: boolean
  475. label: 'Enable the menu linkset endpoint'
  476. condition.plugin.current_theme:
  477. type: condition.plugin
  478. mapping:
  479. theme:
  480. type: string
  481. label: Theme

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.