ICEfaces
  1. ICEfaces
  2. ICE-7761

Application specific CSS classes are loaded before ICEfaces CSS

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 3.0
    • Fix Version/s: EE-3.0.0.BETA, 3.0.1
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      ICEfaces 3.0

      Description

      Pre-ICEfaces 3.0 final release it was possible to define a custom style class and have it render after the built in ICEfaces CSS. On the 3.0 final release the custom style classes are rendered first before the ICEfaces CSS. This makes it not possible to override the ICEfaces CSS with a custom class.
      1. Case10958Example.zip
        17 kB
        Arran Mccullough
      1. stylesheet-ICEfaces-3-Final.jpg
        204 kB
      2. stylesheet-ICEfaces-3-RC1.jpg
        335 kB

        Issue Links

          Activity

          Arran Mccullough created issue -
          Hide
          Arran Mccullough added a comment -

          Screen shots showing the different rendering of the custom CSS file from the different ICEfaces releases.

          Show
          Arran Mccullough added a comment - Screen shots showing the different rendering of the custom CSS file from the different ICEfaces releases.
          Arran Mccullough made changes -
          Field Original Value New Value
          Attachment stylesheet-ICEfaces-3-Final.jpg [ 14053 ]
          Attachment stylesheet-ICEfaces-3-RC1.jpg [ 14054 ]
          Arran Mccullough made changes -
          Attachment Case10958Example.zip [ 14055 ]
          Arran Mccullough made changes -
          Salesforce Case [5007000000KGXfm]
          Ken Fyten made changes -
          Fix Version/s 3.0.1 [ 10282 ]
          Assignee Priority P1
          Assignee Arturo Zambrano [ artzambrano ]
          Priority Major [ 3 ] Critical [ 2 ]
          Hide
          Arturo Zambrano added a comment -

          Note that the test page is using a <link /> element. This is not an issue when one uses <h:outputStylesheet /> instead. Moving <link /> elements and placing them after ICEfaces' resources is not very straight-forward. Using <h:outputStylesheet /> might be the easiest thing to do. Just make sure to put the resources under META-INF/resources. Then, you can just use <h:outputStylesheet name="style.css" library="css" />

          Show
          Arturo Zambrano added a comment - Note that the test page is using a <link /> element. This is not an issue when one uses <h:outputStylesheet /> instead. Moving <link /> elements and placing them after ICEfaces' resources is not very straight-forward. Using <h:outputStylesheet /> might be the easiest thing to do. Just make sure to put the resources under META-INF/resources. Then, you can just use <h:outputStylesheet name="style.css" library="css" />
          Hide
          Pierre Asselin added a comment -

          This is not an option for us; the stylesheets need to be in the provided URI, outside of the META-INF resources. This was working fine in RC1 but something was changed in a later version that changed the rendering order in the h:head.

          Show
          Pierre Asselin added a comment - This is not an option for us; the stylesheets need to be in the provided URI, outside of the META-INF resources. This was working fine in RC1 but something was changed in a later version that changed the rendering order in the h:head.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #27929 Fri Feb 17 14:25:06 MST 2012 art.zambrano ICE-7761 modified resource loading mechanism to ensure that the theme resources are loaded before any resource component or even plain HTML <link> tags
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/BridgeSetup.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #27930 Fri Feb 17 14:30:53 MST 2012 art.zambrano ICE-7761 modified resource loading mechanism to ensure that the theme resources are loaded before any resource component or even plain HTML <link> tags
          Files Changed
          Commit graph MODIFY /icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/core/src/main/java/org/icefaces/impl/event/BridgeSetup.java
          Hide
          Arturo Zambrano added a comment -

          Fixed at revision 27929 in the trunk and at revision 27930 in maintenance branch.

          The resource loading sequence in BridgeSetup.java was modified to ensure that the theme is loaded before any other children in <h:head>, including <link /> tags.

          The reason this was working before was because we were using a Head renderer, which gives more control over the order in which resources are loaded on the page, but this had to be removed because it creates conflicts with other JSF libraries.

          Show
          Arturo Zambrano added a comment - Fixed at revision 27929 in the trunk and at revision 27930 in maintenance branch. The resource loading sequence in BridgeSetup.java was modified to ensure that the theme is loaded before any other children in <h:head>, including <link /> tags. The reason this was working before was because we were using a Head renderer, which gives more control over the order in which resources are loaded on the page, but this had to be removed because it creates conflicts with other JSF libraries.
          Arturo Zambrano made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Ken Fyten made changes -
          Fix Version/s EE-3.0.0.BETA [ 10324 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #27942 Mon Feb 20 16:01:20 MST 2012 art.zambrano ICE-7761 fix for duplicate ids problem in myfaces, caused by previous commit for this jira
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/BridgeSetup.java
          Hide
          Ken Fyten added a comment -

          Re-open due to incompatibilities with MyFaces. Need to adopt a custom head renderer approach instead to ensure predictable resource loading sequencing.

          Show
          Ken Fyten added a comment - Re-open due to incompatibilities with MyFaces. Need to adopt a custom head renderer approach instead to ensure predictable resource loading sequencing.
          Ken Fyten made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Ken Fyten made changes -
          Link This issue depends on ICE-7789 [ ICE-7789 ]
          Hide
          Arturo Zambrano added a comment -

          The problems with myfaces are now fixed, the custom h:head renderer was re-enabled as part of ICE-7789.

          Show
          Arturo Zambrano added a comment - The problems with myfaces are now fixed, the custom h:head renderer was re-enabled as part of ICE-7789 .
          Arturo Zambrano made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Assignee Priority P1

            People

            • Assignee:
              Arturo Zambrano
              Reporter:
              Arran Mccullough
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: