Dougal Campbell's geek ramblings

WordPress, web development, and world domination.

WordPress 2.2 Delayed

A while back, the WordPress development team decided to aim for date-targeted, quarterly releases, to speed up the development cycle. One of the main things this does is to give more frequent updates, but with fewer “big” new features in each release. The target for WordPress 2.2 was set for around April 23.

One of the new features in WordPress 2.2 is ‘tags’. For any of you who still don’t know what tags are, they are basically keywords that you can put on posts. It’s similar to categories, but the idea is that tags are intended to be more generalized and free-form, and less formal than a category system. When tags appear on your posts or your RSS/Atom feeds, they are marked up in a way that they can be detected by search engines, allowing them to index your content in a more meaningful way, and even allowing you to cross reference data across multiple services which share the same tags. Some of the most popular applications that use tags are Flickr, Technorati, and del.icio.us.

Recently on the wp-hackers mailing list, there was a flurry of technical discussion about the underlying implementation of the WP tags system. I won’t bore you with the details (see the mailing list archives if you’re interested, it basically started with Knut-Olav Hoven’s post and really took off with Robert Deaton’s proposal, but there were several other related threads, including Matt’s rationale for the first implementation and Ryan’s proposal for a replacement), but the result of the conversation was that the tags system is getting a serious under-the-hood overhaul. The new system is going to be extremely flexible, and will even allow plugins to define their own taxonomies (which basically means that they could have their own private set of tags, separate from the main system or from other plugins).

But, since these changes have come about so close to the scheduled release date, the developers have decided to push the release back by “a week or two”, according to Matt. I have a feeling that this will definitely be worth it in the long run. The improved tags API and underlying database schema are going to open a lot of interesting doors for plugin developers

This whole process has been a great example of the WordPress development community at work. The decision to implement tags came about because it’s one of the most popular topics on WordPress Ideas, and the re-engineering and subsequent decision to spend more time on it came about because of discussions on one of the mailing lists. That’s how an Open Source project is supposed to work, and it’s great to see the process succeed.

Tax Time Tradition

Once again, I’ve upheld my time-honored tradition of getting my taxes in the mail at the last minute.

Just like every other year that I’ve promised myself that I’d get them mailed off weeks in advance…

Of course, it didn’t help that we had some sort of stomach virus making the rounds in our family over the past several weeks. First Jamie was sick for about a week, then Claire got it the next week, then Susan had it after that. Fortunately, Mary never caught it, and I either got a weakened strain or my system just fought it better, because I only had a few days of mild symptoms.

New WordPress Releases: 2.0.10 and 2.1.3

That’s right, two shiny new bugfix/security updates. One for the 2.0 branch and one for the 2.1 branch. There are some small bugfixes in both of these versions, but the main reason to upgrade is for the security fixes (I’m going to write more on that subject later).

Visit the downloads page for version 2.1.3, and the Release Archive for version 2.0.10.

Watch later this month for the release of WordPress 2.2. This upcoming release will add several new features, including built-in support for tags(!), Atom 1.0 feeds for posts and comments, some preliminary Atom Publishing Protocol support (I’ve been working on that), several new XML-RPC methods, widget support in the default templates, performance enhancements, and several other things that I can’t think of right now. Obviously, there will be more details available at the time of the official release, which is slated for April 22.

My Favorite WordPress Plugins

One of the coolest things about WordPress is the powerful Plugin API which allows us to create add-ons which can radically extend the basic functions of our sites. Most plugins can be used simply by dropping them into your plugins folder and activating them. I don’t use a ton of plugins compared to some people — I can be a bit picky about what I add. And I’m not going to list every plugin that I’ve got active here, but I thought I’d point out a few of my favorites:

