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.
          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 ]
          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: