[dokuwiki] Re: Dokuwiki farm question

  • From: Karl Loncarek <dh2mll@xxxxxx>
  • To: dokuwiki@xxxxxxxxxxxxx
  • Date: Tue, 20 Oct 2009 21:55:57 +0200


What is your additional constant and how do you intend to your urls will reference the different "animals" (farmed wikis)?
I created a constant named DOKU_FARMER which should point to the main DokuWiki installation (relative path). Basically I added this variable throughout some scripts to most occurences of DOKU_BASE and some DOKU_URL. (DOKU_FARMER is concatenated between those constants and following text.

As I said the only thing I'm not sure is how to handle those helper scripts like indexer.php and mediamanager.php (located in lib/exe).

In the end I'm thinking of such a directory structure:
/animal/index.php
/animal/data
/animal/conf
/farmer/doku.php

A user would for example call http://someserver.com/animal/index.php to execute the animal. If he would call http://someserver.com/farmer.doku.php default Dokuwiki installation will show up.

/animal/index.php would contain this newly created constant DOKU_FARMER and such a command would be issued:
define('DOKU_FARMER','../farmer');

last line of index.php would be
include DOKU_FARMER.'doku.php';

Of course some other constants have to bet set also (I have to find out which exactly are necessary and which aren't. Currently DOKU_INC, DOKU_SCRIPT, DOKU_CONF). This constant could be checked lateron in some other script to recognize whether dokuwiki farmer is called by an animal if some special action (maybe an additional admin plugin) should be available or not.

Did you look at using preload.php?
No. My approach is that the animal links to the farmer. Using preload.php would mean that it is loaded with call of each animal. IMHO preload.php should be used only for some special settings concerning the whole farm (farmer & animals).
- Chris
Maybe the helper css.php and js.php and maybe also ajax.php of the farmer can be used without changes. For indexer.php and mediamanager.php I have to think of a way how they could recognize that they were called by an animal. Currently the index and some uploaded files are saved at the farmers data directory which is incorrect.

For the first step plugins and templates have to be installed in the farmer and are then available to all animals. Allowing each animal his own template installation (it's always choosable) would need much more changes to the dokuwiki sources and might lead to more problems than it has benefits (BTW: Which benefits?). It might be considered later, but I don't really see the need for this.

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

Other related posts: