Hi Renzo, The optimization is not mainly for the CSS size, but for the generated page markup. Trinidad set a styleClass on almost every single HTML element, so the content-size is not much bigger without compression, but noticeably bigger enough to worth it.
On Nov 15, 2007 3:27 AM, Renzo Tomaselli <[EMAIL PROTECTED]> wrote: > The picture is almost clear now - although class alteration by js is > exactly what I'm doing. Unfortunately it's based on element recognition by > class name, which cannot work unless compression is fully disabled. I will > investigate about Jeanne's trick on using multiple token selectors, looks > funny. > Btw, I wonder about the real optimization extents that compression is > presumed to achieve, also considering that browsers do cache css. > > -- Renzo > > > > Simon Lessard wrote: > > > > On Nov 14, 2007 2:19 PM, Jeanne Waldman <[EMAIL PROTECTED]> wrote: > > > The fact that it generates both compressed and uncompressed in this test > > case is not a bug, but as designed. > > > Oh true, my bad, else doing some styleClass alteration at runtime using > JavaScript would become impossible since the style class wouldn't be in the > final CSS. > > > > In selectors without a namespace, like af|, I output both compressed and > > uncompressed since these could be a user's styleclass that they are > > using in a way that doesn't get compressed, like through their own html > > tags. > > I don't think this is the reason for Renzo's problem, but instead it is > > because he wasn't turning compression off. The problem must be that he > > sets styleClass="invisible" and this gets compressed because the > > renderer calls renderStyleClass which compresses it if compression is > > enabled. > > > > Another workaround might be to try adding to the styleClass attribute > > another styleclass name that is not written in the skin css file. > > Then it won't compress. The reason is that when we process the skin css > > file, we get the selector and put it in a map of selector->compressed > > selector. If it isn't in the skin css file, it won't get in this map, > > thus it won't get compressed, even when renderStyleClass is called. > > This is a kludge, no doubt about it. But it will keep you from having to > > uncompress everything. > > > > - Jeanne > > > > Renzo Tomaselli wrote: > > > Thanks, Simon. Disabling compression makes things working like they > > did > > > previously. > > > Btw, the reason why it used to work with previous versions was that > > > until some versions ago (1.0.1) we could disable compression on: > > > > > > org.apache.myfaces.trinidadinternal.DISABLE_CONTENT_COMPRESSION > > > > > > while now it's org.apache.myfaces.trinidad. > > > Moreover, the best solution would be to compress only Trinidad classes > > - > > > leaving custom classes as they are, but I gues this is impossible if > > > translation occurs after css merging. > > > > > > -- Renzo > > > > > > Simon Lessard wrote: > > >> Hmmm, sounds like a bug. In compression mode, only .xe0 should be > > >> generated. You can try to disable content compression for now using > > >> > > >> <context-param> > > >> <param-name>org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION > > >> </param-name> > > >> <param-value>true</param-value> > > >> </context-param> > > >> > > >> Regards, > > >> > > >> ~ Simon > > >> > > >> On Nov 14, 2007 3:55 AM, Renzo Tomaselli < [EMAIL PROTECTED] > > > > >> <mailto:[EMAIL PROTECTED]>> wrote: > > >> > > >> Hi, I noticed an unpleasant effect due to Trinidad class > > >> compression/aliasing. If I define my own class such as: > > >> > > >> .invisible { > > >> display: none; > > >> visibility: hidden; > > >> } > > >> > > >> then the generated css contains: > > >> > > >> .invisible,.xe0 {display:none;visibility:hidden} > > >> > > >> The rendered html page contains always *both* classes, even in > > places > > >> where xhtml source specified just .invisible. > > >> The final result is that any js code looking for .invisible > > fails. > > >> I'm using Trinidad 1.0.3. Till 1.0.1 these things were running > > >> properly. > > >> Even adding dummy attributes to my classes seems not working: an > > alias > > >> is generated anyway, and used in html (in place of original class > > >> name). > > >> Should I disable alisasing - leaving original class names ? Is > > that > > >> possible at all ? > > >> > > >> -- Renzo > > >> > > >> > > >> > > > >