less painful than I expected

So I run two full versions of the site, and until I take the time to get Deploy etc working, I periodically have to reset the test version as it gets absurdly out of whack with the live version.

For reasons that are too boring to get into at the moment, I had to do that earlier this week. When I did, I completely spaced on the fact that a few weeks ago I was working on a major overhaul to some of the content types. (See my comments about rate tables in the conversion post from last September.) It took me quite a while to figure out the best way — or at least a better way — to get it set up. I hadn’t yet implemented it on the live site, because I was waiting on someone else’s schedule.

Today, the meeting chime came up saying that I was supposed to show the new setup to that someone.

Oh.

Crap.

Digression: some of you are aware of the ampersand disaster of 1996. (If not, see this post from 2001.) The sense of panic, sinking OMGWTFBBQ, punch-to-the-gut that I felt when I realized was almost exactly the same as when Sandra brought me that label addressed to “S&ra”.

I postponed the meeting and immediately (ok, after taking a little break for toast) set to work. At first, I thought the best call would be to find all the references in the database backup to the node type, nodes, and views and just copy in the SQL. Yes, making a backup is an established part of my reset routine!

But ugh. It wasn’t long at all before I determined that it was just too crazy-messy to even consider, which left me feeling pretty low. (And stupid, good grief the burning stupid.)

Then I realized I’d made custom theme files for the node types in question! That gave me the names of the content fields and some information about the node type settings and how I had used taxonomy. Then I discovered that my habit of letting Firefox remember things I type into fields had left a memory of the names I used, not just for the content fields, but for the multigroups they were bundled into. I did use the SQL backup to figure out what taxonomy vocabulary I’d used and what the terms were, plus the allowed values for a couple of fields. Dreamweaver is actually not too bad for searching ginormous SQL files.

Once I had the content types set, figuring out the Views I needed was fairly obvious. (To me, anyway.) I think I even improved them over my previous attempt. All that remained was copying in a bit of CSS from the backup version of the theme, and in less than 4 hours I had it all back together!

So yay for Drupal. (It’s been a week of “Drupal hates me” vs “Yay for Drupal” — at the moment I think “yay” is winning out.)