Esri/crowdsource-manager

BUG-000133477 JQuery updates

aparveen opened this issue · 5 comments

Many customers are starting to perform static and dynamic analysis of our apps and finding issues related to dated libraries.

for Solutions apps, updating jQuery to 3.5.1 in crowdsource-reporter and crowdsource-manager appears to also require updating bootstrap, bootstrap-datepicker, and moment-with-locales because of changes to functions.

crowdsource-reporter uses

bootstrap 3.3.0 (10/2014)
bootstrap-datepicker 3.0.0 (3/2014)
moment-with-langs 2.7.0 (a predecessor of moment-with-locales that was deprecated 7/2014)
crowdsource-manager uses

bootstrap 3.3.6 (11/2015)
bootstrap-datepicker 4.17.37 (7/2015)
moment-with-locales 2.11.2 (2/2016)
I'm looking at the required call changes to the two apps using the current versions:

jQuery 3.5.1
bootstrap 4.5.2
bootstrap-datepicker 4.17.47
moment-with-locales 2.28.0

@MikeTschudi @aparveen

As per the above comment we updated the following libraries :

  1. jQuery 3.5.1
  2. bootstrap 4.5.2
  3. bootstrap-datepicker 4.17.47
  4. moment-with-locales 2.28.0
  • In addition to the above libraries, crowd source manager also uses calcite-bootstrap css.
    • This is a esri library which is build on top of bootstrap and it still points to the older version of bootstrap. So, even if we update the bootstrap and other libraries to the latest version, the application will still the honor the calcite bootstrap classes.

However, after updating the libraries we are seeing the following issues in manager application.

  1. Details Panel :

    • Info, Media and Comments tab's are not displayed properly
      image
  2. Media and Comments :

    • Media and Comment tab contents are completely invisible
      image

NOTE :

  • There are some scenarios where we may have to change the DOM structure in order to resolve the UI issues. However, this may again impact the 508 Accessibility and may require some changes.

Please let us know if you need more details.

If we go ahead with these changes, let's please use the latest versions of all libraries. The versions listed above were simply the latest versions at the time that I looked into updating jQuery.

Regarding moment-with-locales in particular, if it can be removed as a part of this work, that would address its upcoming deprecation.

Dev Checklist

Items ​ Is required​ Status Comments​
Required NLS change?​ No NA 
Required Backward compatibility​? No NA   
Required 508​? No NA  Manager application doesn’t support accessibility
Need Sanitize?​ No NA 

Impact Analysis Report

Impacted Areas Comments
Have Configuration changes?​ No
Have Runtime changes?​ Yes
Impact on RTL Yes
The entire application will be impacted by this change and this will need thorough testing Following areas have a major impact :
  Web map list
  Details Panel
  Geo Form and Comment Form
  Date Picker functionality
  Number spinner
  Data viewer (Data table)

@MikeTschudi @aparveen @skrishn

Here are the details of the libraries that we have added or updated to the latest version.

Libraries Older Version Upgraded version Comments
Jquery 1.12 3.5.1
bootstrap 3.3.6 4.5.3
bootstrap-datetimepicker 4.17.37 4.17.47
bootstrap-datetimepicker standalone - 4.17.47 Added this css to support the existing glyphicons as the latest bootstrap has removed the support for glyphicons
moment-with-locales 2.11.2 2.29.0
popper - 1.12.9 The latest bootstrap requires popper js file to support tooltips in the application
bootstrap rtl css - 4.5.3  Add this css to support RTL mode in application

NOTE:

  • We found a minor UI related issue in the latest version of date time picker and we have fixed it at our end. (We have replaced 'in' class with 'show' class in the minified js file)
  • The same issue is present in the date time pickers github page and also on the stack overflow :

Just wanted to update everyone about this information so we all are on the same page. Please have a look at this and let us know if you need anything else.

verified in qa