Details

    • Type: Task Task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.1
    • Fix Version/s: 3.1.0.BETA1, 3.1
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ICEfaces 3.0 ACE Components
    • Assignee Priority:
      P2
    • Affects:
      Compatibility/Configuration

      Description

      Original description for this issue:

      "Currently the ACE Components leverage the mandatoryResource scheme to ensure that all required JavaScript resources are pre-loaded into the HEAD region of the page when the page is initially loaded (since head contents cannot be dynamically loaded later).

      However, it would be advantageous if component JavaScript could instead be loaded dynamically at render time for the component in the body section of the page, similar to how the MOBI components work.

      This task is to complete a survey of each ACE component to determine if their JavaScript resource are required to be loaded in the head region, or if the component can functional successfully if their JavaScript is loaded dynamically in the body region. Once we understand the scope of the head-region loading requirement we can better determine if it is feasible to permanently modify the components to load their JS dynamically in the body, etc."

      To complete this, each component should be modified to use the dynamic body loading technique (instead of pre-loading in the head) and tested to determine if they continue to work, etc.

      QA has extensive tests for each component that could be leveraged for this also."

      Current description:

      Find a way to update the 'head' element so that new JS or CSS resources are added dynamically to the page.

        Issue Links

          Activity

          Ken Fyten created issue -
          Ken Fyten made changes -
          Field Original Value New Value
          Salesforce Case []
          Fix Version/s 3.1 [ 10312 ]
          Affects [Compatibility/Configuration]
          Assignee Priority P2
          Assignee Mircea Toma [ mircea.toma ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #28706 Fri Apr 13 09:19:49 MDT 2012 mircea.toma ICE-7992 Implemented custom 'head' update to avoid full page reloads when 'head' element is changed. Modified GMap component to render local paths for its JS resource and proxy the requests made for them.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/BridgeSetup.java
          Commit graph MODIFY /icefaces3/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/gmap/GMapResourceHandler.java
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/resources/META-INF/faces-config.xml
          Commit graph ADD /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/RestoreResourceDependencies.java
          Commit graph MODIFY /icefaces3/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/gmap/GMap.java
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/javascript/fixjsf.js
          Commit graph ADD /icefaces3/trunk/icefaces/compat/components/src/main/resources/META-INF/resources/gmap/main.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #28707 Fri Apr 13 09:22:37 MDT 2012 mircea.toma ICE-7992 Renamed method.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/RestoreResourceDependencies.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #28708 Fri Apr 13 09:23:28 MDT 2012 mircea.toma ICE-7992 Remove irrelevant comments.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/RestoreResourceDependencies.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #28710 Fri Apr 13 10:43:15 MDT 2012 mircea.toma ICE-7992 Remove mandatory resource definitions.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/samples/compat/component-showcase/src/main/webapp/WEB-INF/web.xml
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #28736 Tue Apr 17 11:36:35 MDT 2012 mircea.toma ICE-7992 Added missing 'head' custom update generation. Also modified bridge to keep track of loaded stylesheets and read the newly referenced ones .
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/context/DOMPartialViewContext.java
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/javascript/fixjsf.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #28737 Tue Apr 17 11:37:22 MDT 2012 mircea.toma ICE-7992 Modified showcase to use non-redirecting navigation.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/webapp/showcase.xhtml
          Commit graph MODIFY /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/view/navigation/NavigationController.java
          Mircea Toma made changes -
          Summary Survey the ACE Components to verify the necessity of loading component JavaScript in head region vs. dynamically in body section Implement head region update
          Salesforce Case []
          Mircea Toma made changes -
          Salesforce Case []
          Description Currently the ACE Components leverage the mandatoryResource scheme to ensure that all required JavaScript resources are pre-loaded into the HEAD region of the page when the page is initially loaded (since head contents cannot be dynamically loaded later).

          However, it would be advantageous if component JavaScript could instead be loaded dynamically at render time for the component in the body section of the page, similar to how the MOBI components work.

          This task is to complete a survey of each ACE component to determine if their JavaScript resource are required to be loaded in the head region, or if the component can functional successfully if their JavaScript is loaded dynamically in the body region. Once we understand the scope of the head-region loading requirement we can better determine if it is feasible to permanently modify the components to load their JS dynamically in the body, etc.

          To complete this, each component should be modified to use the dynamic body loading technique (instead of pre-loading in the head) and tested to determine if they continue to work, etc.

          QA has extensive tests for each component that could be leveraged for this also.

          Original description for this issue:

          "Currently the ACE Components leverage the mandatoryResource scheme to ensure that all required JavaScript resources are pre-loaded into the HEAD region of the page when the page is initially loaded (since head contents cannot be dynamically loaded later).

          However, it would be advantageous if component JavaScript could instead be loaded dynamically at render time for the component in the body section of the page, similar to how the MOBI components work.

          This task is to complete a survey of each ACE component to determine if their JavaScript resource are required to be loaded in the head region, or if the component can functional successfully if their JavaScript is loaded dynamically in the body region. Once we understand the scope of the head-region loading requirement we can better determine if it is feasible to permanently modify the components to load their JS dynamically in the body, etc."

          To complete this, each component should be modified to use the dynamic body loading technique (instead of pre-loading in the head) and tested to determine if they continue to work, etc.

          QA has extensive tests for each component that could be leveraged for this also."

          Current description:

          Find a way to update the 'head' element so that new JS or CSS resources are added dynamically to the page.

          Hide
          Mircea Toma added a comment -

          Implemented custom 'head' update to avoid full page reloads when 'head' element is changed. Modified GMap component to render local paths for its JS resource and proxy the requests made for them.

          Show
          Mircea Toma added a comment - Implemented custom 'head' update to avoid full page reloads when 'head' element is changed. Modified GMap component to render local paths for its JS resource and proxy the requests made for them.
          Hide
          Mircea Toma added a comment -

          Removed mandatory resource definitions in component-showcase.

          Show
          Mircea Toma added a comment - Removed mandatory resource definitions in component-showcase.
          Hide
          Mircea Toma added a comment -

          Added server-side 'head' custom update generation. Also modified bridge to keep track of loaded stylesheets and read the newly referenced ones .

          Show
          Mircea Toma added a comment - Added server-side 'head' custom update generation. Also modified bridge to keep track of loaded stylesheets and read the newly referenced ones .
          Hide
          Mircea Toma added a comment -

          Modified showcase to use non-redirecting navigation.

          Show
          Mircea Toma added a comment - Modified showcase to use non-redirecting navigation.
          Mircea Toma made changes -
          Status Open [ 1 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #28819 Wed Apr 25 16:39:16 MDT 2012 ken.fyten ICE-7992 - Revert changes to restore redirect based navigation between component demos to avoid rough styling and issues with other approach for now.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/webapp/showcase.xhtml
          Commit graph MODIFY /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/view/navigation/NavigationController.java
          Ken Fyten made changes -
          Resolution Fixed [ 1 ]
          Status Closed [ 6 ] Reopened [ 4 ]
          Ken Fyten made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Fix Version/s 3.1.0.BETA1 [ 10335 ]
          Resolution Fixed [ 1 ]
          Ken Fyten made changes -
          Security Private [ 10001 ]
          Ken Fyten made changes -
          Comment [ A comment with security level 'icesoft-internal-developers' was removed. ]
          Ken Fyten made changes -
          Comment [ A comment with security level 'icesoft-internal-developers' was removed. ]
          Ken Fyten made changes -
          Comment [ A comment with security level 'icesoft-internal-developers' was removed. ]
          Ken Fyten made changes -
          Comment [ A comment with security level 'icesoft-internal-developers' was removed. ]
          Hide
          Ken Fyten added a comment -

          Note that in order to enable this behavior, the following web.xml configuration parameter must be specified:

          org.icefaces.generateHeadUpdate='true'
          
          Show
          Ken Fyten added a comment - Note that in order to enable this behavior, the following web.xml configuration parameter must be specified: org.icefaces.generateHeadUpdate=' true '
          Ken Fyten made changes -
          Link This issue blocks ICE-8125 [ ICE-8125 ]
          Hide
          Carmen Cristurean added a comment -

          All ACE components tests without Mandatory Resource Config have been executed manually in IE10, Firefox23, Chrome29, and they all pass (icefaces3/trunk rev# 38059).

          Show
          Carmen Cristurean added a comment - All ACE components tests without Mandatory Resource Config have been executed manually in IE10, Firefox23, Chrome29, and they all pass (icefaces3/trunk rev# 38059).
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Mircea Toma
              Reporter:
              Ken Fyten
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: