ICEfaces
  1. ICEfaces
  2. ICE-1175

Make minification of JavaScript configurable

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.5
    • Fix Version/s: 3.1.0.RC1, 3.1
    • Component/s: Release
    • Labels:
      None
    • Environment:
      Operating System: All
      Platform: All
    • Assignee Priority:
      P1
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration

      Description

      We now have compressed javascript files, which is a good thing for performance reason. However, it makes it more difficult for debugging and profiling. We have to manually modify the build files avoid minifying the JavaScript files. This takes time and can be error-prone.

      A better approach would be to automatically server human-readable / debug versions of all JavaScript files when running in JSF 2 "Development" project-stage. The other project-stages would continue to use minified resource files as they do now.

        Issue Links

          Activity

          Deryk Sinotte created issue -
          Icefaces Administrator made changes -
          Field Original Value New Value
          issue.field.bugzillaimportkey 1227 12444
          Ken Fyten made changes -
          Fix Version/s 1.6 [ 10031 ]
          Ken Fyten made changes -
          Assignee Ken Fyten [ ken.fyten ]
          Ken Fyten made changes -
          Summary Allow turning off of compression/obfuscation when building JS (Bridge) code Make minification of JavaScript configurable
          Salesforce Case []
          Fix Version/s 3.1.0.BETA2 [ 10336 ]
          Affects [Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration]
          Assignee Priority P2
          Description Right now, compression is always on. You can turn it off by commenting out the
          compression code but it would be nice to have a conditional build property so
          that when you doing development builds, you can turn all that stuff off and the
          JS is human-readable.
          We now have compressed javascript files, which is a good thing for performance reason. However, it makes it more difficult for debugging and profiling. We have to manually modify the build files avoid minifying the JavaScript files. This takes time and can be error-prone.

          A better approach would be to automatically server human-readable / debug versions of all JavaScript files when running in JSF 2 "Development" project-stage. The other project-stages would continue to use minified resource files as they do now.
          Assignee Mircea Toma [ mircea.toma ]
          Priority Minor [ 4 ] Major [ 3 ]
          Ken Fyten made changes -
          Link This issue is duplicated by ICE-1495 [ ICE-1495 ]
          Ken Fyten made changes -
          Fix Version/s 3.1.0.RC1 [ 10337 ]
          Fix Version/s 3.1 [ 10312 ]
          Fix Version/s 3.1.0.BETA2 [ 10336 ]
          Ken Fyten made changes -
          Link This issue is duplicated by ICE-6195 [ ICE-6195 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #29510 Thu Jun 14 11:31:16 MDT 2012 mircea.toma ICE-1175 Modified 'core' and 'compat' builds to generate both compressed and uncompressed versions of the JS files. Modified also BridgeSetup and ExtrasSetup to insert the resources corresponding to the uncompressed files while running in Development mode.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/BridgeSetup.java
          Commit graph MODIFY /icefaces3/trunk/icefaces/compat/core/build.javascript.xml
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/javascript/application.js
          Commit graph MODIFY /icefaces3/trunk/icefaces/compat/core/src/main/java/com/icesoft/faces/application/ExtrasSetup.java
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/build.javascript.xml
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/javascript/fixjsf.js
          Hide
          Mircea Toma added a comment -

          Modified 'core' and 'compat' builds to generate both compressed and uncompressed versions of the JS files. Modified also BridgeSetup and ExtrasSetup to insert the resources corresponding to the uncompressed files while running in Development mode.

          Show
          Mircea Toma added a comment - Modified 'core' and 'compat' builds to generate both compressed and uncompressed versions of the JS files. Modified also BridgeSetup and ExtrasSetup to insert the resources corresponding to the uncompressed files while running in Development mode.
          Mircea Toma made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #29514 Thu Jun 14 15:05:21 MDT 2012 mircea.toma ICE-1175 Generate compressed and uncompressed JS files so that one or the other can be used depending on the project stage.
          Files Changed
          Commit graph MODIFY /icepush/trunk/icepush/core/build.javascript.xml
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #29515 Thu Jun 14 15:12:38 MDT 2012 mircea.toma ICE-1175 Modified BridgeSetup to also pick the uncompressed ICEpush JS file when in Developmnt mode.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/BridgeSetup.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #29516 Thu Jun 14 15:13:21 MDT 2012 mircea.toma ICE-1175 Modified BridgeSetup to also pick the uncompressed ICEpush JS file when in Developmnt mode.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/lib/icepush.jar
          Mircea Toma made changes -
          Comment [ Should we have un/compressed files in ICEpush library too? ]
          Hide
          Ken Fyten added a comment -

          Regression testing is showing the following new regression failures:

          Icefaces3/trunk revision# 29525
          Server: Tomcat7
          Browser: Firefox13

          Showcase:

          ace:autoCompleteEntry (All demos)

          • The list of autocomplete suggestions will not render when typing into the fields

          ace:draggable/droppable
          > Draggable

          • Possibly not a bug but when moving the location of the image and then changing one of the attributes of the draggable component, the image does not move back to it's original position. (In the past, changing the attributes caused the image to revert back to its original position)
            > Table Integration
          • Dragging the items into the shopping cart has no effect, the images just sit on top of the cart and don't populate themselves into the table. If refreshing the page the table gets populated with the appropriate item.

          ace:panel
          > Listener

          • The listener never gets called (or at least, the values do not get updated on the page) when interacting with the panel.

          ace:resizable
          > Resize Listener

          • The listener is not getting triggered (image never displays inside the panel)

          ace:textEntry

          • The textEntry fields will not submit when losing focus on them, must push enter to submit the field.

          Note that these have been verified to be unrelated to the recent Mojarra 2.1.9-patched update.

          Show
          Ken Fyten added a comment - Regression testing is showing the following new regression failures: Icefaces3/trunk revision# 29525 Server: Tomcat7 Browser: Firefox13 Showcase: ace:autoCompleteEntry (All demos) The list of autocomplete suggestions will not render when typing into the fields ace:draggable/droppable > Draggable Possibly not a bug but when moving the location of the image and then changing one of the attributes of the draggable component, the image does not move back to it's original position. (In the past, changing the attributes caused the image to revert back to its original position) > Table Integration Dragging the items into the shopping cart has no effect, the images just sit on top of the cart and don't populate themselves into the table. If refreshing the page the table gets populated with the appropriate item. ace:panel > Listener The listener never gets called (or at least, the values do not get updated on the page) when interacting with the panel. ace:resizable > Resize Listener The listener is not getting triggered (image never displays inside the panel) ace:textEntry The textEntry fields will not submit when losing focus on them, must push enter to submit the field. Note that these have been verified to be unrelated to the recent Mojarra 2.1.9-patched update.
          Ken Fyten made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Assignee Priority P2 P1
          Hide
          Mircea Toma added a comment -

          ace:autoCompleteEntry and ace:textEntry regressions were caused by the patched Mojarra 2.1.9 update.

          Show
          Mircea Toma added a comment - ace:autoCompleteEntry and ace:textEntry regressions were caused by the patched Mojarra 2.1.9 update.
          Hide
          Mircea Toma added a comment - - edited

          Draggable/Table Integration, ace:panel/Listener and ace:resizable/Listener regressions cannot be reproduced when running with revision #29516 (which corresponds to the last commit for this issue).

          Show
          Mircea Toma added a comment - - edited Draggable/Table Integration, ace:panel/Listener and ace:resizable/Listener regressions cannot be reproduced when running with revision #29516 (which corresponds to the last commit for this issue).
          Mircea Toma made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Ken Fyten added a comment -

          The following issues are present when using project_stage="PRODUCTION" (and are not when project_stage="DEVELOPMENT"), tested using svn rvn#29542:

          ace:autoCompleteEntry (All demos)

          • The list of autocomplete suggestions will not render when typing into the fields

          ace:textEntry

          • The textEntry fields will not submit when losing focus on them, must push enter to submit the field.
          Show
          Ken Fyten added a comment - The following issues are present when using project_stage="PRODUCTION" (and are not when project_stage="DEVELOPMENT"), tested using svn rvn#29542: ace:autoCompleteEntry (All demos) The list of autocomplete suggestions will not render when typing into the fields ace:textEntry The textEntry fields will not submit when losing focus on them, must push enter to submit the field.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #29544 Tue Jun 19 15:16:30 MDT 2012 mircea.toma ICE-1175 Fixed 'compat' build to avoid removing the coalesced JS code before the the compressed JS resources are built.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/compat/core/build.javascript.xml
          Hide
          Mircea Toma added a comment -

          The problem was that after the uncompressed JS files were built the temporary files were removed before the compressed files would be build off these same files.

          Fixed 'compat' build to avoid removing the coalesced JS code before the the compressed JS resources are built.

          Show
          Mircea Toma added a comment - The problem was that after the uncompressed JS files were built the temporary files were removed before the compressed files would be build off these same files. Fixed 'compat' build to avoid removing the coalesced JS code before the the compressed JS resources are built.
          Ken Fyten made changes -
          Link This issue blocks ICE-8250 [ ICE-8250 ]
          Ken Fyten made changes -
          Issue Type Improvement [ 4 ] New Feature [ 2 ]
          Salesforce Case []
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Mircea Toma
              Reporter:
              Deryk Sinotte
            • Votes:
              1 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: