WordPress Plugins for the Personal Web

The first thing I looked for after successfully migrating my old blog content to WordPress was some new plugins. The plugin ecosystem for WordPress has always impressed me with it’s diversity and range. The first two plugins I installed have actually changed the way I think a little bit about what it means to have a personal identity on the Web.

My first task was to find a plugin to embed my “Friend of a Friend” (FOAF) profile into my blog pages. FOAF is a Semantic Web standard for describing personal information and social networking links in a way that is open and distributed.

Facebook is a fine system, but they’ve made it clear that the information you post about yourself and your friends is their intellectual property. I don’t begrudge them this – they’ve spent millions of dollars building a system that (for the most part) just works. But the real pain comes when Yet Another Social Networking Site comes on the scene. You sign up to join in on the fun, and immediately start building your social network up again in a different silo, a different walled garden.

The designers of the FOAF standard aimed to provide an open way of defining your social network using the tools of the Semantic Web: URIs and RDF. I hope that some future Facebook or Twitter will import and export a social network graph in this form. In the mean time, we can still build our own individual applications using the FOAF vocabulary. Addmittedly a stupid name, but a very powerful idea.

The wp-rdfa plugin adds support for FOAF to WordPress. It generates a very basic FOAF profile for the blog owner based on your already-defined user profile. This is the case where the Semantic Web shines. RDF and OWL are not going to replace (X)HTML over night – they’re too complex and arcane to be readily adopted by Web designers and developers who code by hand. But Content Management Systems, for example, can be modified to generate Semantic Web representations of the data it manages. Drupal 7 is a great example of this – they implemented RDFa as a standard part of the system.

With a bit of hacking to the plugin, I now include a reference to my (rudimentary) FOAF profile in the pages of this blog. It’s nothing fancy, but I can add additional information as I go, eventually building up a description of my interests, projects, friends, etc. that is independent of Facebook and LinkedIn, and is wholly mine. As more blogging packages add support for FOAF, we can begin to build a semantic distributed social network, with blog posts and comments replacing Newsfeeds and Wall posts.

I’m working on some modifications to the wp-rdfa plugin to make it a little more flexible. The first mod makes linking to an external FOAF file possible. I wanted to be able to put any sort of information into the FOAF file that it allowed without being limited to the profile boxes in WordPress. The second mod will make sure all additional FOAF data generated by the plugin (such as comments on posts) link back to the appropriate parts of the FOAF file.

Want to be FOAF? Use the FOAF-a-matic profile generator and follow the instructions shown on how to link this profile into your blog theme – it’s no more difficult than linking in a stylesheet or JavaScript library.

Meet the New Blog, Same As The Old Blog

I spent a fair amount of time this past weekend working on this site. While the new look is probably obvious, the more significant change was the move to WordPress.

When I set up this blog in 2005, I was spending a significant amount of time developing Web applications in ColdFusion.  I anticipated wanting to tinker with any blogging engine I installed. I enjoy working on CFML-based systems much more than PHP, so I chose BlogCFC as my blogging engine.

So why change? So after almost five years of irregular blogging, the hacking of BlogCFC never really materialized. When I signed on to the Nerd Thunderdome festivities last month, I was reminded of the somewhat do-it-yourself nature of BlogCFC (case in point: Ray is again considering including a Rich Text Editor in BlogCFC). I was also still using the stock visual design of BlogCFC. Over the years I’d talked to various people, including my wife (Michelle Panulla, a talented Web designer and developer) about getting help in skinning this site. The fact that I was running a fairly custom system meant I was probably going to have to do the bulk of the template work myself.

After giving it a lot of thought, I decided to switch to WordPress. Though I still love ColdFusion as a platform, I’m less interested in opening the hood of every piece of software I install. I equate this to building your own computer system or tinkering with desktop Linux – at some point all that mucking around loses its charm and you want to focus on the objective. Or, maybe I’ve just refocused where I want to do my tinkering.

I did some research and I found a nice post by James Netherton from 2007 with a small CF app he wrote to migrate BlogCFC to WordPress database-to-database. The app got me most of the way to where I wanted to be, but it had some issues with posts labeled in multiple categories. I rewrote the parts of the conversion that dealt with categories and was able to migrate all of my posts, comments, and categories without incident.

Since it seems that someone migrates from BlogCFC to WordPress every year or so, I’ve posted the source of the updated migration tool to my space on GitHub for the next person who wants to make the jump.