Home > magnolia-cms, updates > Upgrades with Magnolia

Upgrades with Magnolia

During my stint at Texas State University, we adopted Magnolia CMS around 2007 after a disastrous two-year dalliance with another enterprise system. Since we wanted to be as responsive as possible to our users’ varied (and often changing) needs while still keeping our CMS reasonably stable, we decided to do once-a-month releases to fix bugs and incorporate new features. This gave us 3 weeks a month to do development, and a week to do testing and regression to make sure everything we were putting into the system worked as we hoped.

These monthly updates, which we had to do after-hours, were initially a big hassle: we made long checklists to remind ourselves what paragraph and dialog definitions would need updating, write scripts to update the existing data in the system’s database, and sometimes even had to export objects to XML, tweak them in an editor, and then import them back into the system to make the changes we wanted. Needless to say, this made release nights quite stressful, and we staggered out at 4:00am, seven hours after we had started, more than once. (Upon seeing a porcupine in the parking garage one night, we had to double-check with each other before we were convinced we weren’t hallucinating it.)

As the folks at Magnolia made the system more modular, they also introduced the Version Handler framework, which let us define all of these upgrade tasks programmatically. Instead of having to march down a checklist we meticulously prepared in advance, doing manual step after manual step, we could now let the system do all of that for us in a consistent, reproducible way.

But better than that, having the upgrade tasks defined in this way allowed us to do a “dry run” of our upgrades before actually doing them on a production system. I could run the upgrade process on my machine and find the issues during work hours when I was awake, alert, and had appropriate amounts of caffeinated beverages available. We were able to get our issues sorted out with much less stress, hair-pulling, and use of language my mother wouldn’t approve of than was the case when we were having to handle all of those problems on the fly, under time pressure, in the middle of the night.

Since we implemented this improvement, we had only one unexpected issue in a couple of years of monthly updates. (That one turned out to be our fault!) It was a huge change for the better, and is one of the things about Magnolia that we came to like best.

Categories: magnolia-cms, updates
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: