Atlanta PHP

Tomorrow night, I will be attending the April Atlanta PHP meeting. My friend Glen Gordon will be giving a presentation titled, “I’m a PHP dev! Why should I care about Microsoft?

There are a host of technologies and tools from Microsoft that can add value to your PHP solutions, save you time, and are just plain cool. This presentation will cover server technologies like FastCGI, IIS and the PHP SQL Server Driver, client technologies like the ASP.NET AJAX Library and Silverlight, as well as developer tools. This is not a sales pitch – it’s a technical walkthrough with demos, and will give you pointers to lots of resources for digging deeper.

I’m sure Glen’s talk will be interesting, and I’m looking forward to a chance to catch up on the current state of web servers in Microsoft-land. While I tend to use unix-based systems for most of my own work, there are plenty of organizations who are standardized on Microsoft products, and you have to be able to be able to work with what they have. Case in point, my wife is hoping to set up a WordPress website for her department at work, and they’ll probably set it up on a Windows-based server.

If anybody reading this is planning to attend, please introduce yourself. I’ll be wearing a WordPress shirt.

WordPress 2.5 Released

If you already run WordPress, then you’ve probably seen the other announcements in your Dashboard about the release of WordPress 2.5. There are plenty of details in the Development Blog posting, so I won’t rehash the feature list here. I’ll just point out a few important details.

First of all, in my post about Release Candidate 1, I mentioned that I had problems with the plugin updater. Since that time, I have been able to upgrade complex plugins with out a problem. I didn’t do extensive testing, but I feel like this is probably safer now. Other folks on the wp-testers mailing list have reported observed improvements similar to mine.

Next, I’ll point out that since the introduction of the WYSIWYG editor back in version 2.0, I have always stuck to the “Code” editor. And on top of that, I have disabled the auto-formatting (wptexturize and wpautop) filters. I’ve always entered every bit of HTML within my posts by hand. Starting with version 2.5, I’m going to relax my grip and hand the reigns back over to the system. I’ve disabled my “untexturize” plugin, and switched to the “Visual” editor as my default. The Visual editor should be just fine for most of the posts that I write. And on those occassions when I need to do something advanced (like <code>, <ins> or <del> tags, my standard “pull-quote” div for images, etc), I can seamlessly switch to the HTML view and back, without worrying about the Visual editor messing with my manual edits later.

And for those of you who might wonder, but haven’t seen it mentioned, the new improvements will be filtering into WordPress.com and the WordPress-MU codebase very soon.

WordPress 2.5 RC1

The first release candidate for WordPress 2.5 was announced last night. The adventurous among you can download it for testing. New features include:

  • Faster load times.
  • Multi-file uploads.
  • New “Media Manager” for images, audio, video, etc.
  • Built-in gallery function.
  • Built-in (and pluggable) Gravatars support.
  • New backend design.
  • One-click auto-update for plugins.
  • Reactivate plugins after a ‘Deactivate All Plugins’ action. (my feature! :) )

As a long-time WordPress user and developer, the new design for the back-end admin screens threw me at first. I had the same questions that I saw many others post to the mailing lists. “Why did they clump these links together, and move these other ones to a different spot on the page?” But the more I’ve used it, it became obvious that the new menu layout made sense. The most frequently used items are prominent. The less-often needed ones are moved out of the way, but still easily accessible. I’m still not totally thrilled with the color choices (some elements don’t have enough contrast, to my eyes), but it turns out the the admin screen colors are pluggable, as well.

One of the more exciting features (IMO) is the one-click plugin updater. When you see a notification that a new version of a plugin is available, you’ll also see an ‘upgrade automatically’ link. If your server supports all the functions needed, clicking the link will download and install the new version for you. I will note that on my server, this feature does not always work flawlessly, and I’ve sometimes had to quickly download and install a plugin manually to fix a broken plugin. I’ve shared my observations on this, and I hope that they’ll be able to make this feature more robust before final release. My advice is to use this feature with caution for now. But I’m hoping that my problems with it are due to my server, and that I’ll have better luck when I get things moved to my new host.

Overall, I’m liking the new release. I haven’t had a chance to play with the media management and gallery features yet, but I’m looking forward to giving them a try. I think the new admin arrangement will be easier for new users, and I think most established users will come to appreciate it, too (and for those looking for something even more different, there’s the Fluency Admin theme).

As always, when toying with pre-release code, don’t forget to back up your database and files before you upgrade! Give it a spin, kick the tires, and let us know what you think.

Roadwork Next 15 Miles

I am preparing to move all of my web and email hosting to a new server. I’ve been fortunate to have an in-trade hosting arrangement for many years now (thanks to Jeff at Iguanasoft!). But my host’s owner is winding down some of his equipment, and I had outgrown the server I was on. I’ve secured a new server at Slicehost (a 1024slice running Ubuntu), and I’ll be transitioning my data over the next couple of weeks, as time allows.

I mainly mention this as warning that if my site appears to be down, email bounces, or any other strangeness occurs, it might be because I’m in the middle of moving things around. It will probably be another couple of days before I start shaking things up. While I’m moving thing around, I might try consolidating some of my stand-alone WordPress sites into a WordPress-MU setup. That would make upgrades and other site management tasks a bit easier, I think.

With a little luck, and a lot of attention to detail, you might never know that I’ve changed anything. Yeah, right! ;) Watch this space for further announcements.

Easy Gravatars 1.2

