Totally agree. And this is where Jeanne comes in because I suspect some of this work may be done already. I think the missing piece may be to split up the base skin from any skin extensions so that if a skin is loaded but a skin extension is not, then they can be loaded separately.

Scott

Martin Marinschek wrote:
Or we provide this additional component/tweak the existing
stylesheet-component to provide such a feature optionally. Better have
a way of doing this that requires customization than not having a way
of doing this at all, right?

regards,

Martin

On 7/30/07, Scott O'Bryan <[EMAIL PROTECTED]> wrote:
It's possible, but Portlet events won't be available until JSR-286.  And
although I've seen some of the AJAX support for 286, I'm not sure what
the eventing model will and will not support.  So either way, we'll need
to revisit this I think when 286 comes out.  For now we're probably
stuck with the simple styling.

Simon Lessard wrote:
Ok, I'm really getting out of ideas here... But here's another attempt

Couldn't we use the portlet message event model for that ? If all
portlets broadcast a message event containing their stylesheet (yeah,
it will be ugly on the network latency...) then the first Trinidad
portlet that catch those messages get in charge of rendering the
styles and warn the other portlets that it's going to be by
broadcasting yet another message (dunno if you can broadcast from an
event listener though... I have yet to read most of the spec on
portlet events)...


Regards,

~ Simon

