[pmwiki-users] hierarchical groups, revisited

Américo Albuquerque aalbuquerque at lanowar.sytes.net
Thu May 25 16:51:23 CDT 2006

----- Original Message -----
Subject: Re: [pmwiki-users] hierarchical groups, revisited
Date: Thu, 25 May 2006 15:42:58 -0500
From: "Patrick R. Michaud"

 > On Thu, May 25, 2006 at 06:11:09PM +0100, Américo Albuquerque wrote:
 > > > > The root of the confusion is that the filesystem analogy breaks
 > > down at
 > > > > this point. In a file system, a directory doesn't double as a
file; in
 > > > > PmWiki, a group doubles as a page.
 > > >
 > > > Exactly.
 > >
 > > Not so for urls. Using /somedir is the same as doing
 > > /somedir/index.html. The same can be said about the PmWiki groups,
 > > /Group would be the same as saying /Group/$GroupPage (whatever the
 > > $GroupPage is). In a hierarchical page you would simply have a Group
 > > named Animal that would have to have a homepage defined, be it Animal,
 > > HomePage or any other name. [[Animal]] in it's sibling pages would
 > > actually lead to [[Animal/$GroupPage]]
 > Actually, this doesn't quite work. Suppose someone creates
 > a generic page about dogs called Animal.Canine (with no subpages).
 > The Animal.Canine page contains links to other pages in the
 > Animal group, such as [[Feline]] and [[Reptile]].
 > After this page is created (and has links to it from other places),
 > someone decides that Animal.Canine should have subpages in it such as
 > Animal.Canine.Beagle and Animal.Canine.Terrier. So, they create
 > Animal.Canine.$GroupPage to be the home page for the canine group.
 > What happens to the original Animal.Canine page? We can't just
 > move its contents to Animal.Canine.$GroupPage, because then all of
 > its links will be broken. And we can't say that /Animal/Canine
 > is the same as /Animal/Canine/$GroupPage, because then we don't
 > have a way to get to the contents of the original Animal.Canine page.
I didn't say that, what I said was that the /Animal/Canine group is the
same as saying /Animal/Canine/$GroupPage. In your example you would have
2 Canine pages set, the first would be /Animal/Canine and the 2n would
be /Animal/Canine/$GroupPage. If you want to link to this pages in a
sibling what would you do? [[Canine]] would link the the /Animal/Canine
page, that means you need to use [[Canine/$GroupPage]] to link to the
group page. The same can be said if a user wants to create a page called
/Animal, it wouldn't link to /Animal/$GroupPage, would it? After all
that's what's going to happen when you allow a page to lay in the same
level as the group

 > > > Exactly. And I think filesystem syntax is too widespread and
 > > > too far ingrained in the web itself for us to be able to dismiss it.
 > > Yes but there is some similarity with XML namespace syntax. XML
 > > can have both text (act as a page) and childs (act as a group)
 > Sure, but does XML support relative links between elements?
Yes, it does. XML doesn't have a concept of Group, to XML everything is
a Element. /Animal in XML is a element, not a group. As a element it can
have text (as a page does) and other elements as children (as a group).
To XML there is no need of a /Animal/$GroupPage because /Animal has it's
own text. To see how the elements relate to each other check
http://www.w3.org/TR/1999/REC-xpath-19991116 (xpath is how is called the
link system between XML elements)

Americo Albuquerque

PS - your email provider doesn't accept emails from my home email so I'm
sending the reply just to the list

More information about the pmwiki-users mailing list