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
As per the above comment we updated the following libraries :
- jQuery 3.5.1
- bootstrap 4.5.2
- bootstrap-datepicker 4.17.47
- 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.
-
Details Panel :
-
Media and Comments :
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