portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aurelien Pernoud" <apern...@sopragroup.com>
Subject RE: Last call for 1.4b4 patches/enhancements
Date Wed, 16 Apr 2003 15:06:33 GMT

Mark Orciuch a ecrit :
>
> I'd like to propose a "code freeze" for new
> enhancements/proposals until we
> release on the April 21st. If we could concentrate on cleaning up the
> above list and fix any last minute major bugs, we should be able to
> release on the 21st. Let me know if everyone is OK with this date.
>

I've already talked Scott about bug 18188 which is a little enhancement in
skinning, and that should be backward compatible
(I've tried it with the skins present in jetspeed to test). I made the
changes we spoke together, based on the heavy use of CSS (in fact the skin
entry can be just one property, the class to use for the portlet).

I know he's got trouble with security bugs now that are more important than
skinning, so could anyone else have a look at this proposal, see if it makes
sense to you ?
Cause I'd really like this to get into b4, I could even make a little
tutorial on skinning process then.

Thx,
Aurelien

PS : for those who are afraid of backward compatibilities, here's a mail I
sent to Scott on the way it works (a little long but easy to understand) :

--------------------------------------------------------------------------

Hi Scott,

I've done my changes again for skin enhancement, using your idea of a global
div around the portlet, and then only css stuff.
The new patch is attached to the bug, as well as new files
(http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18188)

I saw there's an upcoming release of jetspeed (1.4b4), and I'd really love
to see this included... What I can tell you about it :
- The only changes are for rendering. Even in customizer, I didn't change
any functional code, only the "look" of the pages are changed to match new
skins.
- I tested the older skins already present in jetspeed, they still work the
way they used too
- The new skins works this way :

A portlet is a table with 3 columns, 3 rows

(only the first row contains 4 columns : left border, title of protlet,
action buttons, right border)
title of portlet and action buttons uses the same css to render
                            ________________
- title   (+ left/right)   |__|_____|____|__|
                           |  |          |  |
                           |  |          |  |
- content (+ left/right)   |  |          |  |
                           |  |          |  |
                           |__|__________|__|
- bottom  (+ left/right)   |__|__________|__|

The way it works to be backward compatible :
** the skin registry doesn't contain the new key "portlet-skin-class"
-> the rendering is the old one :
                            __________
- title                    |_____|____|
                           |          |
                           |          |
- content                  |          |
                           |          |
                           |__________|

the global div doesn't contain a css class
and then I use the values present in the skin and apply them on the right
part

** the skin does contain the new key
-> then it SHOULD not contain all the older ones that are obsolete.
the rendering adds a div class="VALUE OF portlet-skin-class" around the
portlet

The default class then used for the portlet are :
* PTitleLeft, PTitle (two times, one for title, one for action buttons),
PTitleRight
* PContentLeft, PContent, PContentRight
* PBottomLeft , PBottom , PBottomRight

So your css looks like
.MySkin .PTitleLeft {}
.MySkin .PTitle {}
....

I've attached a sample skin with the patch, you'll understand better from it
:)

While I was on rendering, I fixed little troubles of portlet rendering
(there were extra width="100%" that were causing troubles).

I tested the stuff under Netscape 6.2.3, Mozilla 1.2, IE5/6, seemed to work.

Also I think there is kind of a "hack" that I left because it seems to be
old, on top of jetspeed.vm :
## ----------------------
## Set portlet style
## ----------------------
#if (${skin.TitleBackgroundColor})
  #set ($portletStyle="border-color: ${skin.TitleBackgroundColor}")
#end

and then this is used for portlet style. But I don't understand why the
border of the portlet should take its color attribute from
TitleBackgroundColor... You'll see the "hack" in progress if you comment
those lines and select the orange-red-Bordered skin, the border is then
grey, which is ok (to me !) cause in the skin registry it says to use
"BorderedPortlet" class, which is grey... With this hack, the border is then
orange.
I left it cause I don't know how many people have made skins without exactly
knowing how this works ;)

Another change : default.css now imports skins.css, cause I think it should
be separate.

If this is applied, I can easily make a little doc on how to make skins
using the new stuff. I've already commented the skins.css to explain why
some values are there (such as width for borders of portlet), but I can do
it better with a little more time.

With this change and your changes about image.paths (BTW, a little comment,
I think you should be using images-path instead of image.paths, cause every
other entries are using "-", little typo ?), it's becoming really easy to
make nice skins !

Waiting for your comments,

Aurelien
--------------------------------------------------------------------------


---------------------------------------------------------------------
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