portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stijn de Witt" <Stijn.deW...@bergland-it.nl>
Subject Re: [J2] Menu implementation (Offtopic)
Date Thu, 24 Jun 2004 00:16:01 GMT
----- Original Message ----- 
From: "Ate Douma" <ate@douma.nu>
To: "Jetspeed Developers List" <jetspeed-dev@jakarta.apache.org>
Sent: Tuesday, June 22, 2004 7:58 PM
Subject: Re: [J2] Menu implementation

<SNIP>

> *Page Decoration* (or skin)
> A Page Decoration supplies a css style and optionally image references to
be used by a Page Decorator.
> Furthermore, a Page Decoration can supply default css styles and
optionally image references to be used by Menu
> Decorators and Portlet Decorators.
>
> *Menu Decoration* (or skin)
> A Menu Decoration supplies a css style and optionally image references to
be used by a Menu Decorator.
>
> *Portlet Decoration* (or skin)
> A Portlet Decoration supplies a css style and optionally image references
to be used by a Portlet Decorator.

I would like to point out a disadvantage I see with the skinning as
currently implemented by Jetspeed 1.
When you supply, say, a background color for a portlet, it actually renders
that color in the html in a style attribute, like this:
style="background-color: blue;".  The big disadvantage of this is that such
a style setting cannot be overridden from within the stylesheet. You
actually have to change the background color in the skin, causing different
html to be rendered. Another big disadvantage is that you start to mix
structure and presentation again, even if they are separated in the source
tree. Yet another problem is that you can only change properties that are
part of the skin.

I just found from experience that I really didn't like the skinning concept
as currently implemented in Jetspeed 1, because it goes against my feelings
of how html should be written, and I actually spent some days rewriting
templates to get it out.

Here are some things I think are important in a skinning concept:

- All half-important elements in the html page should be 'reachable' from
the css. This means that every table, cell, paragraph etc. should have a
class attribute.
- All elements that are reachable through a 'class', should be reachable
through an 'id', that should be unique on the page
- The html should contain as little style elements as possible (no font
tags, no borders, no bolds etc...)
- The styling should be contained in the css for as much as possible
- You should have to modify templates as little as possible for styling
matters

The styleclass attributes in the skins were an improvement, but I would like
some well-chosen default values to be set from the start. I would like to be
able to write css like this:

.portlet
{
  background-color: white;
  color: darkblue;
}

.portletTitle
{
  background-color: darkblue;
  color: white;
}

Also, I think that, if done right, the 'skin' could end up just being the
name of a css file, or of a folder containing a bunch of css files.
Creating a new skin would be creating a new css file (or copying an existing
one) and writing or modifying the css.

With kind regards,

-Stijn


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org


Mime
View raw message