Ticket #13959 (new Bug)

Opened 2 years ago

Last modified 2 years ago

Upgrade jQuery-integration to 1.9

Reported by: ida Owned by:
Priority: minor Milestone: 4.x
Component: Unknown Version: 4.3
Keywords: Cc:

Description

Plone ships with jQuery-1.7.2 currently (via plone.app.jquery), at the time of writing the newest jQuery-release is 2.1.0. To get all the goodies, we could strive at least for a 1.9-upgrade.

This will need to take regard of the documented major-changes, review Plone's Javascripts and testing with a provided debug-script[1].

Cleaning the core, shouldn't be a problem. TinyMCE could be. Question is, if potential – and very likely – incompatibility-issues with (3rd-party-)add-ons would be bearable?

Referencing to:

[1] http://jquery.com/upgrade-guide/1.9/

Change History

comment:1 follow-up: ↓ 3 Changed 2 years ago by davisagli

Plone 5 already uses jquery 1.8.3 (in mockup), and I think Rok plans to upgrade to the latest soon.

comment:2 Changed 2 years ago by aaronwilliams

I think plone.app.jquery 1.9.1 on pypi should be removed as it doesnt work with Plone. Installing it causes popupfomrs, formtabbing, and tinyMCE to break.

If the package needs to remain in the wild, then notes about non-compatibility should be added to the package page on Pypi. We really need to help users use Plone with upfront information rather than frustrating them with red herrings like this.

My errors when i changed to plone.app.jquery to 1.9.1 on a vanilla Plone 4.3.2 were:

 - TypeError: a.browser is undefined
jQuery.extend(jQuery.tools.overlay.conf,
popupforms.js (line 15)

 - TypeError: jQuery.tools.overlay is undefined
jQuery.tools.overlay.conf.oneInstance = false;
plone.app.jquerytools.overlayhelpers.js (line 16)

 - TypeError: jQuery.tools.overlay is undefined
jQuery.extend(jQuery.tools.overlay.conf,
popupforms.js (line 15)

 - TypeError: jqForm.children(...).tabs is not a function
$("input[name='form.button.PublishComment']").live('click', function () {
comments.js (line 146)

 - TypeError: $(...).live is not a function
$("input[name='form.button.PublishComment']").live('click', function () {
comments.js (line 146)

comment:3 in reply to: ↑ 1 Changed 2 years ago by ida

Replying to davisagli:

Plone 5 already uses jquery 1.8.3 (in mockup), and I think Rok plans to upgrade to the latest soon.

Awesome. Rok's results could pour into Plone-4 than, too. I'm afraid we won't get around the migration-work, to ensure smooth Plone-4-to-5-upgrades and, as a pleasant side-effect, be able to provide latest jQ also in P4.

Fortunately, the migra-steps seem to be very well documentated, so it might be possible to automize the procedure widely.

Note: I'm using jQuery 1.11.0 in a Plone-4.3 for development without noticeable issues so far :)

comment:4 Changed 2 years ago by ida

A quick comparison showed, that jQ-1.11.0 throws much less errors than jQ-1.9.1. And they seem to only occur in edit-mode.

Does anyone have an opinion about it, if an upgrade can be possible assuming we'd fix the core-errors?

Note: See TracTickets for help on using tickets.