forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicola Ken Barozzi <nicola...@apache.org>
Subject Re: [RT] Generalizing tabs (Re: [USER POLL/VOTE] Defining tabs?)
Date Fri, 16 May 2003 16:59:16 GMT


Jeff Turner wrote, On 16/05/2003 17.13:
...
> In RT mode for a second, how about adding another option:

Aaarggg ;-PPPP

>   3 - A tab is a visual flag indicating some property of the current page
> 
> Typically, we think of menus containing pages.  How about if, instead, we
> consider the page's top-level menu as a _property_ of that page?  So all
> manual/*.xml files have a 'classification' property with value "User Manual".
> 
> Why bother with this weird inverted thinking?  Because we can represent
> _other_ properties as tabs too:

<snip>awesome ascii art</snip>

> Visually, most of these tabs would be tiny things off to the right of the
> tab bar.  We would want to fit more than one 'tabset' in the tab bar.
> We'd want the category and format tabsets on by default.
> 
> Implementation
> --------------
> 
> Currently, tabs2menu.xsl takes the current page path, and uses this as a
> 'key' to lookup the current tab in tabs.xml.
> 
> We can generalize this quite simply: instead of doing the lookup in
> tabs.xml (containing just 'classification' metadata), do the lookup on a
> dynamically generated site.xml, which contains metadata for every file:
> 
> <site>
>   <index label="Index" href="index.html"
>      format="html">
>      xml:lang="en"
>      applies-to="C2.1"
>      review-status="draft"
>      classification="home"/>
>   ....
> 
> Much of those site.xml attribute can be generated on the fly from page
> <meta> tags.  The real thing would probably be RDF.
> 
> We would need a schema (RDFS? RNG?) declaring the possible attribute
> values for our page metadata.  We'd need that to know, for example, that
> 'draft' is part of the set {draft, published, obsolete}.

Since we do have meta tags in xhtml2, it's very easy to think that we 
can add these items to the page.

The question is: why show them as tabs? More below.

> So we've got an XML source of page metadata.  tabs2menu.xsl opens this,
> looks up the current page's node, and displays some aspect of this
> metadata as a set of tabs.

No flaws here. You are right, the presentation can decide to do as you 
say, it's correct.

> Implications
> ------------
> 
> Instead of having to POLL/VOTE for the One True Meaning of Tabs, we
> define a mechanism by which tabs can represent a variety of things,
> including a variety of classification models.  To treat tabs as
> bookmarks, just write a tabs-as-bookmarks.xsl.  For tabs that correspond
> to top-level menus, write a tabs-as-toplevelmenus.xsl.  We can do both
> and see which works best.

Ok, put it this way, we are on the same page, with additional features I 
really like, in your RT.

You see, I think tabs are top-level menus, you have another idea. Well, 
if we can implement both and have users be able to decide is ok with me, 
if done like you say, and also getting metadata stuff too.
I also can use both, as I can include "my" tabs as normal tabs and other 
meta info as a combobox, or back and forward buttons for navigation 
(they are standard xhtml2 meta tags).

You are basically proposing to switch the burden -fully- to the 
rendering engine, which is exactly what I want :-)

But the discussion of the poll is still somewhat relevant, as Forrest 
will come with a default "skin" behaviour, so we have to decide what 
that is. From this quick poll it seems that the tabs-as-containers is to 
be tried as the default for now, but I'd also like other flavors to be 
available and switchable easily by the user with a property somewhere.

So, trying to recap:

  +1 to making site.xml be transformed to include page-level metadata
  +1 to making site.xml be transformed to include dir-level metadata
  +1 to making site.xml be transformed to include site-level metadata
  +1 to making tabs-as-containers the default behaviour of Forrest for
     now
  +1 to making it easily switchable by the users
  +1 to making a poll/vote on this before the next release

Good idea Jeff, I like it :-D

-- 
Nicola Ken Barozzi                   nicolaken@apache.org
             - verba volant, scripta manent -
    (discussions get forgotten, just code remains)
---------------------------------------------------------------------


Mime
View raw message