Akismet
There are a lot of people who swear by Bad Behavior or Spam Karma 2. But I’ve found that Akismet by itself does the job for me, when it comes to taking care of comment spam.
Sidebar Widgets
With the Sidebar Widgets Plugin and a widget compatible theme, you no longer have to edit your theme’s sidebar.php file every time you want to add something new. You can rearrange the order of your sidebar’s sections just by dragging and dropping the widgets in the admin configurator.
Search Everything
The basic search in WordPress only searches the content of your posts. It doesn’t search pages or comments. But with this plugin, you can search on all of those things, plus on any post metadata (custom fields) that you have set.
DoFollow
I mentioned this recently in another post (Follow you, follow me). Strips out the nofollow attribute for links in approved comments after a configurable amount of time has passed.
Share This
Alex King’s social bookmark plugin. There are two features that I particularly like about this one: the dynamic expansion/collapsing, and the ability to email the link. It’s like two plugins in one!
WP-Cache 2
An excellent defense against traffic spikes. If you ever get hit with a large volume of traffic, this plugin is going to save your hash.
OpenID Registration
With OpenID, you can consolidate all of the common information that you normally have to re-type every time you register at a new web service. This plugin allows your commenters (or user registrations) to use their OpenID for identification.

Again, that’s not every plugin I’m using. I didn’t list individual sidebar widgets like the ones for del.icio.us or Flickr, for example. And I didn’t highlight any of the plugins I’ve written myself. And I’m sure I’ll be adding other plugins into the mix as time goes by. But these are the main ones that I wanted to highlight that I’m using right now.

How about you — what are your favorite plugins, and why?

Ow. Ow. Ow.

I’ve spent years at a desk job and very little in the way of extra-curricular activity, so I’m not in the best shape of my life. In fact, I’m in pretty poor shape. I’m grateful that my doctor was diplomatic about it when I had my 40-year-old physical last week. But I’ve been making somewhat of an effort to get myself into better general health over the last couple of years. If nothing else, I eat healthier foods now, generally speaking.

Thus, a few weeks ago I signed up to play on our church softball team, figuring that it would be a good way to commit myself to getting some exercise. We had our first practice on Friday night. I didn’t embarrass myself too badly, considering that it’s been nearly thirty years since I played little league baseball. I did a pretty good job catching fly balls, but I need to work on grounders (can I blame it on my bad knee and a glove that isn’t broken in yet?). At first, I was missing almost every pitch in batting practice. But my teamates pointed out that I was consistently swinging high. I was swinging for a baseball pitch, but with the slower softball pitches, the ball drops more at the end of its trajectory. Once I began swinging down under the pitch, I started hitting pretty consistently. We practiced for a tad over two hours, so I expected to be pretty sore over the next few days.

Saturday morning wasn’t as bad as I expected, though. I expected soreness in my legs, shoulders and throwing arm. But I didn’t expect the soreness in my right hand and in my feet. Still, not too bad. Then on Sunday, I did some yard work. I needed to finish pruning the crepe myrtles in front of our house, and also some shoots from the pear trees. Then I had to haul all the branches from the front of the house down to the woods at the back of our property.

Yeah, that did it. I’m really good and sore now. Fortunately, it only hurts when I move. I think I need to make time a couple of times a week to do a little touch-up exercising. That should help remind my muscles what they’re there for, and keep them from getting a once-a-week shock. It’s bound to mean more pain at first, but I’m looking forward to the pay-off (losing weight, gaining muscle tone) in the long run.

Customer Service, Bad and Good

This is a little story about customer service. It’s about bad customer service, and it’s about good customer service. It’s about how a customer service rep should make sure that he really knows the answer to a question before spouting off, and if he isn’t sure, he should ask someone else.

The dramatis personae in this little skit are Comcast and Tivo. Comcast will be playing the role of bad customer service, and Tivo is cast in the role of the hero. The scene: late evening at a household in a small town on the edge of Metro Atlanta.

Our cable service used to be provided by Adelphia. You may or may not be aware that Adelphia got itself in trouble a few years ago — one of those little “creative accounting” problems that made companies like Enron and Worldcom so famous, you see. Because of this, Adelphia was recently bought by Time-Warner Cable and Comcast. The buy-out happened a while ago, and we expected that eventually Comcast (who became our new provider) might change our channel lineup in some way or another. Which they did, yesterday. We hadn’t seen a prior notification of the change, but then again, we don’t always read all the promo material that comes with the bills.

The problem was that they completely shuffled the channels around, but our Tivo still had the old channel lineup information. The Tivo thought that it was recording NCIS on one channel, but it was actually recording Gilmore Girls from a different channel. Obviously, this was going to wreak havoc on our recording schedule unless the guide information was updated soon.

