ICEfaces
  1. ICEfaces
  2. ICE-9433

Compat broken theme image links in CSS

    Details

    • Assignee Priority:
      P1

      Description

      Using both ICEfaces EE 3.3.0.GA and current trunk, PanelTabSet background images that comes from rime.css are broken links. Reproduced with Mojarra 2.2 and 2.1.23, and MyFaces.

      In this file we link to the rime.css file:
      icefaces3/samples/showcase/showcase/src/main/webapp/resources/templates/main-template.xhtml

      Using this component:
      <h:outputStylesheet library="ice.compat" name="rime/rime.css"/>

      Which renders this output:
      <link type="text/css" rel="stylesheet" href="/showcase/javax.faces.resource/rime/rime.css.jsf?ln=ice.compat&amp;v=3_4_0_130712">

      The rime.css image links are of this form:
      '../xmlhttp/css/rime/css-images/Tab_LftTop.gif'

      Which resolve to this in the browser:
      http://localhost:8080/showcase/javax.faces.resource/xmlhttp/css/rime/css-images/Tab_LftTop.gif

        Issue Links

          Activity

          Mark Collette created issue -
          Hide
          Mark Collette added a comment -
          • I know we used to use an ice:outputStyle component before doing the resource ordering or coalescing work. It might be that the rime.css needs different links to support this other way that rime.css is being served (have to support both ways).

          ==> This works:
          <ice:outputStyle href="./xmlhttp/css/rime/rime.css" />

          Which renders:
          <link type="text/css" rel="stylesheet" href="./xmlhttp/css/rime/rime.css">

          • Probably the regular resource handling from the FacesServlet is beating out the mapping to the ResourceServlet ("/xmlhttp/").

          ==> Trying different orderings of the servlets and servlet mappings didn't help. Likely, the ResourceServlet itself is delegating to the "/javax.faces.resource/" resource handling, which is taking precedence, so that the image links containing it will try to be served via regular JSF 2 resource handling, instead of the resource servlet's special handling.

          Show
          Mark Collette added a comment - I know we used to use an ice:outputStyle component before doing the resource ordering or coalescing work. It might be that the rime.css needs different links to support this other way that rime.css is being served (have to support both ways). ==> This works: <ice:outputStyle href="./xmlhttp/css/rime/rime.css" /> Which renders: <link type="text/css" rel="stylesheet" href="./xmlhttp/css/rime/rime.css"> Probably the regular resource handling from the FacesServlet is beating out the mapping to the ResourceServlet ("/xmlhttp/"). ==> Trying different orderings of the servlets and servlet mappings didn't help. Likely, the ResourceServlet itself is delegating to the "/javax.faces.resource/" resource handling, which is taking precedence, so that the image links containing it will try to be served via regular JSF 2 resource handling, instead of the resource servlet's special handling.
          Mark Collette made changes -
          Field Original Value New Value
          Description PanelTabSet background images that comes from rime.css are broken links with Mojarra 2.2 and 2.1.23, and MyFaces.

          In this file we link to the rime.css file:
          icefaces3/samples/showcase/showcase/src/main/webapp/resources/templates/main-template.xhtml

          Using this component:
          <h:outputStylesheet library="ice.compat" name="rime/rime.css"/>

          Which renders this output:
          <link type="text/css" rel="stylesheet" href="/showcase/javax.faces.resource/rime/rime.css.jsf?ln=ice.compat&amp;v=3_4_0_130712">

          The rime.css image links are of this form:
          '../xmlhttp/css/rime/css-images/Tab_LftTop.gif'

          Which resolve to this in the browser:
          http://localhost:8080/showcase/javax.faces.resource/xmlhttp/css/rime/css-images/Tab_LftTop.gif
          Using both ICEfaces EE 3.3.0.GA and current trunk, PanelTabSet background images that comes from rime.css are broken links. Reproduced with Mojarra 2.2 and 2.1.23, and MyFaces.

          In this file we link to the rime.css file:
          icefaces3/samples/showcase/showcase/src/main/webapp/resources/templates/main-template.xhtml

          Using this component:
          <h:outputStylesheet library="ice.compat" name="rime/rime.css"/>

          Which renders this output:
          <link type="text/css" rel="stylesheet" href="/showcase/javax.faces.resource/rime/rime.css.jsf?ln=ice.compat&amp;v=3_4_0_130712">

          The rime.css image links are of this form:
          '../xmlhttp/css/rime/css-images/Tab_LftTop.gif'

          Which resolve to this in the browser:
          http://localhost:8080/showcase/javax.faces.resource/xmlhttp/css/rime/css-images/Tab_LftTop.gif
          Hide
          Mark Collette added a comment -

          Inside of:
          icefaces3/compat/core/src/main/resources/META-INF/resources/ice.compat/rime/rime.css
          I tested changing all links of the form:
          '../xmlhttp/css/rime/css-images/Tab_LftTop.gif'
          To:
          '../../xmlhttp/css/rime/css-images/Tab_LftTop.gif'

          Testing with main-template.xhtml using either the newer h:outputStylesheet or the older ice:outputStyle, both gave valid image links.

          Show
          Mark Collette added a comment - Inside of: icefaces3/compat/core/src/main/resources/META-INF/resources/ice.compat/rime/rime.css I tested changing all links of the form: '../xmlhttp/css/rime/css-images/Tab_LftTop.gif' To: '../../xmlhttp/css/rime/css-images/Tab_LftTop.gif' Testing with main-template.xhtml using either the newer h:outputStylesheet or the older ice:outputStyle, both gave valid image links.
          Ken Fyten made changes -
          Summary Compat broken theme image links Compat broken theme image links in CSS
          Assignee Mircea Toma [ mircea.toma ]
          Fix Version/s EE-3.3.0.GA_P01 [ 11174 ]
          Fix Version/s 3.4 [ 10770 ]
          Assignee Priority P1 [ 10010 ]
          Ken Fyten made changes -
          Link This issue depends on ICE-9338 [ ICE-9338 ]
          Ken Fyten made changes -
          Security Private [ 10001 ]
          Hide
          Mircea Toma added a comment -

          This is a regression caused by the commit for ICE-9338.

          When merging the resources for the rendered views the list of ordered resources build off the dependency metadata. rime.css resource is not defined and thus the merging code skips its addition.
          The fix makes sure to also add the unordered resources at the end of the list of merged resources.

          Show
          Mircea Toma added a comment - This is a regression caused by the commit for ICE-9338 . When merging the resources for the rendered views the list of ordered resources build off the dependency metadata. rime.css resource is not defined and thus the merging code skips its addition. The fix makes sure to also add the unordered resources at the end of the list of merged resources.
          Mircea Toma made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #36976 Tue Jul 16 15:13:34 MDT 2013 mircea.toma ICE-9338, ICE-9433 Make sure to also add the unordered resources at the end of the list of merged resources.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/application/CoalescingResourceHandler.java
          Ken Fyten made changes -
          Fix Version/s 4.0 [ 11382 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Mircea Toma
              Reporter:
              Mark Collette
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: