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

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