So, we decided to call Comcast and ask if they had some idea when they might be pushing out new channel lineup information for our area to whatever clearinghouse services they use for that sort of thing. When the service representative answered, Susan briefly explained the situation to him (cable channel lineup changed, Tivo doesn’t have correct channel guide now). Without any hint of doubt, he tells us that our Tivo is “not compatible with Comcast”, and that we would have to buy a Comcast DVR.

What the?!? I chimed in, “No, no, no! You’re kidding me right?” After all, my wife and I do know a thing or two about how a DVR works. “No, sir. Tivo will not work with Comcast cable service.”

Well, damn. That was news to us, especially since we were looking out our television as he spoke, where we had used our Tivo to pause live programming temporarily for this phone call. “Wait a minute — you’re telling me that our Tivo flat-out will not work with Comcast?” I asked. Without missing a beat, he replied, “that’s correct.” Astounded, I said, “that’s crazy! It will work, it is working, it just doesn’t have the correct guide information, all we want to know is when Comcast will be updating the guide info!” He continued to insist that Tivo would not work, and that we needed a Comcast-branded DVR. We informed him that if this somehow turned out indeed to be the case, that we would certainly be checking to see if there was an alternate cable service available in our area.

Still amazed by the previous conversation, we decided to check the Tivo website to see if they had any information on this problem. We did some searches in their support area, and didn’t turn up any current info for this particular change, but found some older articles about similar problems. The consensus seemed to be that such a problem normally cleared itself up within a few days. But just to be sure, we decided to give them a call.

After a brief dance with their phone navigation, we ended up talking to Jason. We again briefly explained our situation, and let him know what the Comcast rep had told us. He was, of course, surprised at what we had been told. Jason asked us for some details about how our channel lineup had changed — what were the old and new channel numbers for Turner Classic Movies, Cartoon Network, History Channel, etc. Once he had that information, he was able to guide us through the settings on our Tivo to find a list of available channel lineups, and we were able to pick an alternate channel listing that matched up with our new reality. Then we had our Tivo refresh its programming information over the network, and we verified that our To Do list showed the correct programs on the new channels for upcoming recordings. We let Jason know that he was much more helpful than the guy at Comcast had been. 🙂

So: Tivo++, Comcast–. We made a followup call to Comcast. The original rep we spoke with wasn’t available, but we gave the new rep a quick rundown of what we had been told earlier. She sounded surprised that someone had been so quick to tell us that Tivo wouldn’t work with their service (she did at least ask somebody else, since she wasn’t sure). She said that she would add a note to our service ticket and inform our previous rep and his manager that we had been able to resolve our problem. Okay, so I guess Comcast gets half a point back for that.

It would have been fine for the first Comcast rep to tell us that he didn’t know the answer to our question. Really, the question was more relevant to Tivo. We called Comcast first because in our eyes, they were the “agent of change” in the equation. And we figured that since channel lineup changes aren’t too terribly uncommon, they might have some idea how long it took for that kind of information to propogate out to other services that need to know which channels map to which networks for a given service area (not just Tivo, but things like TV Guide, local newspaper listings, Yahoo’s TV listings, etc.).

But if that question wasn’t common enough to be handled by a first-tier support person, he should know that it’s okay to say “I don’t know” and either ask someone else, bump us up to a higher level of support, offer to research it and call us back, or even ask us to try contacting Tivo. It’s called “customer service” for a reason. When you keep the customers happy, they stick around. When you tick the customers off, you make them want to leave. Maybe I over-reacted. Maybe we should have called Tivo first. But in any case it’s a good thing for Comcast that Tivo was able to help us resolve the problem. Because otherwise, Comcast would have remained the one at fault, in our view.

WordPress.com supports OpenID

The word just went out today that the WordPress.com blog hosting service now supports OpenID, both as a server and a consumer. Supporting it as a server means that if you have a blog on WordPress.com, you can use your blog URL as an OpenID. Supporting it as a consumer means that you can use any OpenID to login to your WordPress.com account (once you’ve associated your OpenIDs with your regular login). This means that there are now at least 740,000 more OpenIDs in the wild!

I don’t know if there are plans to fold this functionality into the main WordPress core, but I’d guess not. But it would be nice to see it as an “official” plugin.

(via Factory City)

Update: as pointed out, I was mistaken about the consumer part. That’s a bummer, but the creation of nearly three-quarters of a million new OpenIDs is still pretty nifty.

Important: Upgrade to WordPress 2.1.2

In the interest of getting the word out as quickly and as widely as possible, a brief word about a new WordPress release: If you recently installed version 2.1.1, you should upgrade to WordPress 2.1.2 immediately. There was a security breach on the server which housed the download archives, and some files in the 2.1.1 download were modified to include a serious security hole. There are more details in the official WordPress Dev Blog announcement.

While technically this only affects those who downloaded the 2.1.1 .zip or .tar.gz archives from the wordpress.org site in about the last week, it certainly wouldn’t hurt to go ahead and upgrade, even if you downloaded earlier, or installed from SVN. Just because (there are a couple of unrelated bugfixes in there, after all).

Alabama Tornadoes

Many of you are probably currently familiar with hearing about the tornado that hit Enterprise, Alabama yesterday. What you might not realize is that my wife and I both graduated from the high school that was leveled in that storm system. Seeing the devastation in our old home town has been very surreal for both of us.

Our niece, who is a senior this year, was at the high school when the tornado hit, and suffered some cuts and scratches. Her car was also damaged, but unlike many others we’ve seen on the news, her parents think it should still be drivable. And she was, understandably, upset by the whole experience. We’re left wondering where the students will finish out their school year, and where they’ll hold graduation ceremonies this year.

Just imagine — you’re sitting watching Good Morning America before you go to work, and there are Chris Cuomo and Sam Champion, reporting from the front of your old alma mater. Or, what’s left of it, anyways. You hear reports about how many of the worst injuries occurred in Third Hall, and you realize the irony, because you already know that Third Hall would normally be the safest part of the building. Your Algebra class was on Third Hall. You took semester of Typing in a Third Hall classroom.

You watch the news footage of the football stadium (“…Please remember that there are no al-co-holic beverages allowed in Bates Memorial Stadium” says a voice from more than twenty years ago), and where there used to be bleachers, there is now a gaping hole. Where there used to be a press box, you just see a couple of shards of walls, tentatively standing on their own. Where there used to be a thicket of pine trees, you find a group of splintery stumps. You used to know that stadium and that football field well. You should have — you were in the famous Enterprise High School Wildcats Marching Band (“Go Big Blue!”), and you marched with pride into every football game.

And there in the background, you see Army helicopters parked on what you know to be the football practice field. And you instinctively know that the helicopters arrived from Fort Rucker, which is located next door to your old hometown. And you see ambulances and fire trucks from all the neighboring towns — Dothan, New Brockton, Daleville, Elba, Ozark… Yes, neighborly love is still alive and well, especially in times of crisis.

As the cameras pan around, you see another large building in the distance, with a sizable hole in the roof. You realize that it’s the sanctuary of St. Luke United Methodist, the church you used to attend. The church you were married in. You still have many friends who attend that church.

You see hear voices and see faces of people you know. GMA talks to Bob Phares, the Assistant Superintendent of Schools. Bob was also your Sunday School teacher. You’ve had dinner with Bob and his wife Susan at several church fellowship meetings. CNN interviews Toni Kaminski, spokeswoman for the Medical Center. But you remember Toni because you used to live in the same neighborhood, and your kids used to go swimming in her pool.

You spend a lot of time on the phone with friends and family, making sure they’re all okay. So far, you haven’t heard of anybody you know who was seriously injured. A few people you know suffered some property damage. A tree falling on a house. A barn blown away. One trailer with a damaged roof, another with its roof completely torn off. But fortunately nobody was home at the time.

And lastly, you wait to hear… You wait to hear the names of those who didn’t make it. Hoping that none of them are people you know, directly or through your friends who still live there. And you pray for the families of those unknown souls, and you guiltily, shamefully, honestly thank the Lord that your own family is safe.

I’ve set up a Yahoo! Pipe to collect information. It’s gathering news stories from Yahoo! and Google, and throwing in any Flickr photos tagged “tornado” and “enterprise”: Enterprise Tornado News. There will also be news from local newspaper sites like the Southeast Sun, the Enterprise Ledger and the Dothan Eagle, none of which have RSS feeds, as far as can tell.