[dokuwiki] Re: Config Cascade and writing config settings

  • From: Christopher Smith <chris@xxxxxxxxxxxxx>
  • To: dokuwiki@xxxxxxxxxxxxx
  • Date: Sun, 19 Jun 2011 20:51:11 +0100

On 19 Jun 2011, at 01:40, Andreas Gohr wrote:

>>> As you can see, acronyms/local is an array. AFAIK this is because you
>>> might want to use a local file in the farmer and a local file in the
>>> animal.
>> 
>> Why would you want to do that? Do you have any use cases in mind?
> 
> Simple use case: the farmer want's to change some values from the
> default settings (without touching dokuwiki.conf for update safety)
> but wants to allow animals to override them.
> 
> This could be done with the following setup (following tips:farm) if I
> understand the whole thing correctly.
> 
>    'main' => array(
>        'default'   => array(DOKU_INC.'conf/dokuwiki.php'),
>        'local'     => array(DOKU_INC.'local.php', DOKU_CONF.'local.php'),
>        'protected' => array(DOKU_CONF.'local.protected.php'),
>    ),
> 
> Or am I completely on the wrong track here?
> 
> Andi
> 

On reflection, I think you're on the wrong track.  Your later message is the 
better way, putting the farmer recommended settings into default.

> 
>        'default'      => array(DOKU_INC.'conf/dokuwiki.php',
> DOKU_INC.'conf/farmer.php'),


Since only one file can take local changes made by config plugin,  having more 
than one local file probably isn't sensible - using array keeps the structure 
consistent and allows the same processing as 'default' and 'protected'.

Before local (default) is 'recommend' and after local (protected) is 'enforce', 
so

default dokuwiki settings  [default]
farmer recommended animal settings [default]
local animal settings      [local & writable]
enforced specific animal settings [protected]
enforced global farm settings   [protected]

If you had groups of animals (flocks?), the additional recommended settings and 
restrictions should go into default and protected.

- Chris

--
DokuWiki mailing list - more info at
http://www.dokuwiki.org/mailinglist

Other related posts: