[pmwiki-users] Feature request: Action lists in skins

Patrick R. Michaud pmichaud at pobox.com
Fri Apr 8 08:36:10 CDT 2005


On Fri, Apr 08, 2005 at 11:36:44AM +0200, Joachim Durchholz wrote:
> Bronwyn Boltwood wrote:
> >I wanted to improve the behaviour of the interface as well as its look,
> >and that means my work is in the place where function and form meet.
> >I'm not satisfied to just paint on pretty colours.

I'm of the opinion that function and form have to meet *somewhere*,
and the best place for that to happen is generally in the skin and 
not in PHP code.  But that's just my opinion.

> >That would be because the recipe creator can't be completely certain
> >what you want to do with it.  No matter what he chooses, somebody will
> >dislike it.
> 
> [...]
> It's not as clear whether the admin wants to actually see the new action 
> in the action list. He may prefer to type the ?action=... string on the 
> URL bar manually. (The only reason I can imagine is that it's something 
> that end users aren't supposed to see. If that's the only reason (are 
> there others?), that can be handled using a permission-based approach: 
> show exactly those actions that are available under the current 
> permissions.)

No, it's not the only reason, and a permission-based approach isn't 
sufficient (or correct).  

One of the basics of good human interface design is to make only the most 
common actions visible, and provide a way for the human to discover
the other actions that may be available.  Otherwise a new user of the
system can be too overwhelmed by all of the available options.
This means that the set of "available actions" (as determined by 
permission) is not necessarily the same as the set of actions 
we want to make visible.

In fact, in some environments the two concepts are completely
orthogonal.  Here's the matrix:

    Action available + visible:  This is done for the most common
       actions, so that a new user can quickly locate common operations.

    Action available + invisible:  These are actions for which a
       user has permission to perform, but aren't displayed because
       they interfere with the skin aesthetics (too many actions), 
       aren't something we want to advertise (?action=attr), or are
       just too advanced to force upon new users (?action=refcount).

    Action unavailable + invisible:  These are actions for which
       the user doesn't have authorization, so we want to hide the
       action or not bother the user with the additional information.

    Action unavailable + visible:  The user may not have permission
       to perform the action, but we want to let them know that the
       option exists so that the user can start to inquire about
       obtaining permission.  For example, we might want to prominently
       display "Edit Page" even if a user isn't authorized, so they 
       know that page editing is available and can start taking steps
       to obtain permission.

So, it's entirely reasonable (and desirable) to have actions that 
visible but inaccessible, or actions that are accessible but invisible.

> > As for the skin authors, well, they have no way of
> >knowing what recipes you have installed and want a UI for.
> 
> Which is why I'd like to relieve skin authors from decisions about 
> action lists.

1.  Fair enough, but this doesn't automatically mean the primary 
    control of action display should therefore pass to recipe authors.  
    Control needs to rest with wiki administrators, and we have to
    make it easy for wiki administrators to find and use that control.

2.  Skin authors already have the ability to relieve themselves of
    action decisions, via some the mechanisms we've already discussed
    in this thread (e.g., the use of ActionList wiki pages).
    Whether a particular skin author chooses to do so is, well,
    up to the skin author -- we cannot force it upon them except
    by convention, guidelines, or "market pressure".

Pm



More information about the pmwiki-users mailing list