ICEfaces
  1. ICEfaces
  2. ICE-6490

Integrate the YUI Loader into the ACE platform

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.1
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ICEfaces Advanced Component Environment (ACE), YUI 3.3
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration

      Description

      In order to facilitate the improvements listed below we need to replace the existing static resource dependency declarations used by the ACE components with a (potentially customized) version of the YUI Loader, which is a sophisticated solution for managing the dependencies and loading of YUI JS files.

      - Reduce overhead and fragility caused by the need to statically declare all YUI JS file dependencies in each ACE component, including parent dependencies within the YUI JS stack. This will make upgrading to new YUI releases much simpler, and creating and maintaining ACE components less tedious.
      - Provide flexibility with regard to the JS loading strategy being used. The Loader supports different optimization strategies that can be chosen/configured at runtime, instead of development time. This should avoid the necessity to pre-load all the YUI JS required for each component initially, instead allowing a base-level of JS to be loaded and then additional JS as required by components as they are initialized for faster initial page loads, smaller overall JS HTTP transmissions over the wire.
      - Provide the ability to easily build and deploy an application using debug, or minified JS files.
      - Provide an extension point to potentially load the YUI JS into a custom namespace.

      The current YUI release level is 3.3, which includes improvements to the Loader, and is the one we should target for this work.

        Issue Links

          Activity

          Hide
          Arturo Zambrano added a comment -

          Yes I had noted that behaviour before. About a week ago I commented on it. It might be because of creating a new YUI instance of each selection event or update. I had tried to cache a single YUI instance to re-use in these cases, but for some reason it didn't work. I'll try something similar.

          Show
          Arturo Zambrano added a comment - Yes I had noted that behaviour before. About a week ago I commented on it. It might be because of creating a new YUI instance of each selection event or update. I had tried to cache a single YUI instance to re-use in these cases, but for some reason it didn't work. I'll try something similar.
          Hide
          Mark Collette added a comment -

          The tabSetProxy cancelOnInvalid="true" not working has been spun off into ICE-6680

          The regex not handling jsessionid and hardcoding .jsf extension has been fixed, and the follow-up IE issue was resolved in ICE-6682.

          The not fine grained 2in3 jar inclusion issue was fixed, and the follow-up issue with dateTimeEntry was resolved in ICE-6688.

          The Javascript exception yuiComp issue has been temporarily worked-around in the code, but is still outstanding.

          Show
          Mark Collette added a comment - The tabSetProxy cancelOnInvalid="true" not working has been spun off into ICE-6680 The regex not handling jsessionid and hardcoding .jsf extension has been fixed, and the follow-up IE issue was resolved in ICE-6682. The not fine grained 2in3 jar inclusion issue was fixed, and the follow-up issue with dateTimeEntry was resolved in ICE-6688. The Javascript exception yuiComp issue has been temporarily worked-around in the code, but is still outstanding.
          Hide
          Mark Collette added a comment -

          The component loading times have increased, so I'm committing my change that sequences the YUI.use statements to come before the domready callback, which seems to help.

          Subversion 24230

          Show
          Mark Collette added a comment - The component loading times have increased, so I'm committing my change that sequences the YUI.use statements to come before the domready callback, which seems to help. Subversion 24230
          Hide
          Mark Collette added a comment -

          Profiling of the loading within IE 8 indicates that we should explore coalescing our use() statements, as it appears to be recalculating dependencies each time we call it, which takes noticeable time.

          Show
          Mark Collette added a comment - Profiling of the loading within IE 8 indicates that we should explore coalescing our use() statements, as it appears to be recalculating dependencies each time we call it, which takes noticeable time.
          Hide
          Ken Fyten added a comment -

          The initial integration work is complete. Any concerns with possible optimizations within the components should be spun off as separate JIRAs.

          Show
          Ken Fyten added a comment - The initial integration work is complete. Any concerns with possible optimizations within the components should be spun off as separate JIRAs.

            People

            • Assignee:
              Arturo Zambrano
              Reporter:
              Ken Fyten
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: