[pmwiki-users] RFC: PITS 00701 -- WikiFarm confusion

Joachim Durchholz jo at durchholz.org
Wed Mar 15 03:18:23 CST 2006


Patrick R. Michaud schrieb:
> 
> I need to write up the original motivations for farms and groups
> (and what they're intended to provide) as a page on pmwiki.org; 
> perhaps this will help people make more informed choices.

Oh yes, that's an excellent idea.

Actually I'd like to read the trade-offs between:

* Multiple PmWiki installations on the same server
* Farming
* Groups

Plus instructions how to convert between each configuration, so that I 
know whether switching is an issue or not.


Here's a data point about farm perception (i.e. my personal perspective; 
skip down to the last paragraph if you find this all too long-winded, 
I'm summing up my feelings there):

If farms are just a way to share code, parts of the configuration and 
skins across wikis, they are accomplishing this in a way too complicated 
fashion.

Farms need special configuration - the directory layout is different. 
Given the questions on the mailing list, several recipes won't work on 
farms due to these differences.
The mere existence of the farming mechanism doubles the testing overhead 
for anybody who develops core, add-ons, maybe even skins. That's very, 
very bad: writing recipes suddenly becomes nearly double the work 
(testing still takes the lion's share of development work); worse, 
recipe writers will tend to omit testing on a farm configuration (I have 
to confess that I'm one of these negligent recipe writers myself: lack 
of resources, lack of interest.)

I'd really like to see if PmWiki dropped farming in favor of an optional 
configuration for shared code/separate data. I.e. install PmWiki in one 
place, then have separate data installation directories with index.php 
scripts that say something like
   <?php
   $data_directory = getcwd ();
   chdir ('/path/to/shared/pmwiki/installation/');
   require_once ('pmwiki.php');

For admins, this is easy to set up, and has easy-to-understand ramification.
For farms, the average admin won't be able to predict the ramifications 
without reading documentation details.

I mean, this is more a cultural than a technical problem - actually I 
think that farming isn't very far from the shared-code separate-data 
approach.
Let me put on my admin hat and imagine that somebody tells me "you can 
install multiple wikis with a shared PmWiki code installation". I'd 
predict instant enlightenment for that case: that's how much software 
and in fact all operating systems work.
If, on the other hand, I fantasize that somebody tells me "PmWiki can be 
configured as a 'farm' with 'fields'", I predict just: "Huh?" I'd have 
to ask what a "farm" is, what a "field" is, what this all is good for, 
what will be shared and what won't. I have to embark on a time-consuming 
quest for information (as opposed to knowledge).
Unless I'm doing something with PmWiki farming on a day-by-day basis, I 
will forget the details because no other software in the world uses a 
farms-and-fields analogy. In other words, I'll have to relearn the 
details every time I return to PmWiki (this will be less time-consuming, 
of course, but it will still be a slight barrier). Since I know that 
beforehand, I'll remain reluctant of farms - and I think that's at the 
core of the confusion around farms/fields.
Summing this up, I think farming can be made non-confusing if and only 
if the concept can be explained in a single phrase. It should be as easy 
to grasp as "shared-code/separate-data". If the explanation is longer, 
the confusion will most likely persist.

Just my 5c.

Regards,
Jo




More information about the pmwiki-users mailing list