Details
-
Type: Improvement
-
Status: Closed
-
Priority: 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.
- 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.
Found my notes on doing this. It shows using YUI 3 to load YUI 2 libraries, as well as how to use the loader in general, instead of numerous static javascript references in our Meta classes.
http://jira.icefaces.org/browse/ICE-6273