Atempt to simplify the configuration stack in CubicWeb
Related #476 (closed)
I've made the mistake to look at CW source code again, or was forced too, idk.
Anyway, I've made a map of all the weird configuration gigantic class stack we have in CW.
Here how it looks WITHOUT devtools:
And with devtools:
It's kinda overly complicated for no real good justification.
So I've decided to try to simplify it like that:
Which result in that:
And with devtools (which explains why I couldn't merge it even more) :
Since this is a lot of modification I've split it into parts because we might not want all of them or all of them at once, so commits are in this order:
- merging CubicWebNoAppConfiguration into CubicWebConfiguration because it has no real usage
- merging WebConfigurationBase into WebConfiguration because it has no real usage
- remove the -c option to 'cubicweb-ctl create' which allowed to create CW using "repository.conf" or "pyramid.conf" but was in practice never used and we only use (I think?) "all-in-one.conf" today
- this allow to remove CubicWebPyramidConfiguration because it's not used anymore
- which allow to merge BaseWebConfiguration into WebConfiguration
I've used search-forge to see if any of the removed class are used somewhere and the only case is here:
For CubicWebPyramidConfiguration which just needs to be removed from this list.
So we'll probably won't have any real retrocompatibility issues.