Issue summary contents:
# Docs
# Steps to test and review the sub issues
# Views issue list
# Field issue list
# Round 1 issue list
Problem/motivation
#1866610: Introduce Kwalify-inspired schema format for configuration introduced some config schema coverage for views, contact module, image effects, etc. but it is/was not complete. We need to continue introducing schemas and complete schemas where not yet complete.
Proposed solution
Solve this in sub-issues. Add more issues as identified. Existing conversions issues don't need to apply the schema if they cannot or do not want to fit this in their scope. We need followups for them in that case.
Remaining tasks
| Name | Issue |
|---|---|
Configuration# |
|
| system | #2107689: Complete configuration schema for system module |
Views(Ref) # |
|
Plugins |
|
| sort | #2019093: Complete Configuration schemas for views sort |
| row | #2019091: Complete Configuration schemas for views row |
| filter | #2019085: Complete Configuration schemas for views filters |
| field | #2019079: Complete Configuration schemas for views fields |
| arugment | #2019069: Complete Configuration schemas for views arguments Assigned to: deepakaryan1988 |
Modules |
|
| field | #1992892: Provide config schema to views components in taxonomy module |
| arugment | #1991260: Provide config schema to views components in node module |
Field (Ref)# |
|
| link | #1983906: Provide config schema to field types and storage in link module |
| telephone | #1983912: Provide config schema to field types and storage in telephone module |
Entity # |
|
| Entity display | #2096365: Provide config schema for Entity displays |
| Entity form display | #2096367: Provide config schema for Entity form displays |
Fields: All existing patches on these issues needs work as they still contain the widget config schema, but that does not exist anymore for the instances.
Completed tasks
Third round #
- #2107693: Provide configuration schema for views.settings + update views.settings to reflect current configuration setup
- #1973522: Provide config schema to field types and storage in file module
- #1973436: Provide config schema to field types storage for image module Assigned to: claudiu.cristea
- #2096371: Provide config schema for Form modes
- #1973534: Provide config schema to field types and storage in datetime module
- #2107681: Create configuration schema for RDF module
- #2107685: Provide configuration schema for Simpletest module
- #2107687: Provide configuration schema for Rest module
- #1992894: Provide config schema to views components in user module
- #2096373: Provide config schema for View modes Assigned to: sushantpaste
- #1983902: Provide config schema to field types, widgets and storage in entity_reference module
Second round #
- #2038285: Update configuration schema for date formats as entities
- #2031185: Create configuration schema for language config entity
- #2033971: system.schema.yml should have a schema snippet for system.language.types Assigned to: e0ipso
- #2029405: Write configuration schema for node types
- #2019095: Complete Configuration schemas for views style
- #2019087: Complete Configuration schemas for views relationship Assigned to: dropfen
- #2019077: Complete Configuration schemas for views display extender
- #1973450: Provide config schema to field types and storage in number module
- #1973498: Provide config schema to field types and storage in taxonomy module Assigned to: saki007ster
- #1983894: Provide config schema to field types and storage in email module
- #2013891: Remove widget config schema from text, options and field modules
First round #
- #1910606: Improve the configurations schemas for Views significantly
- #1912250: Complete configuration schemas for system module
- #1912258: Complete configuration schemas for user module
- #1912266: Create configuration schemas for action module
- #1912298: Create configuration schemas for aggregator module
- #1912302: Create configuration schemas for book module
- #1912308: Create configuration schemas for breakpoint module
- #1912316: Create configuration schemas for dblog module
- #1964648: Create configuration schemas for editor module
- #1919164: Create configuration schemas for field module
- #1919166: Create configuration schemas for file module
- #1919174: Create configuration schemas for filter module
- #1919176: Create configuration schemas for forum module
- #1919178: Create configuration schemas for language module
- #1919180: Create configuration schemas for locale module
- #1919184: Create configuration schemas for menu module
- #1919186: Create configuration schemas for node module
- #1919188: Create configuration schemas for openid module
- #1919192: Create configuration schemas for php module
- #1964592: Create configuration schemas for picture module
- #1919194: Create configuration schemas for rest module
- #1919196: Create configuration schemas for search module
- #1919198: Create configuration schemas for shortcut module
- #1919200: Create configuration schemas for simpletest module
- #1919202: Create configuration schemas for statistics module
- #1919206: Create configuration schemas for syslog module
- #1919208: Create configuration schemas for taxonomy module
- #1919210: Create configuration schemas for text module
- #1919212: Create configuration schemas for toolbar module
- #1919214: Create configuration schemas for tracker module
- #1919216: Create configuration schemas for translation module
- #1919218: Create configuration schemas for update module
- #1935094: Create configuration schemas for Tour module
From the original patch that was committed (not all of these are necessarily complete, double checking helps):
- Contact module: http://drupalcode.org/project/drupal.git/blob/refs/heads/8.x:/core/modul...
- Image module: http://drupalcode.org/project/drupal.git/blob/refs/heads/8.x:/core/modul...
- INCOMPLETE: User module: http://drupalcode.org/project/drupal.git/blob/refs/heads/8.x:/core/modul... (see above for issue to complete it)
- INCOMPLETE Views module: http://drupalcode.org/project/drupal.git/blob/refs/heads/8.x:/core/modul... (see above for issue to complete it)
- INCOMPLETE: System module: http://drupalcode.org/project/drupal.git/blob/refs/heads/8.x:/core/modul... (see above for issue to complete it)
Documentation #
Format and API documentation can be found at http://drupal.org/node/1905070.
Slightly related as the schema refers to config standards, but we dont have config standards yet: #1948284: [policy no patch] config save format and default yml file format and coding standards
Steps to test and review the sub issues #
#1921348: Started updating to latest typed data system will help. See the instructions below, with screenshots in #9
If there is a syntax error, then the testbot will fail to install. So the testbot is good for telling us if there is a syntax error.
Manually test by (these steps need work):
- visually inspect schemas by looking at the yml files.
- open data .yml file
- open schema .yml file in another window
- compare that the schema describes the data manually, with your eyes comparing the two files in the two windows
- use http://drupal.org/project/config_inspector
Look also for integer vs Boolean or Mapping vs sequence errors
(Is the next part necessary?)
- changing some setting in the ui that relates to the yml data
- then looking in the yml to see if it changed ok
- check the functionality worked after changing config
Follow-up Issues
| Comment | File | Size | Author |
|---|---|---|---|
| #9 | Screenshot_2_20_13_12_54_PM.png | 110.09 KB | gábor hojtsy |
| #9 | Screenshot_2_20_13_12_56_PM.png | 79.2 KB | gábor hojtsy |
| #9 | Screenshot_2_20_13_12_57_PM.png | 76.82 KB | gábor hojtsy |
Comments
Comment #0.0
gábor hojtsyAdd docs link
Comment #1
gábor hojtsyLinked schema files that were already committed with the original patch above. We do know the views schema is incomplete and already have #1910606: Improve the configurations schemas for Views significantly for that. The rest can use double checking.
Comment #2
gddComment #2.0
gddAdd original patch files
Comment #2.1
gddUpdated issue summary.
Comment #2.2
gddUpdated issue summary.
Comment #2.3
gddUpdated issue summary.
Comment #2.4
gddUpdated issue summary.
Comment #2.5
gddUpdated issue summary.
Comment #3
larowlanIf it gets into core, we need to add #1809352: Write tour.module and add it to core to this list
Comment #4
gábor hojtsyTagging for configuration schema (instead of sprint).
Comment #5
gábor hojtsy@heyrocker was actually very busy opening individual issues:
- #1912250: Complete configuration schemas for system module
- #1912258: Complete configuration schemas for user module
- #1912266: Create configuration schemas for action module
- #1912298: Create configuration schemas for aggregator module
- #1912302: Create configuration schemas for book module
- #1912308: Create configuration schemas for breakpoint module
- #1912316: Create configuration schemas for dblog module
Some have already found lucky owners to pursue, others are still looking :)
Comment #5.0
gábor hojtsyUpdated issue summary.
Comment #5.1
vijaycs85Adding issue for modules (from field to update).
Comment #6
gábor hojtsyBTW as per current state of discussion in #1919200: Create configuration schemas for simpletest module, we don't have an immediate use-case for developer-only modules to have language or context sensitive value overrides for their configuration, so adding schemas is no immediate need there. Please say so if you believe that should not be the case :)
Comment #6.0
yesct commentedUpdated issue summary, adding initial draft of steps to test/review
Comment #6.1
yesct commentedUpdated issue summary, adding #steps-to-test
Comment #6.2
yesct commentedUpdated issue summary, uh, trying html
Comment #6.3
yesct commentedUpdated issue summary steps to review/test
Comment #7
yesct commentedI updated steps to test/review in the summary
Comment #8
yesct commented#1648930: Introduce configuration schema and use for translation had a test drive the patch section in the issue summary that might have some inspiration for steps to test/review instructions.
(and I might go back and read some of my reviews to see what I did, or what people said was helpful)
Comment #9
gábor hojtsyAll right, I've updated the Drupal 8 configuration schema inspector module at
http://drupal.org/sandbox/reyero/1635230(later promoted to http://drupal.org/project/config_inspector) so now it fully runs on Drupal 8 (check out the only available branch, master). It provides a "Configuration inspector" tool at Admin > Reports, that can be used to inspect config data in the light of its schema. There are various ways you can find missing pieces and bugs with schemas using this tool. It provides a raw dump as well as a list table, a nested tree and a form autogenerated from the config data based on schema.Here are example issues found with the inspector:
1. Raw data inspector for the contact module category shipped with core. Shows items in data that are not described in schema. (These data pieces will not show at all in the list, form or tree views since they are not accessible via the schema).

