Details
-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.0-Beta2
-
Fix Version/s: EE-2.0.0.GA, 2.0.2
-
Component/s: ACE-Components, Framework
-
Labels:None
-
Environment:ACE
Description
ACE components have numerous javascript and CSS dependencies. Each is currently resulting in a separate GET, which drastically slows page load. We should find a means of coalescing these requests into a smaller number of GET requests.
With
ICE-6153MandatoryResourceComponent functionality, we have access to the complete list of ACE dependencies all in one place, at application startup. All we need to do is refactor the annotation processing to occur more at start-up than its current implementation, which is split between start-up and render time. This would be a good optimisation to make anyhow.Once we have the lists of all javascript dependencies and css dependencies, we could generate a single concatenated file for each, and then add those to the head instead of the individual files. It might not make sense for it to be a single file, but possibly to be a file per library. We should try to serve the least possible number of files, and only make it granular as needed.
Later, aspects of this might be worked into the icefaces-ace.jar build process, so that we only include the relevantly used javascript files. So, keep that in mind when implementing this.
We should decide what kind of options should control this. For example, should it be possible to disable this, so that the individual files are still served instead of the concatenated one?