I’d been holding off on upgrading to WPMU version 1.5.1 because I was worried that the extent of the changes from 1.3 to the new 2.5 codebase might be a bit too much for the system without some serious recoding. Turns out, I was about half right. And when I did finally upgrade about a week ago, it was a comedy of errors that forced my hand.
Since I’m on a web host that limits the size of my database, it has ever been a concern that I would hit the cap on my main blog. The Tan-Tan Noodles Flickr Plugin did just that to me, since it saves all the pictures you display with the plugin as binaries in the database. Suddenly one day, I could not post to my site and plugins seemed to be magically turning themselves off. I thought for sure that someone had hacked into my site.
So, I opted to upgrade, hoping any security holes in 1.3 might be closed in 1.5.1. Crazy, but again, I was panicking with a fairly high-traffic site suddenly being in limbo. Unfortunately, I didn’t figure out the db problem till long after I’d already overwritten my old 1.3 files. After I did the upgrade I found that my templates weren’t loading correctly. Why should that be?
It turns out, after a long time troubleshooting, that a couple mu-plugins I’d written to bring content from other blogs to the main blog had become unusable. I figured this out because Donncha’s post describing some of the new changes mentioned that plugins using the switch_to_blog() method might have a problem with the new caching system. That didn’t turn out to be the problem, but since some of my code was still using another method of snagging the info (literally, concatinating “wp_1_posts” and querying the db directly!), it was this method that was causing the problem.
So a warning to you plugin writers out there: stick to the WPMU API to the best of your abilities! I’m not entirely sure why querying the db would have caused so much grief, but when I switched to the API, I had no problems.