[Pmwiki-users] Why heirarchy?

Patrick R. Michaud pmichaud
Wed Oct 20 12:29:01 CDT 2004


[resending to cc: pmwiki-users]

On Wed, Oct 20, 2004 at 10:30:06AM -0700, Fred Chittenden wrote:
> A simple league template with
> nestable hierarchy would seem to be quite easy:

Except that you seem to be focusing on the names while ignoring my points 
about the issues with relative links.  To wit, let's look at the 
template you just provided, and we'll assume it's in RecSoccer.BoysU8.HomePage:

> --------------------
> Rec Soccer Boys <Age>
> [[LeagueSchedule]]
> [[LeagueStandings]]
> Teams -- 
> [[TeamA]]
> [[TeamB]]
> [[TeamC]]

Okay, these are all links to siblings of RecSoccer.BoysU8.HomePage, 
so this creates links to pages 
   RecSoccer.BoysU8.LeagueSchedule
   RecSoccer.BoysU8.LeagueStandings
   RecSoccer.BoysU8.TeamA
   RecSoccer.BoysU8.TeamB
   RecSoccer.BoysU8.TeamC

No problem so far.

Now then, let's follow the link to TeamB, meaning we're now looking
at page RecSoccer.BoysU8.TeamB.  That page contains...what?  If we
say it contains (from an earlier post)

> -----------------------------
> Welcome to the <team> web page.
> 
> [[TeamRoster]]
> [[PracticeSchedule]]
> [[TeamNews]]
> -----------------------

then TeamRoster, PracticeSchedule, and TeamNews are *sibling* links
to the current page (RecSoccer.BoysU8.TeamB), which results in links to 
pages
    RecSoccer.BoysU8.TeamRoster
    RecSoccer.BoysU8.PracticeSchedule
    RecSoccer.BoysU8.TeamNews
and we've lost "TeamB" from the page identifier.

Now then, in RecSoccer.BoysU8.HomePage one *could* say that the
links to [[TeamA]], [[TeamB]], etc. should have linked instead to
    RecSoccer.BoysU8.TeamA.HomePage
    RecSoccer.BoysU8.TeamB.HomePage
    RecSoccer.BoysU8.TeamC.HomePage
...but this begs several questions: 
  * Why didn't [[LeagueStandings]] link to 
    RecSoccer.BoysU8.LeagueStandings.HomePage?   
  * If we say [[LeagueStandings]] links to RecSoccer.BoysU8.LeagueStandings 
    because ...LeagueStandings.HomePage doesn't exist, what happens if
    someone suddenly creates LeagueStandings.HomePage?  
  * Assume I have an existing RecSoccer.BoysU8.LeagueStandings, and
    I now want to create RecSoccer.BoysU8.LeagueStandings.Revised
    (thereby turning LeagueStandings into a group).  How do I create the
    link to this page, or even just create the page?

Indeed, the second question of pages suddenly appearing and usurping link
targets already exists in the one-level scheme that PmWiki uses, and
would have worse effects in a multi-level scheme.  For example, in PmWiki's
default configuration, if a sibling target doesn't exist PmWiki looks
for a group with the same name as the target and links to that if it
exists.  Otherwise it shows the "create new page" link.

At A&M Corpus Christi, the instructors had each student create a personal
WikiGroup, and within the WikiGroup each student was to create a page
called "MyGoals".  Students would do this by creating their home page,
adding [[MyGoals]] to the page, clicking on the "non-existent page" link
to create it, and off they go.

Somehow, someone created a page called MyGoals.MyGoals, so that any
students who didn't already have a MyGoals page suddenly found their
[[MyGoals]] links redirecting them to this other page.  Worse, few
of the students noticed that they were no longer in their personal 
WikiGroup, and began complaining that "someone else keeps editing my 
goals page" as multiple students ended up inadvertently linking to
this other page instead of the one in their own WikiGroup.

Placing the separators in RecSoccerBoysU8TeamA so that it becomes
RecSoccer.BoysU8.TeamA is really not an issue--I agree fully that this
would be preferable.  What *is* an issue is figuring out a consistent 
mechanism for relative page links to work such that it doesn't lead
authors to be confused when their links don't go where they expect,
and why, and how to correct it.

Pm



More information about the pmwiki-users mailing list