[pmwiki-users] PmWiki work directory, re-revisited

Patrick R. Michaud pmichaud at pobox.com
Sat Feb 3 10:20:01 CST 2007

On Sat, Feb 03, 2007 at 02:20:52PM +0100, Tom Lederer wrote:
> Hi, i would like to comment that in my point of view there are  
> basically three types of directories on a server:
> 1. dirs that should not be touched, because it's the "installation",  
> 2. dirs that contain data, meaning they change over time
> 3. dirs that will most likely be changed by the admin only
> Following that i would organize the dirs in this fashion: (using  
> current names)
> pmwiki/
> 	index.php (including pmwiki.php)
> 	"core"/
> 		scripts/
> 			pmwiki.php
> 		wikilib.d/
> 		guiedit/ (from pub)
> 	"data"/
> 		wiki.d/
> 		uploads/
> 		cookbook_data/ (for data from cookbook recipes)
> 	"custom"/
> 		skins/ (from pub)
> 		local/
> 		cookbook/

Interesting.  The main difficulty with this approach comes in
mapping urls into the above structure, because we then have
to produce and keep track of urls like:

    /pmwiki/core/guiedit/...          # to access guiedit images and .js
    /pmwiki/data/uploads/...          # for direct access to uploads
    /pmwiki/custom/skins/...          # to access skin graphic images

In other words, the urls to these items are no longer all
relative to $PubDirUrl -- we'd have to maintain separate 
configuration variables for each. 

Also, the reason why PmWiki doesn't include an "index.php"
file in the distribution is because some sites/administrators
want to have a custom index.php, and having it in the distribution
would overwrite index.php with each upgrade.

> Besides i would put pmwiki.php in a safer zone, reading (and having  
> done this error myself) that beginning users tend to tamper with  
> pmwiki.php, only to notice that it will be overwritten by an update.

I'm not sure that moving pmwiki.php will avoid this tendency --
the inclination to modify the script is just too strong.

However, I just noticed that pmwiki.php doesn't itself contain
an admonition against modifying the file (like the ones at
http://www.pmwiki.org/wiki/PmWiki/Installation and
http://www.pmwiki.org/wiki/PmWiki/LocalCustomizations), so
I should probably add that as well.

Thanks for the very worthwhile suggestions.  Because of the
issues in handling urls to public files I'm likely to stick 
with something closer to what we have now.


More information about the pmwiki-users mailing list