Voting starts in March for the Drupal Association Board election.
We attempted to introduce configuration schema for all configuration in Drupal core (with exception of some test configuration). We maintained that configuration schemas are optional and our introduction for all of configuration is best practice driven.
However we have been very forgiving for missing or incorrect schemas across the board. We are throwing SchemaIncompleteException when a mapping definition is missing a key but not when any other schema is incomplete or incorrect. Eg. when improper types are used (such as
type: array) or when a dynamic type element has no resolution. And even when we threw exceptions, we swallow them up one level up in the call chain, so they don't end up casing actual failures.
This was all good while building schemas, so we can work while some things are incomplete or incorrect. We should make a stand in handling incomplete/incorrect schemas and either throw exceptions for all error cases and not swallow them up or skip throwing the exceptions because they are useless in practice anyway.
Figure out the feasibility of throwing exceptions for all issues.has examples where views defines data on behalf of disabled modules, so the schema cannot be complete. Those would fail if we just throw fails at all times. We need to figure out how to resolve cases like that.
Consider unifying exceptions as well, the duality of UnsupportedDataTypeConfigException vs. SchemaIncompleteException is confusing...
Discuss. Implement. Review. Commit.
User interface changes
|#172||2183983-schema-full-force-on-172.patch||39.15 KB||Gábor Hojtsy|
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 82,063 pass(es). View
|#172||interdiff.txt||5.54 KB||Gábor Hojtsy|
|#171||2183983-schema-full-force-on-171.patch||33.61 KB||Wim Leers|
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 82,066 pass(es). View
|#166||2183983-schema-full-force-on.patch||32.85 KB||Gábor Hojtsy|
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 82,179 pass(es), 0 fail(s), and 1 exception(s). View
|#157||2183983-config-schema-strict-104.patch||390 bytes||Gábor Hojtsy|
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] 81,851 pass(es), 18 fail(s), and 25 exception(s). View