jquery_update version 2.5 just came out:

https://drupal.org/node/2231919

Looks like lots of bug fixes and offers some newer version of jQuery and jQuery UI.

TODO

  1. Audit the jQuery UI theme in panopoly_core and converting it from jQuery UI 1.8 to 1.10
  2. Test the Spotlight widget and make sure everything works and looks correct!
  3. Audit the panopoly-widgets.css for any jQuery UI selectors.
  4. More manual testing, especially of all uses of jQuery UI to make sure there are no functional or visual regressions!

Comments

dsnopek’s picture

Status: Active » Needs review
StatusFileSize
new416 bytes

Patch is attached - I haven't done any testing yet.

  • Commit 05c9b21 on 7.x-1.x by dsnopek:
    Update Panopoly Admin for #2235081: Update jquery_update to version 2.4.
    
dsnopek’s picture

Status: Needs review » Fixed

Did some manual testing: mainly messing with widgets (like Spotlight) and live preview which I know uses lots of Javascript. Everything seemed to work! So, I've committed - let's see what happens with the automated tests:

https://travis-ci.org/panopoly/panopoly/builds/22842735

dsnopek’s picture

Status: Fixed » Postponed

Of course, I didn't try the Video widget! Here is a bug caused by this update:

#2245133: Media Browser appears underneath the CTools dialog

This version of jquery_update switches from jQuery UI 1.8 to 1.10 - which has a number of incompatibilities with Media 2.x:

#2245143: Media Browser appears underneath CTools dialog and Navbar with jquery_update 2.4
#1957812: Media Browser isn't resized when clicking on tabs (jQuery UI 1.10 incompatibility)

For the time being, I'm going to revert this upgrade. Some work will need to happen in Media before we can do it.

  • Commit 1532409 on 7.x-1.x by dsnopek:
    Update Panopoly Admin to revert issue #2235081: Update jquery_update to...
robloach’s picture

Radix uses Bootstrap, and the latest version of Bootstrap requires jQuery 2.x. This pushes our need to move to jQuery 2.x. What other issues have you run into with Panopoly and jQuery >=1.8?

dsnopek’s picture

@RobLoach: The problem described here is about updating jQuery UI from 1.8 to 1.10 - not about an increase in the jQuery version. I think one of these issues would be more appropriate:

#2032127: Update jquery_update_version to jQuery 1.8
#2209637: Panopoly Theme breaks Panels add content with Jquery 1.8.

hanoii’s picture

2.5 is out as well, should we change title to 2.5?

dsnopek’s picture

Title: Update jquery_update to version 2.4 » Update jquery_update to version 2.5

Sure :-)

hefox’s picture

StatusFileSize
new606 bytes

Here's a patch that ups it to 2.5. Openatrium has been running 2.4 with one patch for a while, but it also has jquery at 1.7 instead

dsnopek’s picture

StatusFileSize
new1.54 KB

Just did some testing with this again, and found some issues with our custom jQuery UI theme: the close button on the modal dialog was being displayed wrong. Here's a patch to panopoly_core to fix that!

EDIT: Trying latest patches on Travis-CI: https://travis-ci.org/panopoly/panopoly/builds/63350986

robloach’s picture

jQuery Update 3.0-alpha1 is also out, which allow updating to jQuery 2.1.4 with jQuery Migrate. Tried testing it, but am getting the following during installation:

All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead

dsnopek’s picture

Status: Postponed » Needs review

#2445119: Update Media to 2.0-alpha4 got committed, so this is unpostponed!

dsnopek’s picture

This failed automated testing, but I think it's actually because it's missing the Media update. You can see it's trying to create a Video widget but something is in it's way from clicking, which is an exact description of that bug. :-) I'm going to try kicking off another build and see if this one works:

https://travis-ci.org/panopoly/panopoly/builds/63376062

dsnopek’s picture

Issue summary: View changes
StatusFileSize
new1.86 KB
new885 bytes

Huzzah! The tests passed. I think we're functionally good, but doing some more manual testing, I've been finding more visual regressions:

  1. The jQuery UI theme in panopoly_core was breaking the dialog overlay, so I removed that code. Overall, we should probably audit that theme and see if we can update it to jQuery UI 1.10
  2. The fix from #2458747: Media browser tabs give little indication that a tab is selected is no longer working, and needs some adjustment, so I've attached a patch for panopoly_widgets as well.

I've updated the issue summary with some TODO for finally getting this merged!

@RobLoach:

Query Update 3.0-alpha1 is also out, which allow updating to jQuery 2.1.4 with jQuery Migrate. Tried testing it, but am getting the following during installation:

Awesome! Glad to hear that development on jquery_update is moving forward so well. :-) However, since we're so close to getting jquery_update 2.5 working, let's try and get that merged ASAP and make a new issue for updating to jquery_update 3.x:

#2492801: Update jquery_update to version 3.x

dsnopek’s picture

Status: Needs review » Needs work
Related issues: +#2492811: Move jquery_update to panopoly_core.make and .info

Working on this has made me realize that jquery_update is really a core dependency, so I made an issue about moving it to panopoly_core:

#2492811: Move jquery_update to panopoly_core.make and .info

And thinking about the panopoly_widgets patch:

+++ b/panopoly-widgets-media-browser.css
@@ -10,14 +10,14 @@
-#media-tabs-wrapper .ui-tabs-nav li.ui-tabs-selected {
+#media-tabs-wrapper .ui-tabs-nav li.ui-tabs-active {

Actually, looking at jQuery UI 1.8, we should be able to use li.ui-state-active and have CSS that works for both 1.8 and 1.10! That would be the better way to go...

dsnopek’s picture

Issue tags: +sprint

Put this on the sprint board!

dsnopek’s picture

Issue summary: View changes
robloach’s picture

dsnopek’s picture

@RobLoach: Thanks for the new panopoly_widgets patch! :-)

dsnopek’s picture

robloach’s picture

Component: Admin » Core
Status: Needs work » Needs review
StatusFileSize
new737 bytes
mpotter’s picture

Issue tags: +openatrium2

Using #22 in open atrium against panopoly dev

mpotter’s picture

Issue tags: -openatrium2 +oa patches
dsnopek’s picture

Status: Needs review » Needs work

The patch on #22 needs to be merged with the panopoly_core patch on #15. And also all the stuff in the TODO in the issue summary!

Don't worry, this is still a priority! I'm hoping to get back to it soon. :-)

robloach’s picture

Status: Needs work » Needs review
StatusFileSize
new2.58 KB
robloach’s picture

+++ b/panopoly_core.make
@@ -115,9 +115,8 @@ projects[migrate_extras][subdir] = "contrib"
+projects[jquery_update][version] = 2.5

Could we target with projects[jquery_update][version] = 2 to ensure jQuery Update is always the latest 2.x?

dsnopek’s picture

Could we target with projects[jquery_update][version] = 2 to ensure jQuery Update is always the latest 2.x?

No, sorry, we need the builds to be deterministic. If someone downloads an old version of Panopoly and rebuilds it, it needs to build it the same as it would have the day it was released. Or if another distro is including our features, they wouldn't expect a rebuild to produce a different result without changing anything in their .make files.

Also, if the update breaks things, we need a chance to fix those things before the update happens! If we had automatically jumped from 2.3 to 2.5, we'd have broken a number of things.

Anyway, after we finish this and upgrade to 2.5, if jquery_update 2.6 works without causing any of our automated tests to fail, the update to it will be a shoe in, just like most module updates. :-)

robloach’s picture

robloach’s picture

dsnopek’s picture

I've been attempting to do the first TODO item:

1. Audit the jQuery UI theme in panopoly_core and converting it from jQuery UI 1.8 to 1.10

And it's turning out to be quite tricky!

While what we have currently in this patch appears to work, what I'd really prefer to do is use theme roller to update the theme from 1.8 to 1.10 so that nothing is missing and we won't find some strange problems down the line. But it appears that it was modified by hand after getting it from theme roller, so can't just visit the link and re-generate for 1.10. And, unfortunately, I couldn't find the changes represented as commits in Git, so it's hard to see exactly what those changes are. :-/ Also, theme roller will no longer generate CSS for 1.8 so I can't ask it to make the same theme again to compare.

So, what I ended up doing was attempting to recreate something similar to the CSS before theme roller did it's thing by just concatenating the CSS files and a quick regex to pull out the markers for theme roller. Then I ran that and the Panopoly jQuery UI theme through a CSS beautifier and diffed them.

I'm going to quick upload those files here so that I don't lose them. But the next step is to use theme roller to generate a new theme for jQuery UI 1.10, and then look through the old diff and make sure everything is represented in the new theme.

dsnopek’s picture

Alright! Here is my first pass at a new set of patches which uses a panopoly-jquery-ui-theme.css which was completely rebuilt by ThemeRoller.

For future reference (ie. when I have to do this again) I've also attached the original CSS file from Theme Roller and a diff from that to what is actually included in this patch.

Also, I moved some media browser specific CSS out of the jQuery UI theme and into panopoly_widgets, where it really belongs. Now the jQuery UI theme is just a jQuery UI theme.

dsnopek’s picture

Issue summary: View changes

Updating the TODO in the issue summary.

Also, here's the Travis build of my last set of patches:

https://travis-ci.org/panopoly/panopoly/builds/66939788

dsnopek’s picture

Issue summary: View changes
StatusFileSize
new4.01 KB

Just took a stab at #3 on the TODO:

3. Audit the panopoly-widgets.css for any jQuery UI selectors.

So, while I didn't notice any issues with the Spotlight in my manual testing, it appears that the CSS for it in panopoly-widgets.css was using the obsolete .ui-tabs-selected class rather than .ui-state-active. So, here's an updated panopoly_widgets patch! I didn't notice any changes with it, but I think it's still worth doing.

EDIT: Here's a Travis build which includes this patch: https://travis-ci.org/panopoly/panopoly/builds/66942139

On the final TODO item:

4. More manual testing, especially of all uses of jQuery UI to make sure there are no functional or visual regressions!

I tried:

  • The Media Browser (via the Video widget)
  • The Linkit popup
  • Manualcrop (not actually sure if this uses jQuery UI or not, but we don't have automated tests for it)

... and I didn't have any problems! However, I'd love for some other folks to do some more testing before I cross this one off the list and commit.

dsnopek’s picture

Tests pass! I'd really appreciate if at least one person other than me could do some manual testing - that would make me feel a lot more confident in committing this. :-)

  • dsnopek committed 594c8a5 on 7.x-1.x
    Update Panopoly Core, Admin and Widgets for Issue #2235081 by dsnopek,...
dsnopek’s picture

Status: Needs review » Fixed

I decided to go for it. :-) But it'd still be great if someone could try the -dev build and do a quick sanity check!

sonictruth’s picture

Go team!

jdoupnik’s picture

While you are testing video material, there is another aspect to check. It is the seek function of a playing video. That means the controls time-line marker which we can click on or pull to go to a spot in the video.
This worked in Panopoly v.22, but fails on v.23. The test was to use either mediaplayer or JWPlayer plugins.
I wish I had meaningful clues to offer, but the layers of javascript & friends are far to thick for me.

sonictruth’s picture

@jdoupnik: This sounds like a clash between the version of jQuery and the video player javascript—not something to do with panopoly. Check which version of jQuery the player requires and then go to the jquery_update settings page and change the jQuery version accordingly.

jdoupnik’s picture

On my message above, concering video playbacks, I have tracked down the problem.
It is that seeking is not working when the .mp4 file is within "private" storage (thus the web server cannot see it directly).
The JWPlayer code provides a Drupal hook-in to detect seek requests. But even so, using instead the in-built video player experiences the same problem. This leds me to speculate that the Drupal/Pano code which proxy's private files to the web server is not responding the same as a file system (not supporting seeks).
I have tinkered with jquery versions, and nothing changed. In the end I suspect the proxy pathway characteristics.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.