On 7/30/07, *Scott O'Bryan* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:

    Oops.  Submitted before I was done.

    Currently Trinidad supports the ability to turn off stylesheets,
    it also
    supports the ability to force a certain skin to render.  Making is so
    that the stylesheet only loads once, however, is not trivial and
    since
    skinning extensions are currently combined into a single style sheet,
    the first portlet and/or the portal container would need to make sure
    those skinning extensions are installed as well.

    Scott

    Scott O'Bryan wrote:
    > This won't work in WSRP Portal environments that may use distributed
    > portlets.  This is because the portlets may exist on different
    > servers.  Furthermore different portlets may have different
    skinning
    > extensions.  This will hose the styling if a portlet with no
    skinning
    > extensions gets added before portlets WITH skinning extensions.  The
    > skinning extensions will not be available
    >
    >
    > Martin Marinschek wrote:
    >> Sure, this would work.
    >>
    >> Everyone agreeing we should do it this way?
    >>
    >> regards,
    >>
    >> Martin
    >>
    >> On 7/28/07, Simon Lessard < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:
    >>
    >>> Yeah, that would imply every single renderers. In a non-portlet
    >>> environment
    >>> the performance hit would not be big though as it would only
    be on
    >>> method
    >>> call and checking if we run in a portlet environment would not
    be an
    >>> expensive operation compared to the overall job done by renderers.
    >>> However
    >>> in the portlet environment, it would be a tad more...
    >>>
    >>> What about a ResponseWriter decorator applied by the renderkit
    if it
    >>> get
    >>> called by a portlet environment? The decorator could inject the
    >>> JavaScript
    >>> style copy just before the first non <html>, <head> or <body>
    >>> element then
    >>> set a boolean flag to false to inhibit itself. The overhaul would
    >>> then be a
    >>> single if evaluation per startElement. It would be called
    often, but
    >>> a if
    >>> with a boolean flag get evaluated in 2 ticks, which is nothing
    for all
    >>> practical purposes.
    >>>
    >>>
    >>> On 7/28/07, Martin Marinschek <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:
    >>>
    >>>> But you'd need to do this check in every renderer then, right? I
    >>>> wonder if this is good performance wise.
    >>>>
    >>>> regards,
    >>>>
    >>>> Martin
    >>>>
    >>>> On 7/27/07, Simon Lessard < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:
    >>>>
    >>>>> One way would be to have something along those line:
    >>>>>
    >>>>> CoreRenderer.java
    >>>>>
    >>>>>  public void encodeBegin(FacesContext context, UIComponent
    component)
    >>>>>  {
    >>>>>   if (isPortlet(context) && !isXhtmlRootElement() &&
    >>>>>
    >>> !isStyleSheetCopied())
    >>>
    >>>>>    {
    >>>>>      pushStyleSheet(context);
    >>>>>    }
    >>>>>
    >>>>>   // Do normal processing
    >>>>> }
    >>>>>
    >>>>>  protected abstract boolean isXhtmlRootElement();
    >>>>>
    >>>>> Then we would simply have to make isXhtmlRootElement()
    return true
    >>>>> for
    >>>>> document, head and body renderers and false for the others. But
    >>>>> it's not
    >>>>> extremely clean.
    >>>>>
    >>>>>
    >>>>> Regards,
    >>>>>
    >>>>> ~ Simon
    >>>>>
    >>>>>
    >>>>> On 7/27/07, Martin Marinschek < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:
    >>>>>
    >>>>>> Sure, it would be better for the user if it works out of
    the box.
    >>>>>>
    >>>>>> As much as I think, I don't find a central place where to
    put it,
    >>>>>>
    >>> though.
    >>>
    >>>>>> Ideas anyone?
    >>>>>>
    >>>>>> regards,
    >>>>>>
    >>>>>> Martin
    >>>>>>
    >>>>>> On 7/27/07, Simon Lessard <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:
    >>>>>>
    >>>>>>> Hello Martin,
    >>>>>>>
    >>>>>>> Yeah I thought about a new component and we actually
    already have
    >>>>>>> <trh:styleSheet/> that could be slightly altered to do
    that work,
    >>>>>>>
    >>> but I
    >>>
    >>>>>>> would prefer a way not involving any action from users.
    >>>>>>>
    >>>>>>>
    >>>>>>> On 7/27/07, Martin Marinschek <
    [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
    wrote:
    >>>>>>>
    >>>>>>>> Hi Simon,
    >>>>>>>>
    >>>>>>>> true. The form-render was good for my nice small example,
    but is
    >>>>>>>>
    >>> no
    >>>
    >>>>>>>> general solution of course.
    >>>>>>>>
    >>>>>>>> I wonder if this would mandate a special component which does
    >>>>>>>>
    >>> nothing
    >>>
    >>>>>>>> but adding the stylesheet to the head?
    >>>>>>>>
    >>>>>>>> Eventually, the component could be generalized, so that
    all kinds
    >>>>>>>>
    >>> of
    >>>
    >>>>>>>> stylesheets can be added, if a link is provided and the
    stylesheet
    >>>>>>>> hasn't been added so far - I think this solution might be
    >>>>>>>>
    >>> interesting
    >>>
    >>>>>>>> for the portlet-developer in general.
    >>>>>>>>
    >>>>>>>> regards,
    >>>>>>>>
    >>>>>>>> Martin
    >>>>>>>>
    >>>>>>>> On 7/27/07, Simon Lessard < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:
    >>>>>>>>
    >>>>>>>>> Issue with #3 is not very hard, we already have a
    >>>>>>>>>
    >>> RenderingContext
    >>>
    >>>>> that
    >>>>>
    >>>>>>> can
    >>>>>>>
    >>>>>>>>> be used for that. We could probably hook that code in
    >>>>>>>>>
    >>> CoreRenderer
    >>>
    >>>>> or
    >>>>>
    >>>>>>>>> XhtmlRenderer. The only issue left then would be to not
    have
    >>>>>>>>>
    >>>>> document,
    >>>>>
    >>>>>>> head
    >>>>>>>
    >>>>>>>>> and body renderer to execute it. Placing it in
    FormRenderer only
    >>>>>>>>>
    >>>>> does
    >>>>>
    >>>>>>> not
    >>>>>>>
    >>>>>>>>> seems right in case your page does not contain a form at
    all or
    >>>>>>>>>
    >>> use
    >>>
    >>>>> a
    >>>>>
    >>>>>>> basic
    >>>>>>>
    >>>>>>>>> JSF form (extremely unlikely though).
    >>>>>>>>>
    >>>>>>>>>
    >>>>>>>>> On 7/27/07, Martin Marinschek <
    [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
    >>>>>>>>>
    >>> wrote:
    >>>
    >>>>>>>>>> For the discussion on if and how to integrate this into
    >>>>>>>>>>
    >>> Trinidad -
    >>>
    >>>>> I
    >>>>>
    >>>>>>>>>> see three cases:
    >>>>>>>>>>
    >>>>>>>>>> 1) people only want basic skinning, Trinidad uses
    >>>>>>>>>>
    >>> simple.portlet,
    >>>
    >>>>> and
    >>>>>
    >>>>>>>>>> emits portlet-standard compliant skinning hooks
    >>>>>>>>>>
    >>>>>>>>>> 2) people want normal Trinidad skinning, portlet container
    >>>>>>>>>>
    >>>>> provides
    >>>>>
    >>>>>>>>>> CSS file in the head, Trinidad doesn't have to do anything
    >>>>>>>>>>
    >>>>> (especially
    >>>>>
    >>>>>>>>>> not switch to portlet-standard compliant skinning hooks)
    >>>>>>>>>>
    >>>>>>>>>> 3) people want Trinidad skinning, portlet container
    does not
    >>>>>>>>>>
    >>>>> provide
    >>>>>
    >>>>>>>>>> the CSS file, Trinidad portlet needs to add the CSS
    file with
    >>>>>>>>>> JavaScript itself. Issue to solve: CSS file needs to be
    added
    >>>>>>>>>>
    >>> only
    >>>
    >>>>>>>>>> once.
    >>>>>>>>>>
    >>>>>>>>>> regards,
    >>>>>>>>>>
    >>>>>>>>>> Martin
    >>>>>>>>>>
    >>>>>>>>>> On 7/27/07, Martin Marinschek <
    [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >
    >>>>>>>>>>
    >>>>> wrote:
    >>>>>
    >>>>>>>>>>> Hi Simon, Scott,
    >>>>>>>>>>>
    >>>>>>>>>>> I've made skinning work now in any container - this is the
    >>>>>>>>>>>
    >>> code
    >>>
    >>>>> that
    >>>>>
    >>>>>>>>>>> I've used, for other users as a reference. We should carry
    >>>>>>>>>>>
    >>> on
    >>>
    >>>>> the
    >>>>>
    >>>>>>>>>>> discussion if and how to integrate this into Trinidad
    >>>>>>>>>>>
    >>> itself,
    >>>
    >>>>>>> though.
    >>>>>>>
    >>>>>>>>>>> regards,
    >>>>>>>>>>>
    >>>>>>>>>>> Martin
    >>>>>>>>>>>
    >>>>>>>>>>> --------------------
    >>>>>>>>>>>
    >>>>>>>>>>> use a binding attribute on your tr:form:
    >>>>>>>>>>>
    >>>>>>>>>>> <tr:form id="helloForm" binding="#{ personPage.form}">
    >>>>>>>>>>>
    >>>>>>>>>>> provide a getter for this form in your backing-bean:
    >>>>>>>>>>>
    >>>>>>>>>>>     public CoreForm getForm() {
    >>>>>>>>>>>         CoreForm coreForm =  new MyCoreForm();
    >>>>>>>>>>>         return coreForm;
    >>>>>>>>>>>     }
    >>>>>>>>>>>
    >>>>>>>>>>> write the class MyCoreForm, extending Trinidad's
    CoreForm -
    >>>>>>>>>>>
    >>> with
    >>>
    >>>>>>> that,
    >>>>>>>
    >>>>>>>>>>> you should be good.
    >>>>>>>>>>>
    >>>>>>>>>>>     public static class MyCoreForm extends CoreForm {
    >>>>>>>>>>>         @Override
    >>>>>>>>>>>         public void encodeBegin(FacesContext context)
    throws
    >>>>>>>>>>>
    >>>>>>> IOException
    >>>>>>>
    >>>>>>>>> {
    >>>>>>>>>
    >>>>>>>>>>>             StyleContext styleContext =
    >>>>>>>>>>>
    >>> ((CoreRenderingContext)
    >>>
    >>>>>>>>>>> RenderingContext.getCurrentInstance
    >>>>>>>>>>>
    >>>>>>>>> ()).getStyleContext();
    >>>>>>>>>
    >>>>>>>>>>>             String uri =
    >>>>>>>>>>>
    >>>>>>>>>>>
    >>>>>>> styleContext.getStyleProvider
    >>>>>>>
    >>>>> ().getStyleSheetURI(styleContext);
    >>>>>
    >>>>>>>>>>>             String contextUri =
    >>>>>>>>>>> context.getExternalContext ().getRequestContextPath();
    >>>>>>>>>>>             String baseURL = contextUri +
    >>>>>>>>>>>
    >>>>>>>>> XhtmlConstants.STYLES_CACHE_DIRECTORY;
    >>>>>>>>>
    >>>>>>>>>>>             String finalUri = context.getExternalContext
    >>>>>>>>>>> ().encodeResourceURL(baseURL+uri);
    >>>>>>>>>>>
    >>>>>>>>>>>             StringBuffer buf = new StringBuffer();
    >>>>>>>>>>>
    >>>>>>>>>>>             buf.append("<script
    type=\"text/javascript\">\n"
    >>>>>>>>>>>
    >>> +
    >>>
    >>>>>>>>>>>                     "\n" +
    >>>>>>>>>>>                     "//<![CDATA[\n" +
    >>>>>>>>>>>                     "\n" +
    >>>>>>>>>>>                     "if( document.createStyleSheet) {\n" +
    >>>>>>>>>>>                     "\n" +
    >>>>>>>>>>>                     "
    >>>>>>>>>>>
    >>>>> document.createStyleSheet('"+finalUri+"');\n"
    >>>>>
    >>>>>>> +
    >>>>>>>
    >>>>>>>>>>>                     "\n" +
    >>>>>>>>>>>                     "}\n" +
    >>>>>>>>>>>                     "\n" +
    >>>>>>>>>>>                     "else {\n" +
    >>>>>>>>>>>                     "\n" +
    >>>>>>>>>>>                     "var styles = \"@import
    >>>>>>>>>>>
    >>>>>>> url('"+finalUri+"');\";\n" +
    >>>>>>>
    >>>>>>>>>>>                     "\n" +
    >>>>>>>>>>>                     "var newSS= document.createElement
    >>>>>>>>>>>
    >>>>> ('link');\n" +
    >>>>>
    >>>>>>>>>>>                     "\n" +
    >>>>>>>>>>>                     " newSS.rel='stylesheet' ;\n" +
    >>>>>>>>>>>                     "\n" +
    >>>>>>>>>>>                     " newSS.href='"+finalUri+"';\n" +
    >>>>>>>>>>>                     "\n" +
    >>>>>>>>>>>
    >>>>>>>>>>>
    >>>>>>>>>>>
    >>> "document.getElementsByTagName(\"head\")[0].appendChild(newSS);\n"
    >>>
    >>>>>>>>> +
    >>>>>>>>>
    >>>>>>>>>>>                     "\n" +
    >>>>>>>>>>>                     "}\n" +
    >>>>>>>>>>>                     "\n" +
    >>>>>>>>>>>                     "//]]>\n" +
    >>>>>>>>>>>                     "\n" +
    >>>>>>>>>>>                     "</script>");
    >>>>>>>>>>>
    >>>>>>>>>>>
    >>> context.getResponseWriter().write(buf.toString());
    >>>
    >>>>>>>>>>>             super.encodeBegin(context);
    >>>>>>>>>>>         }
    >>>>>>>>>>>     }
    >>>>>>>>>>>
    >>>>>>>>>>> On 7/26/07, Simon Lessard < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>>
    >>>>>>>>>>>
    >>> wrote:
    >>>
    >>>>>>>>>>>> Thus linking Portal-Trinidad users to specific portal
    >>>>>>>>>>>>
    >>>>> vendor(s)...
    >>>>>
    >>>>>>> Ok,
    >>>>>>>
    >>>>>>>>> I see
    >>>>>>>>>
    >>>>>>>>>>>> the issue now... bleh...
    >>>>>>>>>>>>
    >>>>>>>>>>>>
    >>>>>>>>>>>> On 7/26/07, Scott O'Bryan < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]> > wrote:
    >>>>>>>>>>>>
    >>>>>>>>>>>>> Simon, you are correct.  The portal would be able to
    >>>>>>>>>>>>>
    >>> push a
    >>>
    >>>>>>>>> parameter to
    >>>>>>>>>
    >>>>>>>>>>>>> Trinidad.  Always in a portal environment the skin is
    >>>>>>>>>>>>>
    >>>>>>> uncompressed
    >>>>>>>
    >>>>>>>>> so
    >>>>>>>>>
    >>>>>>>>>>>>> that is also not an issue.  But currently changing the
    >>>>>>>>>>>>>
    >>>>>>> stylesheet
    >>>>>>>
    >>>>>>>>>>>>> provided by the Portal is a modification that needs to
    >>>>>>>>>>>>>
    >>> be
    >>>
    >>>>> made
    >>>>>
    >>>>>>> to
    >>>>>>>
    >>>>>>>>> the
    >>>>>>>>>
    >>>>>>>>>>>>> portal itself.  I think that's where Martin is coming
    >>>>>>>>>>>>>
    >>> from.
    >>>
    >>>>> An
    >>>>>
    >>>>>>>>>>>>> unmodified portal container doesn't look very good when
    >>>>>>>>>>>>>
    >>>>>>> displaying
    >>>>>>>
    >>>>>>>>> faces
    >>>>>>>>>
    >>>>>>>>>>>>> and forcing every portal container to provide a skin
    >>>>>>>>>>>>>
    >>> that is
    >>>
    >>>>> not
    >>>>>
    >>>>>>>>> based
    >>>>>>>>>
    >>>>>>>>>>>>> off a standard is not going to be very successful in the
    >>>>>>>>>>>>>
    >>>>> general
    >>>>>
    >>>>>>>>> case.
    >>>>>>>>>
    >>>>>>>>>>>>> I totally agree with this, but we're sort of between a
    >>>>>>>>>>>>>
    >>> rock
    >>>
    >>>>> and
    >>>>>
    >>>>>>> a
    >>>>>>>
    >>>>>>>>> hard
    >>>>>>>>>
    >>>>>>>>>>>>> place.  :)
    >>>>>>>>>>>>>
    >>>>>>>>>>>>>
    >>>>>>>>>>>>> Simon Lessard wrote:
    >>>>>>>>>>>>>
    >>>>>>>>>>>>>> Not really, I think we detect a specific parameter
    >>>>>>>>>>>>>>
    >>> pushed
    >>>
    >>>>> by
    >>>>>
    >>>>>>> the
    >>>>>>>
    >>>>>>>>>>>>>> container. So only container supporting skinning would
    >>>>>>>>>>>>>>
    >>>>> push
    >>>>>
    >>>>>>> it,
    >>>>>>>
    >>>>>>>>>>>>>> effectively synchronizing all portlet LaF. For other
    >>>>>>>>>>>>>>
    >>>>> container
    >>>>>
    >>>>>>> I
    >>>>>>>
    >>>>>>>>> think
    >>>>>>>>>
    >>>>>>>>>>>>>> we simply use the normal code path... That or I had
    >>>>>>>>>>>>>>
    >>> some
    >>>
    >>>>>>> serious
    >>>>>>>
    >>>>>>>>>>>>>> hallucinations in the past months and imagined all
    >>>>>>>>>>>>>>
    >>> this...
    >>>
    >>>>>>>>>>>>>> On 7/26/07, *Martin Marinschek* <
    >>>>>>>>>>>>>>
    >>>>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    >>>>>
    >>>>>>>>>>>>>> <mailto: [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]> >> wrote:
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>     Hi Simon,
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>     well, but this would then be portlet container
    >>>>>>>>>>>>>>
    >>>>> dependent,
    >>>>>
    >>>>>>>>> right?
    >>>>>>>>>
    >>>>>>>>>>>> You'd
    >>>>>>>>>>>>
    >>>>>>>>>>>>>>     effectively need to implement trinidad skinning in
    >>>>>>>>>>>>>>
    >>>>> every
    >>>>>
    >>>>>>>>> portlet
    >>>>>>>>>
    >>>>>>>>>>>>>>     container.
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>     regards,
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>     Martin
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>     On 7/26/07, Simon Lessard <
    >>>>>>>>>>>>>>
    >>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    >>>
    >>>>>>>>>>>>>>     <mailto: [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>>> wrote:
    >>>>>>>>>>>>>>     > Personally, I don't see why the portal should
    >>>>>>>>>>>>>>
    >>> not be
    >>>
    >>>>>>> able to
    >>>>>>>
    >>>>>>>>>>>>>>     provide all
    >>>>>>>>>>>>>>     > selectors.
    >>>>>>>>>>>>>>     >
    >>>>>>>>>>>>>>     > Aren't we just not compressing the selector
    >>>>>>>>>>>>>>
    >>> names
    >>>
    >>>>> when
    >>>>>
    >>>>>>> we
    >>>>>>>
    >>>>>>>>> detect
    >>>>>>>>>
    >>>>>>>>>>>>>>     a portal
    >>>>>>>>>>>>>>     > environment or did I miss something? I think
    >>>>>>>>>>>>>>
    >>> that
    >>>
    >>>>>>> strategy
    >>>>>>>
    >>>>>>>>>>>>>>     cannot provides
    >>>>>>>>>>>>>>     > the icons though.
    >>>>>>>>>>>>>>     >
    >>>>>>>>>>>>>>     >
    >>>>>>>>>>>>>>     > On 7/26/07, Martin Marinschek <
    >>>>>>>>>>>>>>
    >>>>>>> [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>
    >>>>>>>
    >>>>>>>>>>>>>>     <mailto: [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]> >> wrote:
    >>>>>>>>>>>>>>     > > Does the portlet container really provide
    >>>>>>>>>>>>>>
    >>> every
    >>>
    >>>>>>> styleclass
    >>>>>>>
    >>>>>>>>> that
    >>>>>>>>>
    >>>>>>>>>>>> is
    >>>>>>>>>>>>
    >>>>>>>>>>>>>>     > > necessary for Trinidad components to look like
    >>>>>>>>>>>>>>
    >>>>> they
    >>>>>
    >>>>>>>>> normally
    >>>>>>>>>
    >>>>>>>>>>>> look?
    >>>>>>>>>>>>
    >>>>>>>>>>>>>>     > >
    >>>>>>>>>>>>>>     > > I'm just thinking that what is currently being
    >>>>>>>>>>>>>>
    >>>>> done is
    >>>>>
    >>>>>>> not
    >>>>>>>
    >>>>>>>>>>>>>>     enough to
    >>>>>>>>>>>>>>     > > have the full skinning features available, and
    >>>>>>>>>>>>>>
    >>>>> that
    >>>>>
    >>>>>>> going
    >>>>>>>
    >>>>>>>>> the
    >>>>>>>>>
    >>>>>>>>>>>>>>     > > direction of adding the CSS dynamically would
    >>>>>>>>>>>>>>
    >>>>> allow to
    >>>>>
    >>>>>>> do
    >>>>>>>
    >>>>>>>>> so.
    >>>>>>>>>
    >>>>>>>>>>>>>>     > >
    >>>>>>>>>>>>>>     > > regards,
    >>>>>>>>>>>>>>     > >
    >>>>>>>>>>>>>>     > > Martin
    >>>>>>>>>>>>>>     > >
    >>>>>>>>>>>>>>     > > On 7/26/07, Scott O'Bryan <
    >>>>>>>>>>>>>>
    >>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    >>>
    >>>>>>>>>>>>>>     <mailto: [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>>> wrote:
    >>>>>>>>>>>>>>     > > > Hey Martin,
    >>>>>>>>>>>>>>     > > >
    >>>>>>>>>>>>>>     > > > Does the simple-portlet skin render any
    >>>>>>>>>>>>>>
    >>> better?
    >>>
    >>>>> I
    >>>>>
    >>>>>>>>> *THINK*
    >>>>>>>>>
    >>>>>>>>>>>>>>     that when
    >>>>>>>>>>>>>>     > > > running in a portal environment you always
    >>>>>>>>>>>>>>
    >>> get
    >>>
    >>>>> the
    >>>>>
    >>>>>>>>>>>>>>     simple-portlet skin
    >>>>>>>>>>>>>>     > > > unless your portal provides one of the
    >>>>>>>>>>>>>>
    >>> necessary
    >>>
    >>>>>>> skin
    >>>>>>>
    >>>>>>>>>>>>>>     extensions which,
    >>>>>>>>>>>>>>     > > > right now, it trinidad proprietary.  Maybe
    >>>>>>>>>>>>>>
    >>> this
    >>>
    >>>>> is
    >>>>>
    >>>>>>> just
    >>>>>>>
    >>>>>>>>> a
    >>>>>>>>>
    >>>>>>>>>>>>>>     case of us
    >>>>>>>>>>>>>>     > > > needing to bug-fix the portlet skin.
    >>>>>>>>>>>>>>     > > >
    >>>>>>>>>>>>>>     > > > That article is interesting, but I think
    >>>>>>>>>>>>>>
    >>> that
    >>>
    >>>>>>> Trinidad
    >>>>>>>
    >>>>>>>>> has
    >>>>>>>>>
    >>>>>>>>>>>>>>     attempted to
    >>>>>>>>>>>>>>     > > > do the same thing only in a different way.
    >>>>>>>>>>>>>>
    >>>>> Instead
    >>>>>
    >>>>>>> of
    >>>>>>>
    >>>>>>>>> using
    >>>>>>>>>
    >>>>>>>>>>>>>>     javascript
    >>>>>>>>>>>>>>     > > > to copy in the styles, we actually change
    >>>>>>>>>>>>>>
    >>> the
    >>>
    >>>>> class
    >>>>>
    >>>>>>>>> names
    >>>>>>>>>
    >>>>>>>>>>>>>>     that get
    >>>>>>>>>>>>>>     > > > rendered on the client to use the portal
    >>>>>>>>>>>>>>
    >>> styles
    >>>
    >>>>>>> where
    >>>>>>>
    >>>>>>>>>>>>>>     appropriate.
    >>>>>>>>>>>>>>     > > > Still, I'm not sure that this has been
    >>>>>>>>>>>>>>
    >>> tested
    >>>
    >>>>>>>>> extensively
    >>>>>>>>>
    >>>>>>>>>>>>>>     because before
    >>>>>>>>>>>>>>     > > > we started looking at 301, much of
    >>>>>>>>>>>>>>
    >>> Trinidad's
    >>>
    >>>>> portal
    >>>>>
    >>>>>>>>> work
    >>>>>>>>>
    >>>>>>>>>>>>>>     has been done
    >>>>>>>>>>>>>>     > > > with a Proof of Concept environment.
    >>>>>>>>>>>>>>     > > >
    >>>>>>>>>>>>>>     > > > Scott
    >>>>>>>>>>>>>>     > > >
    >>>>>>>>>>>>>>     > > > Martin Marinschek wrote:
    >>>>>>>>>>>>>>     > > > > After playing around for a while and
    >>>>>>>>>>>>>>
    >>> finally
    >>>
    >>>>>>> finding
    >>>>>>>
    >>>>>>>>> out
    >>>>>>>>>
    >>>>>>>>>>>>>>     that it was
    >>>>>>>>>>>>>>     > > > > as easy as setting:
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>
    >>>>>>> <skin-family>simple</skin-family>
    >>>>>>>
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > > > in the trinidad-config.xml I got skinning
    >>>>>>>>>>>>>>
    >>> to
    >>>
    >>>>> run
    >>>>>
    >>>>>>> in
    >>>>>>>
    >>>>>>>>> the
    >>>>>>>>>
    >>>>>>>>>>>>>>     portlet
    >>>>>>>>>>>>>>     > > > > environment. In the end, I'm not very
    >>>>>>>>>>>>>>
    >>> happy
    >>>
    >>>>> with
    >>>>>
    >>>>>>> what
    >>>>>>>
    >>>>>>>>> I
    >>>>>>>>>
    >>>>>>>>>>>>>>     see, though.
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > > > I'm attaching a screenshot - basically,
    >>>>>>>>>>>>>>
    >>> not
    >>>
    >>>>> much
    >>>>>
    >>>>>>>>> change
    >>>>>>>>>
    >>>>>>>>>>>>>>     happens by
    >>>>>>>>>>>>>>     > > > > applying skinning - obviously due to the
    >>>>>>>>>>>>>>
    >>> fact
    >>>
    >>>>> that
    >>>>>
    >>>>>>> the
    >>>>>>>
    >>>>>>>>>>>> portlet
    >>>>>>>>>>>>
    >>>>>>>>>>>>>>     > > > > containers don't offer many default
    >>>>>>>>>>>>>>
    >>>>> style-class
    >>>>>
    >>>>>>> hooks.
    >>>>>>>
    >>>>>>>>>>>>>>     > > > > Have I been getting this wrong or does it
    >>>>>>>>>>>>>>
    >>>>> really
    >>>>>
    >>>>>>> look
    >>>>>>>
    >>>>>>>>> like
    >>>>>>>>>
    >>>>>>>>>>>>>>     this?
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > > > If I have been doing the right thing,
    >>>>>>>>>>>>>>
    >>> wouldn't
    >>>
    >>>>> it
    >>>>>
    >>>>>>> be
    >>>>>>>
    >>>>>>>>> nice
    >>>>>>>>>
    >>>>>>>>>>>>>>     to have a
    >>>>>>>>>>>>>>     > > > > way of adding the stylesheet with
    >>>>>>>>>>>>>>
    >>> javascript
    >>>
    >>>>>>>>> dynamically
    >>>>>>>>>
    >>>>>>>>>>>>>>     in the body?
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > > > Something like this:
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     >
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>
    >>> http://cse-mjmcl.cse.bris.ac.uk/blog/2005/08/18/1124396539593.html
    >>>
    >>>>>>>>>>>> <
    >>>>>>>>>>>>
    >>> http://cse-mjmcl.cse.bris.ac.uk/blog/2005/08/18/1124396539593.html
    >>>
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > > > might be in order to have full skinning
    >>>>>>>>>>>>>>
    >>>>> available,
    >>>>>
    >>>>>>> and
    >>>>>>>
    >>>>>>>>>>>>>>     still be
    >>>>>>>>>>>>>>     > > > > standards compliant.
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > > > I'd implement this in a component, if
    >>>>>>>>>>>>>>
    >>> nobody
    >>>
    >>>>> has
    >>>>>
    >>>>>>>>> better
    >>>>>>>>>
    >>>>>>>>>>>>>>     ideas...
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > > > regards,
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > > > Martin
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     >
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>
    >>>
    ------------------------------------------------------------------------
    >>>
    >>>
    >>>>>>>>>>>>>>     > > > >
    >>>>>>>>>>>>>>     > > >
    >>>>>>>>>>>>>>     > > >
    >>>>>>>>>>>>>>     > >
    >>>>>>>>>>>>>>     > >
    >>>>>>>>>>>>>>     > > --
    >>>>>>>>>>>>>>     > >
    >>>>>>>>>>>>>>     > > http://www.irian.at
    >>>>>>>>>>>>>>     > >
    >>>>>>>>>>>>>>     > > Your JSF powerhouse -
    >>>>>>>>>>>>>>     > > JSF Consulting, Development and
    >>>>>>>>>>>>>>     > > Courses in English and German
    >>>>>>>>>>>>>>     > >
    >>>>>>>>>>>>>>     > > Professional Support for Apache MyFaces
    >>>>>>>>>>>>>>     > >
    >>>>>>>>>>>>>>     >
    >>>>>>>>>>>>>>     >
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>     --
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>     http://www.irian.at
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>     Your JSF powerhouse -
    >>>>>>>>>>>>>>     JSF Consulting, Development and
    >>>>>>>>>>>>>>     Courses in English and German
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>     Professional Support for Apache MyFaces
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>>
    >>>>>>>>>>>>>
    >>>>>>>>>>>>
    >>>>>>>>>>> --
    >>>>>>>>>>>
    >>>>>>>>>>> http://www.irian.at
    >>>>>>>>>>>
    >>>>>>>>>>> Your JSF powerhouse -
    >>>>>>>>>>> JSF Consulting, Development and
    >>>>>>>>>>> Courses in English and German
    >>>>>>>>>>>
    >>>>>>>>>>> Professional Support for Apache MyFaces
    >>>>>>>>>>>
    >>>>>>>>>>>
    >>>>>>>>>> --
    >>>>>>>>>>
    >>>>>>>>>> http://www.irian.at <http://www.irian.at>
    >>>>>>>>>>
    >>>>>>>>>> Your JSF powerhouse -
    >>>>>>>>>> JSF Consulting, Development and
    >>>>>>>>>> Courses in English and German
    >>>>>>>>>>
    >>>>>>>>>> Professional Support for Apache MyFaces
    >>>>>>>>>>
    >>>>>>>>>>
    >>>>>>>>>
    >>>>>>>> --
    >>>>>>>>
    >>>>>>>> http://www.irian.at
    >>>>>>>>
    >>>>>>>> Your JSF powerhouse -
    >>>>>>>> JSF Consulting, Development and
    >>>>>>>> Courses in English and German
    >>>>>>>>
    >>>>>>>> Professional Support for Apache MyFaces
    >>>>>>>>
    >>>>>>>>
    >>>>>>>
    >>>>>> --
    >>>>>>
    >>>>>> http://www.irian.at
    >>>>>>
    >>>>>> Your JSF powerhouse -
    >>>>>> JSF Consulting, Development and
    >>>>>> Courses in English and German
    >>>>>>
    >>>>>> Professional Support for Apache MyFaces
    >>>>>>
    >>>>>>
    >>>>>
    >>>> --
    >>>>
    >>>> http://www.irian.at
    >>>>
    >>>> Your JSF powerhouse -
    >>>> JSF Consulting, Development and
    >>>> Courses in English and German
    >>>>
    >>>> Professional Support for Apache MyFaces
    >>>>
    >>>>
    >>>
    >>
    >>
    >>
    >
    >





Reply via email to