You are here

Upgrade hell

posted by apratt
on Tue, 02/26/2013 - 20:53

Tonight I ran into it again.

Upgrade hell.

jQuery, jQuery UI, CK Editor, Colorbox, Cloud Zoom, TinyMCE and then there is Drupal itself. Within the Drupal community there is a great respect for upgrading Drupal. Since Drush came along I can't say as I have run into any major problems with upgrading modules or core.

To the point where I really have to stop and make myself make a database backup before I upgrade. I do it but I have never had to roll back to it. Occasionally a new permission rears its head and I don't realize it until I get an email saying "I can't... and could in the past."

But now we are increasingly tying ourselves to other systems - primarily javascript plugins. And these for the freelance developer are rapidly turning into a quagmire that if we are working under the heat of a deadline deteriorates into hell.

Several weeks ago I ran into a contrib module - Colorbox I'm looking at you - no longer maintained for Drupal 6. Not completely true. The module maintainer is actively seeking a co-maintainer that would look after the Drupal 6 version. In the meantime it languishes but the jQuery plugin it supports hasn't. The particular problem I had was that the plugin has moved to Github. A good move I'm sure for the plugin. But it left all kinds of broken links that are welded into the Drupal module. Being kind of a fixit guy I went looking for a workaround thinking this might be a good place for me to foray into using git to create patches. But the archives on Github don't go far enough back to give me the currently supported version of the plugin! It's almost enough to make me upgrade this site to Drupal 7 - for free. Except that we rely on an old version of jQuery on this site to run a custom built app.

All of which brings me to jQuery. Several months ago I ran into the "This module requires the latest version of jQuery. Use jQuery Update to supply it." Sure I've used it before and it works well. Usually. But it didn't. I had to spend hours tracing the problem and then realizing that I needed to match jQuery to jquery UI. Matching versions so that the complete site all works is like tuning a Formula One race car. Complex and something that the average backyard mechanic is ill equipped to do.

And the prompt for writing this post. CK Editor. You know. The one we are baking into Drupal 8 after scaring them into getting active with us by working with Aloha. The email was simple. "The body isn't showing up in my edit screen. " And in googling I ran into this charming thread. And I felt myself slipping on the slope of upgrade hell. Used to be the biggest worry was configuring the rich text editor. Now we have to balance all the versions available. And I see another quiet evening disappearing as I sort through the mess of plugin versions.

I feel guilty for raising a question I have no answer for. But I can tell you that in my community experience is that if nobody talks about the problems then it will be a long time till the solution is discovered. It has always amazed me though that the Drupal community is so wonderful about resolving issues. Drush has made upgrading so easy (and solved a ton of other nagging issues). Remember what a great breakthrough admin menu was. And so I look forward with eager anticipation to see how this problem is solved.