ICEfaces
  1. ICEfaces
  2. ICE-10290

Rationalize ACE JavaScript Resource Dependencies

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ICEfaces 4 ACE Components
    • Assignee Priority:
      P1

      Description

      With the resource coalescing and head-update capabilities provided in ICEfaces 4, we need to review the ace-components.js file contents to see if we can lower it's footprint by selectively removing JS for certain components, especially those with larger JS footprints.

        Issue Links

          Activity

          Ken Fyten created issue -
          Ken Fyten made changes -
          Field Original Value New Value
          Assignee Ken Fyten [ ken.fyten ]
          Fix Version/s 4.0 [ 11382 ]
          Assignee Priority P1 [ 10010 ]
          Ken Fyten made changes -
          Link This issue blocks ICE-10291 [ ICE-10291 ]
          Hide
          Ken Fyten added a comment - - edited

          Based on my analysis of JS dependencies and JS files sizes, frequency of component usage, etc. I have the following recommended changes:

          • Refactor the ace-jquery.js merged file into the following separate files to improve the ability of components to load just those resources required on the page (esp. important for mobile devices):
            • ace-core.js - includes util/core.js and util.util.js only. util.js needs to be modified to not depend on jQuery itself.
            • jquery/jquery.js (unmerged natural jQuery file).
            • ace-jquery-ui.js - merged jquery/ui/jquery-ui.js and jquery/ui/jquery.ui.touch-punch.js
          • This makes ace-core.js the baseline mandatory .js library that virtually any ace comp. that requires JS will depend upon. Also allows ace:ajax to only depend on ace-core.js.
          • Remove completely the ace-components.js merged file, instead have each component declare all of their actual dependencies independently in their meta classes. In addition, remove the use of the "<requires>" entries in the ACE resource-dependency.xml file (use meta class dependency declarations instead).
          • Establish any necessary "<depends>" entries in the ACE resource-dependency.xml file to ensure that when resources are required by components that they are loaded in the correct order.
          Show
          Ken Fyten added a comment - - edited Based on my analysis of JS dependencies and JS files sizes, frequency of component usage, etc. I have the following recommended changes: Refactor the ace-jquery.js merged file into the following separate files to improve the ability of components to load just those resources required on the page (esp. important for mobile devices): ace-core.js - includes util/core.js and util.util.js only. util.js needs to be modified to not depend on jQuery itself. jquery/jquery.js (unmerged natural jQuery file). ace-jquery-ui.js - merged jquery/ui/jquery-ui.js and jquery/ui/jquery.ui.touch-punch.js This makes ace-core.js the baseline mandatory .js library that virtually any ace comp. that requires JS will depend upon. Also allows ace:ajax to only depend on ace-core.js. Remove completely the ace-components.js merged file, instead have each component declare all of their actual dependencies independently in their meta classes. In addition, remove the use of the "<requires>" entries in the ACE resource-dependency.xml file (use meta class dependency declarations instead). Establish any necessary "<depends>" entries in the ACE resource-dependency.xml file to ensure that when resources are required by components that they are loaded in the correct order.
          Ken Fyten made changes -
          Summary Rationalize ace-components.js contents Rationalize ACE JavaScript Resource Dependencies
          Ken Fyten made changes -
          Assignee Ken Fyten [ ken.fyten ] Arturo Zambrano [ artzambrano ]
          Hide
          Arturo Zambrano added a comment -

          The initial work has been completed. However, there are multiple issues with missing references. Some are due to incorrect loading order, while some others are due to global objects. So, probably all source files might need an entry in resource-dependencies.xml and they might also need to be added some code to resolve some global objects when they're loaded.

          Show
          Arturo Zambrano added a comment - The initial work has been completed. However, there are multiple issues with missing references. Some are due to incorrect loading order, while some others are due to global objects. So, probably all source files might need an entry in resource-dependencies.xml and they might also need to be added some code to resolve some global objects when they're loaded.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42694 Sun Oct 05 21:50:31 MDT 2014 art.zambrano ICE-10290 initial commit; refactored various merged resources: ace-jquery.js was divided into ace-core.js and ace-jquery-ui.js; ace-components.js was dissolved and now each resource that previously belonged to this bundle is loaded individually; made necessary changes to build.xml, *Meta classes, and resource-dependency.xml
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dnd/DraggableMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/contextmenu/ContextMenuMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/list/ListMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/ajax/AjaxBehaviorHandlerMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/accordion/AccordionMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/panel/PanelMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/confirmationdialog/ConfirmationDialogMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/themeselect/ThemeSelectMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/DataExporterMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/growlmessages/GrowlMessagesMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/pushbutton/PushButtonMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/printer/PrinterMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/ajax/AjaxBehavior.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tabset/TabSetMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/buttongroup/ButtonGroupMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapLayerMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/menubutton/MenuButtonMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/chart/ChartMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/menu/MenuMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tableconfigpanel/TableConfigPanelMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/textareaentry/TextAreaEntryMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/maskedentry/MaskedEntryMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapEventMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/splitpane/SplitPaneMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/selectmenu/SelectMenuMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dnd/DroppableMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/message/MessageMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/resizable/ResizableMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/progressbar/ProgressBarMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/submitmonitor/SubmitMonitorMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapControlMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapOverlayMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/textentry/TextEntryMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/sliderentry/SliderEntryMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/META-INCLUDE/resource-dependency.xml
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapAutocompleteMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/breadcrumbmenu/BreadcrumbMenuMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/combobox/ComboBoxMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapMarkerMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/build.xml
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/animation/AnimationBehavior.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/simpleselectonemenu/SimpleSelectOneMenuMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/checkboxbutton/CheckboxButtonMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/listcontrol/ListControlMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/radiobutton/RadioButtonMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tooltip/TooltipMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/notificationpanel/NotificationPanelMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tree/TreeMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dialog/DialogMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapServicesMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/messages/MessagesMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/renderkit/AceSymbolicResourceHandler.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/datetimeentry/DateTimeEntryMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/autocompleteentry/AutoCompleteEntryMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/animation/AnimationBehaviorHandlerMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/linkbutton/LinkButtonMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/node/NodeMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/richtextentry/RichTextEntryMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTableMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapInfoWindowMeta.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/menubar/MenuBarMeta.java
          Hide
          Arturo Zambrano added a comment -

          Made initial commit at revision 42694: ace-jquery.js was divided into ace-core.js and ace-jquery-ui.js; ace-components.js was dissolved and now each resource that previously belonged to this bundle is loaded individually; made all the necessary changes to build.xml, *Meta classes, and resource-dependency.xml. The issues reported above were fixed by tweaking resource-dependencies.xml and correcting some resource dependency declarations in Meta classes.

          Testing notes: please test all components individually in their respective test applications to see if they load all the necessary resources they need to work properly.

          Show
          Arturo Zambrano added a comment - Made initial commit at revision 42694: ace-jquery.js was divided into ace-core.js and ace-jquery-ui.js; ace-components.js was dissolved and now each resource that previously belonged to this bundle is loaded individually; made all the necessary changes to build.xml, *Meta classes, and resource-dependency.xml. The issues reported above were fixed by tweaking resource-dependencies.xml and correcting some resource dependency declarations in Meta classes. Testing notes: please test all components individually in their respective test applications to see if they load all the necessary resources they need to work properly.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42695 Mon Oct 06 11:36:26 MDT 2014 art.zambrano ICE-10290 missing resource dependency
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/accordion/AccordionMeta.java
          Hide
          Mircea Toma added a comment -

          To reproduce this issue a fresh server start is needed (the state of the browser does not matter).

          Show
          Mircea Toma added a comment - To reproduce this issue a fresh server start is needed (the state of the browser does not matter).
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42698 Mon Oct 06 15:36:51 MDT 2014 mircea.toma ICE-10290 Fixed resource dependencies.
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/META-INCLUDE/resource-dependency.xml
          Commit graph MODIFY /icefaces4/trunk/icefaces/samples/showcase/showcase/src/main/resources-meta/resource-dependency.xml
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42701 Tue Oct 07 11:08:51 MDT 2014 ken.fyten ICE-10290 - Added missing tabset.js file resource-dependency.
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tabset/TabSetMeta.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42702 Tue Oct 07 12:28:17 MDT 2014 art.zambrano ICE-10290 moved split pane resources to the icefaces.ace library
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/splitpane/SplitPaneMeta.java
          Commit graph ADD /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/splitpane/splitpane.css
          Commit graph ADD /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/splitpane/splitpane.js
          Commit graph DEL /icefaces4/trunk/icefaces/ace/component/resources/org.icefaces.component.splitpane
          Commit graph ADD /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/splitpane
          Hide
          Arturo Zambrano added a comment -

          r42702: moved split pane resources to the icefaces.ace library.

          Show
          Arturo Zambrano added a comment - r42702: moved split pane resources to the icefaces.ace library.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42704 Tue Oct 07 16:14:53 MDT 2014 mircea.toma ICE-10290 Added more component resource dependencies.
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/META-INCLUDE/resource-dependency.xml
          Hide
          Mircea Toma added a comment - - edited

          Removed dependency of ace-jquery-ui.js on ace-core.js.
          At some point ace-jquery-ui.js was defined as depending on ace-core.js even if in reality ace-jquery-ui.js code doesn't use anything from ace-core.js. The resulting side effect was that ace-core.js who is going to load before ace-jquery-ui.js will hide the global jQuery variable that ace-jquery-ui.js needs while evaluating, thus causing JS error during page load. Another scenario that ace-jquery.js evaluation will fail is when it is added dynamically to the page.

          Show
          Mircea Toma added a comment - - edited Removed dependency of ace-jquery-ui.js on ace-core.js . At some point ace-jquery-ui.js was defined as depending on ace-core.js even if in reality ace-jquery-ui.js code doesn't use anything from ace-core.js . The resulting side effect was that ace-core.js who is going to load before ace-jquery-ui.js will hide the global jQuery variable that ace-jquery-ui.js needs while evaluating, thus causing JS error during page load. Another scenario that ace-jquery.js evaluation will fail is when it is added dynamically to the page.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42705 Tue Oct 07 16:56:42 MDT 2014 mircea.toma ICE-10290 Use the relocated jQuery definitions in ice.ace.jq when jQuery global variable is no longer present.
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/jquery/ui/jquery-ui.js
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/jquery/ui/jquery.ui.touch-punch.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42706 Tue Oct 07 17:00:59 MDT 2014 mircea.toma ICE-10290 Added reason for modifying jquery-ui files.
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/jquery/ui/readme.txt
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42707 Tue Oct 07 17:43:33 MDT 2014 mircea.toma ICE-10290 Make sure to use the relocated jQuery definitions in all instances where jQuery is referenced.
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/jquery/ui/jquery-ui.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42710 Wed Oct 08 12:09:01 MDT 2014 ken.fyten ICE-10290 - Consolidate all tabset + YUI + component.js files into a single new util/ace-tabset.js file.
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tabset/TabSetMeta.java
          Commit graph ADD /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/tabset/component.js
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/build.xml
          Commit graph DEL /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/util/component.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42711 Wed Oct 08 12:09:31 MDT 2014 ken.fyten ICE-10290 - Remove unused yui/utilities.js
          Files Changed
          Commit graph DEL /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/yui
          Hide
          Ken Fyten added a comment -

          Consolidated all tabset js resources into a single new util/ace-tabset.js (YUI, component.js, tabset.js).

          (svn rvn # 42710)

          Show
          Ken Fyten added a comment - Consolidated all tabset js resources into a single new util/ace-tabset.js (YUI, component.js, tabset.js). (svn rvn # 42710)
          Ken Fyten made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Ken Fyten added a comment -

          Re-opened.

          Need to add all the ACE component .js files not already included in the merged .js files in build.xml to the minify task!

          This was mostly covered previously by most of the components in the components.js file, but these must be added now.

          Show
          Ken Fyten added a comment - Re-opened. Need to add all the ACE component .js files not already included in the merged .js files in build.xml to the minify task! This was mostly covered previously by most of the components in the components.js file, but these must be added now.
          Ken Fyten made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42721 Wed Oct 08 16:25:31 MDT 2014 art.zambrano ICE-10290 initial commit for minification task: committed structure and sample cases, including case for jquery.js
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/renderkit/AceSymbolicResourceHandler.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/build.xml
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42722 Wed Oct 08 17:31:03 MDT 2014 art.zambrano ICE-10290 added the rest of the resources to the minification targat in the build script and in AceSymbolicResourceHandler
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/renderkit/AceSymbolicResourceHandler.java
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/build.xml
          Hide
          Arturo Zambrano added a comment -

          Completed task for minifying the rest of the javascript resources at revision 42722.

          Show
          Arturo Zambrano added a comment - Completed task for minifying the rest of the javascript resources at revision 42722.
          Arturo Zambrano made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42724 Wed Oct 08 17:53:29 MDT 2014 mircea.toma ICE-10290 Fixed file name in URL.
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/META-INCLUDE/resource-dependency.xml
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #42876 Thu Oct 09 17:49:41 MDT 2014 art.zambrano ICE-10290 fixed typo in fileEntry.js path
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/build.xml
          Hide
          Krashan Brahmanjara added a comment - - edited

          Unfortunaltely last patches for ICE-10290 doesn't resolve any problem.
          I got complex app based on last Ice 4 from trunk and in javax.faces.PROJECT_STAGE = production mode ... after revison 42691 number of downloaded files grows twice.

          I suggest to cancel whole ICE-10290 refactoring - scripts and stylesheets should be definitely combined, compressed and gzipped on package compilation phase.
          Also less number of resources is less number of problems is future because sometimes resource dependency fails and resource files are missing.

          Footprint at revision 42640

          Footprint at revision 42886

          Show
          Krashan Brahmanjara added a comment - - edited Unfortunaltely last patches for ICE-10290 doesn't resolve any problem. I got complex app based on last Ice 4 from trunk and in javax.faces.PROJECT_STAGE = production mode ... after revison 42691 number of downloaded files grows twice. I suggest to cancel whole ICE-10290 refactoring - scripts and stylesheets should be definitely combined, compressed and gzipped on package compilation phase. Also less number of resources is less number of problems is future because sometimes resource dependency fails and resource files are missing. Footprint at revision 42640 Footprint at revision 42886
          Hide
          Krashan Brahmanjara added a comment -

          Added footprint for revision 42640

          Show
          Krashan Brahmanjara added a comment - Added footprint for revision 42640
          Krashan Brahmanjara made changes -
          Attachment footprint-revision42640.png [ 17506 ]
          Hide
          Krashan Brahmanjara added a comment -

          Attached footprint at revision 42886

          Show
          Krashan Brahmanjara added a comment - Attached footprint at revision 42886
          Krashan Brahmanjara made changes -
          Attachment footprint-revision42886.png [ 17507 ]
          Krashan Brahmanjara made changes -
          Attachment footprint-revision42640.png [ 17506 ]
          Krashan Brahmanjara made changes -
          Attachment footprint-revision42886.png [ 17507 ]
          Krashan Brahmanjara made changes -
          Attachment footprint-revision42640.png [ 17508 ]
          Attachment footprint-revision42886.png [ 17509 ]
          Hide
          Arturo Zambrano added a comment -

          You can use resource coalescing to serve all javascript resources in just one file.

          http://www.icesoft.org/wiki/display/ICE/coalesceResources

          Show
          Arturo Zambrano added a comment - You can use resource coalescing to serve all javascript resources in just one file. http://www.icesoft.org/wiki/display/ICE/coalesceResources
          Hide
          Krashan Brahmanjara added a comment -

          True resource coalescing helps

          revision 42640
          pageLoad:1.56s, javascripts:10, script size: 477kB
          revision 42886 org.icefaces.coalesceResources=false
          pageLoad:1.31s, javascripts:17, script size: 206kB
          revision 42886 org.icefaces.coalesceResources=true
          pageLoad:1.22s, javascripts:2, script size: 201kB

          But it can't be used immediately. CoalesceResources true change something and page with primeface schedule component isn't displayed correctly anymore.

          Show
          Krashan Brahmanjara added a comment - True resource coalescing helps revision 42640 pageLoad:1.56s, javascripts:10, script size: 477kB revision 42886 org.icefaces.coalesceResources=false pageLoad:1.31s, javascripts:17, script size: 206kB revision 42886 org.icefaces.coalesceResources=true pageLoad:1.22s, javascripts:2, script size: 201kB But it can't be used immediately. CoalesceResources true change something and page with primeface schedule component isn't displayed correctly anymore.
          Hide
          Ken Fyten added a comment -

          Note that as of rvn #42722 all the ACE component .js files are now being minified.

          Show
          Ken Fyten added a comment - Note that as of rvn #42722 all the ACE component .js files are now being minified.
          Hide
          Krashan Brahmanjara added a comment -

          Ken. MInification was available many years before 42722 (no-compress flag). We use this solution (minification and compression) in production systems with success.

          Solution added after #42640 is good idea but is unnecessary.
          Also coalescing isn't compatibile with this patch. It disables caching and creates new javax.faces.resource/coalesced.js.iface file on each request - I definately see different sizes of this file on each request.

          Summary the I can suggest to restore previous solution with selection based on development mode (orignal or minified js send to client) also coalesce should generate stable cacheable (on client and server) response

          Show
          Krashan Brahmanjara added a comment - Ken. MInification was available many years before 42722 (no-compress flag). We use this solution (minification and compression) in production systems with success. Solution added after #42640 is good idea but is unnecessary. Also coalescing isn't compatibile with this patch. It disables caching and creates new javax.faces.resource/coalesced.js.iface file on each request - I definately see different sizes of this file on each request. Summary the I can suggest to restore previous solution with selection based on development mode (orignal or minified js send to client) also coalesce should generate stable cacheable (on client and server) response
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #43070 Mon Oct 20 15:22:35 MDT 2014 ken.fyten ICE-10290 - Fixed typo.
          Files Changed
          Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/renderkit/AceSymbolicResourceHandler.java
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

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

              Dates

              • Created:
                Updated:
                Resolved: