Currently in SiteAccess config system in eZ Platform, when out of the box bundled and thirdparty bundles define their own config which should be siteaccess aware, eZ Platform reuses Symfony’s NodeBuilder system for allowing us to express the config we want to expose as siteaccess settings.
In those interfaces there is possibility to define defaultValue(‘value’) or defaultNull(), however this breaks with how Site Access system works, as it means any scope (siteaccess, siteaccess group, global) you define in your ezplatform.yml config, it will pick default value.
A couple of examples of issues that have been the result of this can be seen here:
However while those two issue are solved, many more are lurking around in the misc bundles out there and people will surely make this mistake again and not know only way to define default value is by defining value in default scope.
So how can we improve DX and avoid this issues completely?
A. Decorate NodeBuilder and throw on usage of these methods?
B. Same but log warnings instead of throwing in order to be able to backport this?