PressCrew / infinity

A WordPress theming engine
http://infinity.presscrew.com
GNU General Public License v2.0
40 stars 12 forks source link

Drop configuration stack override in favor of setting overwrite. #90

Closed MrMaz closed 10 years ago

MrMaz commented 11 years ago

Currently the way the configuration system works is that the value for each configuration setting for every theme in the stack is stored, and only the value for the last theme to override the setting is used.

This was originally done to make debugging the configuration easier but its really just a resource hog that doesn't serve much of a purpose.

I plan to stop storing the value as set by each theme in the stack, and instead simply overwrite the values as each theme's configuration is merged over it's parent configuration.

BoweFrankema commented 11 years ago

Would this still allow someone to overwrite an setting through a child theme ini file?

MrMaz commented 11 years ago

Yes. The key difference is it will overwrite the old setting instead of overriding it.

MrMaz commented 10 years ago

As part of this change, .ini files will be replaced with .php files containing arrays. I also plan to rename the main infinity config file from "infinity" to "global" since there has been a lot of confusion in the past where a child theme or compiled theme has a config file named "infinity.ini"

So the end result will look something like this...

infinity.ini > global.php features.ini > features.php options.ini > options.php etc...

MrMaz commented 10 years ago

Just some clarification that the global settings are still going to remain "stacked" but the component configs will probably not be stacked anymore, although I am starting to soften up on that a bit now that I rewrote the global settings registry code and its waaaaay faster.

MrMaz commented 10 years ago

This commit on the kill-confstack branch massively simplified how global theme settings are stored: c7e6e8bb11d4ec74c5dec19607867e5b8d1edda3

Component configuration has not been modified yet.