Earlier today, I released Easy Gravatars version 1.2. The only change (besides confirming that works in WordPress 2.5, currently in beta, due out next week) is that when installed under WordPress 2.5 or newer, it will use the new core get_avatar() function to generate the image tag. And since get_avatar() is a pluggable function, other plugins could conceivably use it to generate avatar icons from other services, and Easy Gravatars would then use the new service too.

If that doesn’t make sense to you, don’t sweat it. You can upgrade and it will work fine (on both older versions of WP and the upcoming version 2.5). Or you can keep the previous version, and it will continue to work fine, too. The only way things would work any different is if you are running WordPress 2.5 (or later, one day), and if you had an additional plugin which defined a new get_avatar() function.

Internet Explorer 8: Progress!

It seems that Microsoft has reversed their previous decision to make Internet Explorer 8 crippled by default. They will be enabling the standards compliant mode by default in IE8, and webmasters will have to use the X-UA-Compatible header to force it into IE7 mode, for sites that can’t be updated immediately. Huzzah for progress!

And on that note, I’ll mention that Internet Explorer 8 Beta 1 is available for download. Go break the web!

WordPress 2.5 Beta

I just upgraded this site to WordPress 2.5 Beta. So far, everything appears to be working just fine.

And since I know lots of people will ask, I checked my plugins, and most of them (HeadMeta, Text Filter Suite, and Easy Gravatars), work just fine. The one that doesn’t work is Theme Preview. When I can find time, I’ll try to figure out why.

The official WP release is slated for March 10.

Update 2008-03-29: Something must have gotten fixed, because my Theme Preview plugin does indeed work in the release version of Wordpress 2.5.

Internet Explorer 8: This is progress?

Internet Explorer 8 passes the Acid2 test. Huzzah!

But waitaminnit… What’s this stuff about forward compatibility by adding some new X-UA-Compatible header to my pages or my server? Am I reading this right? Are you telling me that in order for IE8 to use its fully compliant rendering, we have to add something new to our pages? And that if we don’t, it will fall back to rendering pages just like IE7? Is that what this means?

That’s just dumb.

Screw their stupid “don’t break the web” motto. Break it! Break the web in the name of progress! How will we ever move forward if you keep dragging us back? And while you’re at it, quit trying to misdirect us with that “don’t break the web” nonsense. Putting out a browser with excellent CSS support is not “breaking the web”, it’s fixing it! There’s no real shame in putting out a better product, and admitting that the previous versions had flaws. This is a concept called “continuous incremental improvement”.

There has already been a lot of reaction from the web development community. There are several big names behind the idea. There are several big names against it. I’m not a big name, but I fall in the latter camp. This is not “forward compatibility”, it’s not “forward” anything. This is keeping progress of the Internet Explorer browser and adoption of better standards at a crawl instead of letting them make an evolutionary jump.

Oh, and unless I’m missing something here, there was already a mechanism in place that the IE team has already encouraged web developers to use, which could do the same job: conditional comments. What’s that? Oh yeah, there are problems with that, too.

If you need more reading material on this subject, check out Mark Pilgrim’s links. At the time of this writing, he has pointers to 29 articles, and I’m sure there will be more.

Reactivate All Plugins feature in WordPress 2.5

Once upon a time, I whipped up a Reactivate All Plugins feature for WordPress, to compliment the Deactivate All Plugins action (which is recommended before an upgrade). Unfortunately, the patch didn’t make it into the WordPress 2.2 release. And I forgot to nudge anybody about it for the 2.3 release until it was too late. But, the plugin reactivation patch is slated for inclusion in the 2.5 release, due in March (BTW, you did know that version 2.4 is being skipped, right?).

That said, you might notice that I added a note on the feature request ticket. There has always been some disagreement about the semantics of calling it “Reactivate All Plugins”, because you aren’t reactivating “all” plugins, just the ones that you deactivated previously with the “Deactivate All Plugins” button. I pointed out that it might be better to use a term more like the Windows “Safe Mode” terminology. This feature serves a similar purpose, after all. Maybe “Safe Mode” and “Enhanced Mode”? It might also be good if we added a note on the admin screens along the lines of, “This site is currently in Safe Mode. To reactivate your previous set of plugins, visit the Plugins page and click the Enhanced Mode button.”

Does anyone have other suggestions on better wording for the buttons? It needs to be something short (since it’s on a button), clearly understood, and a concept that is easily translated to other languages. How would you rename the “Deactivate All Plugins” and “Reactivate All Plugins” buttons?

International Delete Your MySpace Account Day

I just found out that January 30th is International Delete Your MySpace Account Day. What an awesome birthday present — I’m there, dude!

I’ve been thinking about deleting my Myspace account almost since the day I got it but always opted out of doing so because of the few friends I have who don’t have Facebook accounts. But by remaining on Myspace, I realize, I’m becoming an enabler. I’m giving those friends no reason to switch over from Myspace by giving them access to my Myspace profile.

The only reason I even have a MySpace account in the first place is because at my last job, we needed to test how to format our video player embed code on MySpace. I did find one actual friend on MySpace, but since my wife and I now have email addresses for her and her husband…

The sole remaining reason for me to visit MySpace anymore would be to catch up on news about Weird Al. And really, there’s not much reason to visit it for that, because that’s not the official Weird Al website, anyhow (though, it is really his account).

I’m adding a reminder on my calendar to delete my MySpace account on January 30. How about you?

I'm happy to use Increase Sociability.