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

Tom Lederer celok at gmx.net
Sat Feb 3 07:20:52 CST 2007


Am 03.02.2007 um 13:40 schrieb christian.ridderstrom at gmail.com:

> On Fri, 2 Feb 2007, Patrick R. Michaud wrote:
>
>> Back in December I brought up a thread [1] regarding a dedicated  
>> "work directory" for PmWiki scripts.  There were many useful  
>> suggestions and comments... and then I left for vacation and was  
>> too distracted with holidays.  :-)
>
> Good for you!
>
>> [1] http://thread.gmane.org/gmane.comp.web.wiki.pmwiki.user/36932
>
>> There are some nice advantages to having a single top-level  
>> writable directory.  For one, it means never changing permissions  
>> on the pmwiki/ directory itself -- one simply sets permissions on  
>> this data directory. It also means that the top-level writable  
>> directory can be part of the distribution, and clearly labeled as  
>> such.  Lastly, it means we need only one .htaccess file to protect  
>> the contents of the writable directory.
>>
>> The structure would be something like:
>>
>>    pmwiki/
>>      pmwiki.php        # main PmWiki script
>>      cookbook/         # directory for cookbook scripts
>>      data.d/           # top-level writable directory
>>        wiki.d/         # page file storage
>>        work.d/         # temporary/work files
>>      docs/             # basic documentation
>>      local/            # local customizations
>>      ...etc...
>
> What about uploads/, pub/cache/ etc?
>
[SNIP]

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",  
nor do they change
2. dirs that contain data, meaning they change over time, usually by  
pmwiki
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/

that way the core could be made read only, the data would have to be  
written by the webserver only and the custom dir is changed by the  
admin.

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 do know that this would be a major change (most likely for most  
recipes too) with some work to be done, but i wanted state my opionon  
at least. And i would like to point out, that this is written only  
from the admin point of view, knowing that there might be  
considerations not to do it this way from a programmers point of view.


Best Regards,
Tom






More information about the pmwiki-users mailing list