ICEfaces
  1. ICEfaces
  2. ICE-5989

CLONE -Hide Prototype, Scriptaculous component JS variables/functions to avoid collisions with 3rd party JS libs.

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.8.2-EE-GA_P01
    • Fix Version/s: None
    • Component/s: Bridge
    • Labels:
      None
    • Environment:
      ICEfaces 2.0 Compat APIs.
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration

      Description

      To avoid any variable name conflict with third party libraries the code in Prototype, Scriptaculous and components should be evaluated within a function local context.

      Note that some existing ICEfaces projects may take advantage of the public Scriptaculous and Prototype libs that we currently provide, and hiding these will break these applications. As it is not easy to implement this in a configurable way (so it can be enabled or disabled as required), we may want to consider only hiding those functions that overload std. JavaScript behaviors instead of the entire libs.

      A workaround for impacted applications may be to have them load the Scriptaculous or Prototype libs themselves, if required, although this would necessitate modifying their pages which basically breaks our backwards compatibility policy for a maintenance release.

        Issue Links

          Activity

          Mircea Toma created issue -
          Ken Fyten made changes -
          Field Original Value New Value
          Fix Version/s 1.8.2-EE-GA_P02 [ 10226 ]
          Fix Version/s 1.8.3 [ 10211 ]
          Fix Version/s 2.0-Beta2 [ 10242 ]
          Assignee Priority P2
          Affects Version/s 1.8.2-EE-GA_P01 [ 10220 ]
          Affects Version/s 2.0-Alpha3 [ 10032 ]
          Description To avoid any variable name conflict with third party libraries the code in Prototype, Scriptaculous and 'compat' component should be evaluated within a function local context. To avoid any variable name conflict with third party libraries the code in Prototype, Scriptaculous and components should be evaluated within a function local context.

          Note that some existing ICEfaces projects may take advantage of the public Scriptaculous and Prototype libs that we currently provide, and hiding these will break these applications. As it is not easy to implement this in a configurable way (so it can be enabled or disabled as required), we may want to consider only hiding those functions that overload std. JavaScript behaviors instead of the entire libs.

          A workaround for impacted applications may be to have them load the Scriptaculous or Prototype libs themselves, if required, although this would necessitate modifying their pages which basically breaks our backwards compatibility policy for a maintenance release.
          Hide
          Ken Fyten added a comment -

          This is basically the same task as was completed for ICEfaces 2.0 under ICE-5844, but applied to the icefaces/trunk for EE P02.

          Show
          Ken Fyten added a comment - This is basically the same task as was completed for ICEfaces 2.0 under ICE-5844 , but applied to the icefaces/trunk for EE P02.
          Hide
          Ken Fyten added a comment -

          Another driver for doing this in EE P02 is that there are reports that Liferay 6.x will not work with ICEfaces 1.8.2 currently due to these JS collisions. See http://issues.liferay.com/browse/LPS-11469 for details.

          Show
          Ken Fyten added a comment - Another driver for doing this in EE P02 is that there are reports that Liferay 6.x will not work with ICEfaces 1.8.2 currently due to these JS collisions. See http://issues.liferay.com/browse/LPS-11469 for details.
          Ken Fyten made changes -
          Link This issue blocks ICE-5990 [ ICE-5990 ]
          Deryk Sinotte made changes -
          Assignee Priority P1
          Ken Fyten made changes -
          Fix Version/s 1.8.2-EE-GA_P02 [ 10226 ]
          Fix Version/s 1.8.3 [ 10211 ]
          Assignee Priority P1
          Assignee Mircea Toma [ mircea.toma ]
          Hide
          Ken Fyten added a comment -

          Not applicable for 1.8.2, this has been applied for 2.0.

          Show
          Ken Fyten added a comment - Not applicable for 1.8.2, this has been applied for 2.0.
          Ken Fyten made changes -
          Status Open [ 1 ] Closed [ 6 ]
          Resolution Won't Fix [ 2 ]

            People

            • Assignee:
              Unassigned
              Reporter:
              Mircea Toma
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: