[Pmwiki-users] Re: Re: Re: Partial pagenames in URLs

Patrick R. Michaud pmichaud
Mon Sep 20 16:25:42 CDT 2004


Christian's message helped me figure out the problems I was having
with Bronwyn's suggestions, so I'll reply to both here.

On Mon, Sep 20, 2004 at 11:32:50PM +0200, chr at home.se wrote:
> On Fri, 17 Sep 2004, Bronwyn Boltwood wrote:
> > I think some of the confusion is because we're not getting the use cases  
> > right.  I see three use cases:
> > 1. the page specified doesn't exist, but the group exists. (This currently  
> >    produces "Describe _______? here.")
> 	http://www.pmwiki.org/PmWiki/PageThatDoesNotExist

Christian cleared up the confusion I was having-- case #1 only occurs
when we have a complete URL, and I was asking specifically about partial
URLs.  In case #1 we have a complete URL containing both a group and 
a pagename, and so the correct response is to simply give a way to 
create the page.  If the default text for this is incorrect, then 
we change $DefaultPageTextFmt to be more appropriate, but referring the
user to a separate wiki page called "Main.PageNotFound" is definitely
wrong (for one, it changes the group being displayed).

It might be worthwhile to eliminate $DefaultPageTextFmt, or to allow
the user to create {$Group}.DefaultText pages that define the default 
text for newly created pages in that group (i.e., a simple form of
editing template).

> > 2. the group specified exists and has other pages, but doesn't have a  
> >    homepage yet.
> 	http://www.pmwiki.org/SomeGroup
> > 3. the group doesn't exist yet at all, so it needs its homepage to be  
> >    created.
> 	http://www.pmwiki.org/NewGroup
> 
> > In all cases, we need to ask, "were you looking for something else, or  
> > would you like to create the page?".  The difference is in whether the  
> > user is creating just *a* page or the group homepage.

And the point is that we can't tell from the partial URL alone exactly
what the user's intent was.  "SomeGroup" and "NewGroup" above are
too descriptive--we as humans know what was intended.  But what PmWiki 
really sees in these cases is the equivalent of

        http://www.pmwiki.org/XYZ

If there's a XYZ.XYZ or XYZ.HomePage, then no problem, PmWiki knows 
what to do.  But if neither of these pages exist, it's not at
all clear what should happen.  If XYZ happens to name a group that
contains other pages, we might infer that the user intended to create
a new group home page.  But more likely he was at a page "XYZ.Something"
and was hoping to reach the "index page" for this group (and there isn't
one).  So in addition to offering a link to create the group's home page, 
we might display a list of other pages in the group that might contain
what the user was searching for.

If XYZ doesn't name an existing group, then we have even less to go on.  
Maybe the user is intending to create a new group.  But perhaps he 
simply mistyped a group name, and meant "XYY" instead of "XYZ".  
Perhaps he was trying to reach "Something.XYZ" but forgot to put 
the "Something" in the URL.  In this case I think we should offer some
links for creating a new group, but also display a list of pages with
"XYZ" in the name somewhere (which is essentially the same as what
we did above).

> There's also the detail that he's either creating a new page in an
> existing group, or a new page and group. Maybe this should be indicated in 
> some informative text at the top of the Editing page? Or perhaps directly 
> in the editing form? For a new page in an existing group we could have:
> 	Describe NewPage here. This will be a new page in the group 'Main'

Too lengthy for me, and some authors don't know (or need to know) about
WikiGroups.

> For a new page in a new group, the form could say:
> 	Describe NewGroup.NewPage here. This will also create a 'NewGroup' 
> 	as a new page.

I'm assuming you mean "as a new *group*", but this seems to make it appear
as though creating a group is somehow "special", when it's not.

> > Pm's put cases 1 and 2 under PageNotFound, and case 3 under  
> > GroupNotFound.  But going by what kind of page will be created, case 1  
> > should be PageNotFound, but cases 2 and 3 should be GroupNotFound.

Bronwyn mischaracterizes what I've done somewhat.  Case #1 only
occurs with complete URLs, so it's outside the scope of what I was
trying to solve (partial URLs).

Bronwyn's case #2 shouldn't go to a "GroupNotFound" page, because
in fact a group *was* found.  It would have to be something like
"GroupHomePageNotFound".  But Bronwyn comes to the same conclusion I
did, which is that #2 and #3 aren't different enough to warrang separate
pages.

> Oh.. so a special page would be shown also for a "normal" page that 
> doesn't already exist.

I definitely don't like this.  See my comments about $DefaultPageTextFmt
at the beginning of the message.

> > Cases 2 and 3.
> > The homepage for the group _______ doesn't exist yet.
> > Create ________.________?
> > Create ________.HomePage?
> > (Offer other options here)

This is what "PageNotFound" currently does.  We could call it "GroupNotFound",
but this assumes the user was looking for a group when he entered the URL
(or knew that he was looking for a group, or even knows what a "group" is).
I'd rather just say "we couldn't find what you were looking for", and
provide options to create the common things, a list of pages that might
be related to what the user entered, and (perhaps) a way to conduct a
wider search of the site.

> /Christian (hoping this will further the discussion)

It did for me, thanks.

Pm



More information about the pmwiki-users mailing list