2. Form inspection for the same config. Shows the lack of labels makes it impossible to generate a translation form. (An actual translation form would not contain all the items from config, but this schema has no labels whatsoever).

3. Raw data inspection on the contact module master settings shows an item in the schema that is defined at an incorrect level. This makes the data inaccessible like if it was not defined, since it does not have a definition at the right place. I've already opened #1922178: Fix issues in contact module configuration schema when I found this.

I think it would be great if the list/tree/form browsers could expose data even on levels where they don't have a schema, that would make it even easier to test. However, this should be good as a starting point now to find and fix issues both in existing schemas and in the proposed schemas.
Comment #10
gábor hojtsy(Also note for followers, vijaycs85 has been busy opening more issues, see above in issue summary and http://www.drupal8multilingual.org/issues/schema)
Comment #10.0
gábor hojtsyUpdated issue summary test instructions
Comment #11
dags commented@Gábor Hojtsy, Config Inspector ignores definitions with class ="\Drupal\Core\Config\Schema\Property" ... How are definitions with that class different from a Mapping? Why are they ignored? And how can I test the patch in #1919210: Create configuration schemas for text module?
Comment #12
gábor hojtsy@dags: can you cite a valid example where that type is used as a result of schema being in place for the data? As far as I've seen the code, this would directly be used only if the (portion of the) data had no schema (and could not be detected as string). We've actually added some extensive test coverage for that at #1905230: Improve the typed data API usage of configuration schema.
Comment #13
gábor hojtsyFYI for followers: #1914366: Move all configuration schema files into a schema subdirectory landed, the schema files have a new location.
Comment #13.0
gábor hojtsyadded to instructions that the inspector works and link to gabor's comment showing screenshots
Comment #14
gábor hojtsyDue to popular request, promoted the config inspector module to a full project. See http://drupal.org/project/config_inspector
Comment #14.0
gábor hojtsyUpdated issue summary, added marker to use as handle for #steps-to-test
Comment #15
dsnopekShould the labels in the config schema match the labels on the settings form?
I started reviewing the patch for #1919202: Create configuration schemas for statistics module and I noticed several labels that were fine, but they're not the same as on the admin form. Should we be attempting to match them? Or will anything that's reasonably descriptive do?
UPDATE: Here is my review on the statistics config schema patch in case you're interested in the specific labels and how they differ from the admin forms: http://drupal.org/node/1919202#comment-7150448
Comment #16
dsnopekIn person at the sprint in Chicago, YesCT told me that we should strive to match the labels between the schema and admin forms where possible!
Comment #17
yesct commentedrelated #1948284: [policy no patch] config save format and default yml file format and coding standards
Comment #17.0
yesct commentedUpdated issue summary with tour module
Comment #18
gábor hojtsyOpened #1948884: Create configuration schemas for block and custom_block modules and re-opened #1919208: Create configuration schemas for taxonomy module because it did not cover taxonomy vocabulary entities, so they are not yet translatable.
Comment #19
gábor hojtsy#1935094: Create configuration schemas for Tour module and #1910606: Improve the configurations schemas for Views significantly remain the only two remaining issues for now. Upcoming conversions to config like #111715: Convert node/content types into configuration need their own issues. I just opened #1958740: Create configuration schemas for content type config entities for that one. I think the minimal number of remaining issues as well as that they are coming up as we do more conversions, not as existing work piled up, we can close this tracking issue down. I'm folding remaining schema issues into http://www.drupal8multilingual.org/issues/focus (issues tagged with D8MI *and* sprint).
Comment #20
tstoecklerAlso tagged #1953404: Add config schema to field and instance config entities accordingly.
Comment #20.0
tstoeckleradded related config standards issue.
Comment #20.1
yesct commentedadded follow up for langcode and uuid
Comment #20.2
vijaycs85Updated issue summary - for picutre module
Comment #21.0
(not verified) commentedUpdated issue summary - for editor module
Comment #22
swentel commentedThere's a bunch of schema issues waiting for field modules as well, see http://realize.be/field-api/node/61 - Also, entity form display went in, so the widget stuff needs to go away from the config schema's that have patches and we also need to remove them from the existing text module.
Comment #23
swentel commentedRe-opening after talking to YesCT
Comment #23.0
swentel commentedadded a section for field stuff
Comment #23.1
swentel commentedUpdated issue summary.
Comment #23.2
swentel commentedUpdated issue summary.
Comment #23.3
swentel commentedUpdated issue summary.
Comment #23.4
yesct commentedTOC -c
Comment #23.5
yesct commentedtrying to remember how to use html -c
Comment #24
yesct commentedissue summary updated.
a section for field issues was added.
I think we will have another group of metas also coming in.
Next steps:
Goal *crowdsource*
check the steps to test on how to use the config inspector to do a review, update instructions here in the issue summary as needed.
make a video of doing a review
write a blog about how to do a schema review
tweet out a link to these instructions and the video
Comment #24.0
yesct commenteddeleted accidental copy and paste. -c
Comment #24.1
yesct commentedadd more views issues.
Comment #24.2
yesct commentedadding assigned formmater
Comment #24.3
yesct commentedadding config inspector link to instructions
Comment #24.4
vijaycs85Updated issue summary.
Comment #24.5
yesct commentedadd language config
Comment #24.6
yesct commentedadding another language one, inserting in the first round... -y
Comment #24.7
yesct commentedusing the @ we are doing now.
Comment #24.8
yesct commentedmoved language as they were not first round and dont want them to get lost there.
Comment #24.9
yesct commentedadding date.
Comment #24.10
yesct commentedadding a few @ in the issue numbers.
Comment #24.11
webflo commentedAdd issues for entity module
Comment #24.12
vijaycs85Updating round #2
Comment #24.13
vijaycs85Updated issue summary.
Comment #24.14
vijaycs85Updating config section.
Comment #25
xjmWe might want to postpone further efforts in these issues on #2130811: Use config schema in saving and validating configuration form to ensure data is consistent and correct since we currently have no way of enforcing that the schemata are accurate and don't diverge from the actual config data.
Comment #26
alexpottBumping priority as completing this is beta and release blocking
Comment #27
vijaycs85Updating sub-task list
Comment #28
vijaycs85Updating issue summary...
Comment #29
ianthomas_ukMove 2 more to fixed
Comment #30
aspilicious commentedComment #31
mustanggb commentedComment #32
gábor hojtsyNeed an issue for schema coverage of migrations based on prior conversations with chx I think. He pointed out we may not be technically able to do that, so may need schema system changes and/or migration YAML format changes.
Comment #33
vijaycs85All in-progress sub-tasks are closed as they all moved to #2167623: Add test for all default configuration to ensure schema exists and is correct. So setting this meta fixed.
Comment #34
gábor hojtsyYay, thanks! Duplicate would be more appropriate.