[pmwiki-users] Hierarchy use case; Hierarchial pages v.s. hierarchical groups

Joachim Durchholz jo at durchholz.org
Fri Jun 2 19:35:18 CDT 2006


John Rankin schrieb:
>> A "hierarchical page" is one that consists of sections, which in turn 
>> may consist of subsections, subsubsections etc.
> 
> ... and may be represented as one or more nested wiki pages?

Not by my definition - a page is a page, hierarchical or not.

In fact the -Talk that you mentioned elsewhere sounds like a wonderful 
demonstration for hierarchical groups.

Assume there's a feature Foo discussed on PmWiki. It turns out the page 
becomes too long, so there's a subpage Foo.Talk associated with Foo. Now 
if Foo is itself in group Cookbook, the .Talk page can be reached under 
Cookbook.Foo.Talk.

If there's a seamless path from subpages to groups, the discussion can 
grow organically: start as a humble paragraph somewhere on the page, 
later factored out into a subsection; then the section became separately 
editable, turning it into a subpage; and finally, when it became big 
enough to warrant a page of its own, it was given its own page in the 
Cookbook.Foo group.

(There's a slight terminological hiccup here: I have been using the term 
"subpage" as referring to a page that's textually part of another page. 
Alternatively, it could be defined as "a page that's in the group that 
the current page is the main page of".)

> Jo, do you find a need for (I don't have a good name for it)
> "relationship pages"? I'm thinking of cases where Pages in
> Group C define a many-to-many relationship between pages
> in Group A and pages in Group B?

Yes, there's a classical use case for many-to-many relationships: user 
groups (sometimes also called "roles", which carries slightly different 
connotations but is semantically and structurally really the same).

Now assume some future revision of user authentication in PmWiki where 
user groups are configured inside PmWiki pages. I.e. there's a group 
Users that contains all the users' "home pages", and a group UserGroups 
that contains listings of the privilege that membership in each group 
confers.

This case also clearly shows that you wouldn't create a 
UsersToUserGroupsMappings group. You'd simply list all users that are 
part of a user group on the usergroup's page; to get the reverse list 
(listing all groups that a user is in), simply use a PageSearch markup.
(Now that PmWiki builds and maintains a page index since 2.1, this 
should even be fast enough.)

> I am wondering whether the discussion ought to consider other 
> sorts of relationships, not just hierarchies. 

Which? Lists-of-things is one, but that can be covered using links.

Actually I'm starting to wonder whether anything beyond a hierarchy can 
be handled well with a URL... is this a general principle, or am I just 
too used to seeing everything as a hierarchy?

Regards,
Jo




More information about the pmwiki-users mailing list