This page explains why PmWiki doesn't currently use hierarchical or nested groups.
When implementing WikiGroups I did think for a while about implementing hierarchical groups but ultimately decided against it for several reasons:
To see the first point, and to borrow from the example given, instead of writing Animal.Mammal.Canine.StBernard one can just as easily write AnimalMammalCanine.StBernard and get basically the same results and capabilities. Or, if we really need separators, perhaps allow hyphens in WikiGroup names and do something like Animal-Mammal-Canine.StBernard.
I disagree. The group AnimalMammalCanine has no implied relationship to group Animal, the way Animal.Mammal.Canine does. --Profiles/EvanProdromou
From a practical view point, how would an "implied relationship" change anything in terms of how pages are rendered or interpreted? --Pm
PmWiki would "know" the relationship between the Animal group, the Animal.Mammal group, and the Animal.Mammal.Canine group. This affects various functions: group searches (would cover subgroups), renaming (moving a group to a different place would also affect the pages in the subgroups), pagelist generation (again, would include subgroups - good for generating wikitrails that span several hierarchies).
Many of these issues could be worked around by allowing wildcards on group names in the various context. The ramifications of this approach haven't been well explored yet.--JoachimDurchholz May 24, 2006, at 05:00 PM
That implied relationship would also enable inherited permissions, so that if a password restriction were placed on the Animal group, that restriction would automatically carry down to Animal.Mammal.Canine.StBernard. To handle that with the AnimalMammalCanine.StBernard style format, you'd have to protect each subgroup seperately. Anonymous, May 21, 2007
Perhaps designing where you cut off groups would make a better difference? i.e. Animal.MammalCanineStBernard vs. AnimalMammalCanine.StBernard or perhaps a separate wiki for different main groups. -- I have not looked at farms or such yet -- But, I can see wanting a sub-group just for an event. i.e. Main.Events.Eventa (eventa might have 10 docs) I am guessing events should be its own wiki in a wiki farm? I saw somewhere you could share logins among wiki's? Patrick, July 4, 2009
It would be nice if pages could be defined in a hierarchy (I'd rather say, classified) so that context sensitive menus could be generated. A means for defining additional relations metadata could provide additional menuing for crumbtrail and related links, all automatically generated for each page. --pacoit
On the second point, the problem comes from trying to decide what one should do with markup such as "Canine.StBernard" inside of the "Animal.Mammal" group, especially if there's a top-level group named "Canine". If we treat Group.WikiWord links as always being absolute, then there's not much organizational advantage to having hierarchies. If we allow relative paths, then there's all sorts of room for ambiguity unless even more markup is added to resolve it, and it's possible that someone creating a page in an intermediate subgroup inadvertently changes the target of existing links. All of which just makes things more difficult for naive users.
There's indeed a problem here. Hierarchical file systems solve this by distinguishing absolute paths syntactically (i.e. in Unix they have a leading /).
--JoachimDurchholz May 24, 2006, at 05:32 PM
One of the central problems is that if a name refers to both a page and a group, there are two conflicting intuitions of what's the "current group" on the page. It could be the page itself, or it could be its parent page.
--JoachimDurchholz May 25, 2006, at 03:27 PM
Since PmWiki not hierarchy-compliant, i can't use it on our site. We need at least 3-level hierarchy. Hierarchy on PmWiki is a technical or philosophy problem?
''' Perhaps not the right platform
I would have to agree that for some applications or perhaps for some of us that have a mental construct of hierarchical systems that pmwiki is difficult to wrestle with. I have been searching high and low to figure out how trails, links, and groupings work. I suppose I assumed I could group within groups. The result was that links and pages seemed to disappear. Trails led to places that made no sense and renaming a group disconnected what I thought were children.
Reading this says to me that there are ways to change my thought process about relationships but I think I am too old and set in my ways to rethink all of this and perhaps my best solution is to find another platform. That is not to say the decisions on this platform are not well thought out and work for many (or perhaps most) people.
Does anyone have a suggestion on a platform that would be a good replacement?
This topic has been discussed on the pmwiki-users mailing list at great length on several occasions throughout 2003 and 2004, and the general consensus seems to be this:
The software has been designed such that it could eventually support hierarchical groups via a Cookbook recipe, if we ever resolve the outstanding issues.
There are also other alternatives to using the group hierarchies to organize page content -- WikiTrails, Categories, and WikiFarms can often resolve the issue with more power and flexibility than what WikiGroups can do.
The Cookbook.SubgroupMarkup recipe adds one level of subgroup to the current wiki structure. For many problems, this may be sufficient. It introduces [[,subpage]] markup to designate a subpage of the current page. The subpages of a particular page form a subgroup of the current group. For example, [[,proposals]] and [[,discuss]] are pages in the PmWiki.HierarchicalGroups subgroup of the PmWiki group.
The issue has been discussed on and off on the mailing list. Summaries of proposals, conceptual backgrounds, and other discussion results can be found on the HierarchicalGroups-Proposals page.
Category: PmWiki Design