[Pmwiki-users] Easily Hackable?

Eric Celeste efc
Sun Apr 4 22:23:53 CDT 2004


> I think it's a good idea to use LongerGroupNames to simulate SubGroups is a
> great idea.

LongerGroupNames can only simulate SubGroups to a certain extent. They are
fine for now, in all likelihood. But when we are ready for a real
authorization scheme, then SubGroups would be much more functional.
SubGroups give you something to which you can attach metadata. For example,
you could store authorization attributes to apply to the subgroup with the
subgroup. You could specify a skin for the subgroup. You could create a php
script for the subgroup. All of these are much harder to apply to a part of
a LongerGroupName.

In fact, the more I think about this, the less the concept of groups vs.
pages is helpful. Why not just treat any leaf of the tree as a page, any
other kind of node as a group or subgroup. This would be simpler than a
filesystem and probably make more sense in a wiki-ish way. For example,
consider this...

   main
   main/cookbook
   main/cookbook/niftymenu
   main/cookbook/niftysidebar
   main/comments
   staff/committees/personnel
   staff/committees/operations
   staff/committees/outreach

In this example, all the leafs (main, cookbook, niftymenu, niftysidebar,
comments, personnel, operation, outreach) are pages. If I try to go to
"staff/committees" I find a page with the "Describe committees? here" note,
because it does not yet exist as a page. However "staff/committees" does
exist as a group, and the attributes assigned to that group also apply to
all pages inside that group, until overridden by deeper attributes.

On the other hand, "main/cookbook" already exists as both a page and a
group. In this model, there are not really any attributes to the page
"cookbook". But any attributes to the group "cookbook" would apply to the
page "cookbook" (being "deeper" than the "main" attributes) and to the pages
"niftymenu" and "niftysidebar". In fact, in this model the "group" is really
only an attribute store for a page and its (potential) children. It is a
place for metadata. Or, alternatively, one could say that a page is only one
element of the metadata in a group.

Oh, sigh. I am convinced that this kind of structure would simplify
administration of an authorization scheme down the road. But this may also
be overkill for most wikis. Certainly, PmWiki does well enough without
anything of this sort.

...Eric




More information about the pmwiki-users mailing list