Forums / Developer / Settings override order

Settings override order

Author Message

Bertrand Dunogier

Wednesday 13 July 2005 2:40:06 am

I'm setting up a multilingual site with ezp, and either I don't understand something, either something doesn't make sense.

The current settings override order:
- settings/x.ini
- settings/siteaccess/y/x.ini.append
- settings/override/x.ini.append

doesn't sound logical to me. Initially, I thought it would have been global => global override => siteaccess.

That way for instance, you can setup all the common stuff in global overrides, then finetunes for each siteaccess in the respective ini files.

In my multilanguage website example, I could have done:

override/site.ini.append:

[SiteSettings]
LoginPage=embedded

then in siteaccess/foo/site.ini.append
[SiteSettings]
SiteName=...
SiteURL=...

And so on.

Now I have to totally replicate the siteaccess folder and edit all files everytime. I'm not even sure how i'm gonna handle my overrides, actually :)

<b>suggestion:</b>
I was thinking about an additionnal setting like AdditionnalSiteSettingsList which would let you specify an override folder where settings would be loaded for that siteaccess.

Thoughts ? And maybe suggestions if I'm doing something wrong... :)

Thanks !

David Eriksson

Wednesday 13 July 2005 3:46:12 am

Well, as the name suggest, override settings override other settings. Which would explain it being placed last in the list.

How I have solved sharing common settings, is simply to put all global settings in override/.ini, and then place site-specific settings in the siteaccess folder. That way you shouldn't have to replicate anything.

That said, I can understand what you mean, and it would be nice. The only way I can think of to do that right now, is to place your "default" values in settings/site.ini, and place more specialized values in the settings/siteaccess/ folders, leaving override/site.ini.append empty regarding these values. But modifying the "original" site.ini isn't a good solution in my eyes, so...

/David

Bertrand Dunogier

Wednesday 13 July 2005 4:32:13 am

Yeah, I'm doing something similar.

But what I feel is missing is an additionnal level of override. When you have 2 siteaccess, a user one and an admin one, the current system is perfect.

But when you have several user siteaccess, you can not use the global override for everything... for instance RequireUserLogin, SiteDesign, etc. They will be similar for every user siteaccess, but different for the admin one, so you can't use the global override files for those.