[Pmwiki-users] Re: Re: can pmwiki handle hierarchical content?

chr@home.se chr
Sat Oct 16 06:37:51 CDT 2004


On Fri, 15 Oct 2004, Patrick R. Michaud wrote:

> On Fri, Oct 15, 2004 at 10:57:33AM -0400, Stefan Candea wrote:
> > 
> > I know there was a ton of discussions on this.  However, can someone
> > explain simply (what did it come down to?) why having pages as files and
> > groups as subdirectories was a no-no from the begining?  
> 
> The fundamental problem is simply one of clarity in creating relative
> page links to other pages--nothing more.  

I've drawn a picture hoping it will help clarify the issue,

	http://www.md.kth.se/~chr/pmwiki/organization/page-tree1.png

where the current page is called 'B' and has the imaginary URI

	http://<wiki-URI>/A/B

from which I define the 'page path' of that page as '/A/B'.

Now let us assume that the page '/A/B' contains the markup [[A]] which
links to a page called 'A'.  To which page should this link point?

Here are some of the possible candidates:
* The child page, /A/B/A
* The sibling page, /A/A
* The parent page, /A

It is not always clear which one you really want (which is why it'd be
good to have some "real" examples of page trees, from which you can tell
where the links are supposed to go).

When the target page exists, we could use a "page path" to let the wiki
engine look for the target page in several places. For instance, it could
first look among the child pages, and then among the sibling pages and so
on. Unfortunately this strategy may decreases the robustness of existing
links. For instance, if the page /A/B/A does not exist, but /A/A exists,
then the link [[C]] will point to /A/A. However, what should happen if we
now create /A/B/A?

Note also that we already have this problem in PmWiki. If your current
page is /A/B and you add the link [[PmWiki]] to the page, that link will
point to /PmWiki/PmWiki. However, if you now create the page /A/PmWiki,
the link will point to that page instead...

When it comes to creating a new page, this is often done by adding link 
markup to a page. For instance, let's say we add [[NewPage]] to /A/B and 
then clicks on the newly created link. Where should this page be created?
Here we could give the user a choice between creating
* /A/NewPage 	(sibling page)
* /A/B/NewPage	(child page)
but maybe that would be too confusing? So maybe it would be better to 
choose one of the above by default?


If someone can come up with a more realistic example of a page tree, I'd
be happy to draw a similar figure for it.

/Christian

-- 
Christian Ridderstr?m, +46-8-768 39 44               http://www.md.kth.se/~chr





More information about the pmwiki-users mailing list