[dokuwiki] Re: status of farms?

  • From: Christopher Smith <chris@xxxxxxxxxxxxx>
  • To: dokuwiki@xxxxxxxxxxxxx
  • Date: Sun, 25 Oct 2009 13:48:42 +0000


On 25 Oct 2009, at 12:07, Anika Henke wrote:

Hi list,

This weekend I finally tried some DokuWiki farming [http://www.dokuwiki.org/tips:farm2 ] for the first time.

I was impressed at how easy it is. :)
This also leads to 2 questions:

1. What is the complete status of farming in DokuWiki?
I haven't tested it properly and only clicked randomly around a bit. So, I was wondering if anyone with a better insight and more experience could report on what still needs to be done? As far as I could see, templates and plugins *per animal* are the only things that are missing? Is there any unexpected behaviour left?

There might be issues with plugins that directly access themselves. Do any plugins do this?

Apart from that I don't thinks so.


2. Whenever farming will be in a stable state, will it be implemented into the core? I think inc/preload.php should be part of the core. If no farm directory is specified it would be no harm. And if it is specified ($conf['farmdir']?) anyone can add an animal by simply copying the appropriate folders into the animal folder.

Preload makes farming possible/easier, its not the only use.


I really like the way Drupal handles animals!
For those of you not familiar with it: Drupal has one directory ('./ sites/') which contains a) all non-core modules and themes (or in DokuWiki terms: plugins and templates) which are shared across all animals (in 'sites/all').
b) all default config files and more (in 'sites/default').
c) all animals, each in its own directory in the form of 'domain.org' which contains the site-specific config files, themes and modules!

See also http://drupal.org/getting-started/6/install/multi-site

AFAIK we are already half-way there. The "only" things missing are:
* a particular directory for non-core plugins and templates (this is not important for farming, but I like it :) )
* animal-specific plugins and templates

I am wary of this. Plugins and templates are executable PHP and have unrestricted access to the server (much like enabling php in a wiki).

I prefer a single repository of plugins/templates with per animal enable/disable.


I implemented the handy and more flexible way Drupal handles its farm directory into a preload.php, see http://www.dokuwiki.org/tips:farm2#variant_of_the_virtual_host_based_setup_like_multi-sites_with_drupal

So, my dream in one line: path_to_dokufarm/domain.org/conf|data|tpl| plugins

Any thoughts?



I'm in favour of directory separation of default config from local config. The config cascade allows this while also allowing the current shared directory setup. You'll need to prevail on Andy to get a change in the default setup. I did ask already ;-)

The things still missing are:
- farm management admin plugins.
-- create/remove animals. -- restrict config settings by animal (equivalent to setting local.protected, e.g. php=off)
-- restrict plugin availability by animal.
-- restrict template availability by animal.

- animal management admin plugin.
-- animal specific plugin page that allows enable/disable of plugins available to animal

(there maybe other functions, iirc, we brainstormed on this back at Froscon '08)

Once there are the farm plugins, I think it would be worthwhile to have a farm enabled dokuwiki install version, which included those plugins and preload.

- Chris
--
DokuWiki mailing list - more info at
http://wiki.splitbrain.org/wiki:mailinglist

Other related posts: