[pmwiki-users] PmWiki namespaces

Petko Yotov 5ko at 5ko.fr
Mon Aug 31 14:55:20 CDT 2009


On Monday 31 August 2009 12:08:09 Eemeli Aro wrote:
> 2009/8/31 Petko Yotov <5ko at 5ko.fr>:
> I'm not happy about the level of cognitive dissonance
> (Something:Something can be interpreted in at least three completely
> different ways) and custom re-wiring of PmWiki internals that's
> required. Added to that, I want a way of figuring out which PageStore
> a specific displayed page is coming from, a way to move or copy pages
> between PageStores, and an attachment system that presents itself as a
> seamless part of this whole. Also, I figure that as a side product of
> all this I can get a system that should make creating & maintaining a
> WikiFarm as easy as adding a few lines of code to a config file.
> Backwards-compatible with the current PmWiki system, of course.
...
> I think that changing some of the
> fundamentals would in fact be easier, and present a more cohesive
> whole. There's a lot of potential in page attributes and custom
> PageStores that I think isn't being exploited as well as it could be.

Thanks for your reply. All this sounds very interesting to me, although still 
abstract. If your customization needs some specific hook or switch in order to 
be enabled from a default PmWiki installation, we'll add it.

I also think that if it is implemented in a good, cohesive, not overly complex 
way and is backwards compatible, it may be considered for inclusion to the 
core. (If it isn't quite compatible, we could consider it for version 2.3 or 
2.4.)


About your questions in the previous message:
>How should namespaces be identified? With Sisterly I use a prefix
>"WikiName:" that matches Attach: and Intermap links, as well as how at
>least MediaWiki handles namespaces, but is there a better way?

First thing coming to my mind is Namespace::Group.Page or 
Namespace//Group.Page.

Also, you may prefer making this separator configurable. I kind of regret that 
currently the Group.Name separator isn't -- and novice users often make 
mistakes. It should be more difficult to link cross-group and cross-field. But 
it is not an easy task to change it (it is not being considered before version 
2.3 or even 2.4 :-). 


>Should reading and writing pages from specific PageStores in
>$WikiLibDirs be supported? In other words, should something like
>"WikiLib:Site.EditForm" give you the default edit form that's in the
>wikilib.d directory?

You said that you need this, so why not. Only note that there may be more than 
one wikilib.d/, shared.d/, etc., coming from skins/recipes/wikifarms..., and 
there could also be none (disabled by the admin, imported into a database...).

Thanks,
Petko


P.S. I have a custom shared.d/ directory for doc/form/XLPage/PTV pages in a 
wikifarm. Pages are writable in one of the fields, read-only in all others.
  http://www.pmwiki.org/wiki/Cookbook/SharedPages

This may satisfy some of the needs of other people in your situation.

P.P.S. About this:
> creating a WikiFarm as easy as adding a few lines of code to a config file

you can mkdirp() different $WorkDir and $LocalDir depending on $HTTP_HOST. 
Then you don't even need to add lines in config files in order to create 999 
new wiki fields...




More information about the pmwiki-users mailing list