In order for various systems to be able to properly interact with the configuration items, the configuration schema has been introduced. This is basically a way to define the actual configuration items, notated in the YAML format, and resides inside the config/schema folder of a module.
There are three main reasons why configuration needs schema definitions:
- Multilingual support: As we will see later, configuration is translatable in Drupal 8. However, in order to know which parts of the configuration are needed to be, or can be, translated, the schema system has been brought in to provide this additional layer. This way, configuration items that ship with contributed modules can get their own translations on the localize.drupal.org ...