Details
-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.0.2
-
Component/s: ACE-Components
-
Labels:None
-
Environment:ICEfaces 2.1, Advanced Components Environment (ACE)
-
Assignee Priority:P1
-
Affects:Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial, Compatibility/Configuration
Description
In ICEfaces 2.0.x the mandatoryResourceConfiguration parameter defaults to null, which results in all JavaScript and CSS resources for all components in the application being pre-loaded on each initial page load. This allows components to function correctly even if they are later added to the page dynamically during user interaction.
Unfortunately, it also bloats each page load substantially (2+ MBs) and usually unnecessarily as most components are already on the page when it loads, and not added dynamically.
To improve the out-of-the-box ICEfaces performance as it relates to page sizes and load times, we will change the default for mandatoryResourceConfiguration to 'none. This will result in no component resources being preloaded (only the resources for components on the page at initial load time will be loaded), resulting in an optimal resource load situation.
This also means that any applications that are introducing ace components to the page dynamically (there are added to the page as part of a subsequent ajax page update and not during the initial page load) will now need to configure the mandatoryResourceConfiguration parameter (or preferably, the <icecore:config mandatoryResource=""> tag which can be specified per-view) in order to continue to function correctly.
Unfortunately, it also bloats each page load substantially (2+ MBs) and usually unnecessarily as most components are already on the page when it loads, and not added dynamically.
To improve the out-of-the-box ICEfaces performance as it relates to page sizes and load times, we will change the default for mandatoryResourceConfiguration to 'none. This will result in no component resources being preloaded (only the resources for components on the page at initial load time will be loaded), resulting in an optimal resource load situation.
This also means that any applications that are introducing ace components to the page dynamically (there are added to the page as part of a subsequent ajax page update and not during the initial page load) will now need to configure the mandatoryResourceConfiguration parameter (or preferably, the <icecore:config mandatoryResource=""> tag which can be specified per-view) in order to continue to function correctly.
Issue Links
- blocks
-
ICE-6951 Reduce required resource loading on initial page loads due to mandatoryResource default settings
- Closed
Since the default is no longer null, which was used originally to indicate that all resources should be pre-loaded, there is now no way to set the mandatoryResourceConfiguration to a value that will engage the fully-automated resource loading behaviour, if desired.
We need to add support for an additional value for mandatoryResourceConfiguration, "all" or maybe "auto", which would re-instate the automatic detection and loading of component resources via class path detection.