Advice from Photo Matt

Matt Mullenweg at WordCamp Dallas 2008

In my previous post about Wordcamp Dallas 2008, I mentioned my encounter with the founding developer of WordPress and his advice that I took action upon. Here are the results, beginning with details of how this site operates and the problem presented by such a setup.

Each page or post in WordPress can be tied to one re more custom fields, where numbers, strings, or booleans can be tied to that one specific post. Such fields are made unique by the combination of post ID, custom field ID, and custom value.

This particular website depends heavily on custom fields to create the relationships (e.g. links) between the main story pages and the individual story parts. In turn, those story parts use custom fields to define which characters and locations appear in the tale. For example, on a story part featuring two characters, the custom fields would appear like this, with the custom values representing the ID of the page for that character/location.

Generating relationships in this manner was required in my early days of WordPress, as I was unfamiliar with the application and it appeared to follow the path of least resistance to a quick go-live. Along the way came a new version of WordPress, and with it the concept of tagging. Tags are terms associated with or assigned to a piece of information. Both Flickr and del.icio.us users are already well-acquainted with this concept.

After his keynote speech, Matt Mullenweg was gracious enough to spend a few minutes with me, patiently listening to how I used WordPress to create the mixes of short story and book found on this site. He found the concept quite interesting, which is encouraging to someone looking for any support he can find in the blogosphere.

However, when he heard how I was using the custom fields to link posts, he blanched and wondered why I wasn’t using tags instead. For example, he said, I could tag a post with the names of the people and places involved. Then in turn, those tags could be used to generate a variety of cross-post links across my site, either to tag-specific archive pages or a list of related content displayed alongside each post. And as illustrated in later WordCamp sessions that day, search engines love tags.

Believe me, I was far from resistant to using tags. However, there were enough posts on this blog that it would require some work to migrate off my system of using custom fields. So for the rest of Saturday afternoon, while I listened to more sessions, I went about writing the scripts necessary to move data from the wp_postmeta table to the new taxonomy table structures (wp_terms, wp_term_relationships, and wp_term_taxonomy).

The work was done swiftly, and the migration worked like a charm. As of now, if you’re reading a story on this website, the character and location links you see in the sidebar are now powered by tags instead of custom fields.

Custom fields are still being used for other purposes that tagging doesn’t logically replace, such as linking story parts to their main story page. Otherwise, the switchover has been clean and refreshing. I’ve noticed that writing posts is easier now that I don’t have to dig through the admin panels for post IDs. My next steps are to modify my site theme to display the tags alongside their posts, followed by display of other posts using those tags.

I wanted to thank Matt for taking the time to speak with me. His suggestion, however brief and obvious, is much appreciated and should help make my website more functional in the future.

Gravatars Now Working on Spamboy.com

Just a quick note to mention that Gravatars are now working on my website.  As taken from the Gravatar home page:

A gravatar, or globally recognized avatar, is quite simply an avatar image that follows you from weblog to weblog appearing beside your name when you comment on gravatar enabled sites. Avatars help identify your posts on web forums, so why not on weblogs?

This now allows for your picture to appear alongside your comments, and I hope it goes a long way towards developing a stronger sense of community.  For your image to appear, you need to register your Gravatar here.

Hello Mother, Hello Father

WordCamp Logo 2008Just a quick note to mention that this weekend I’ll be attending WordCamp 2008, the annual gathering of WordPress Kool-Aid drinkers such as myself. This will be the first conference of this type that I’ve attended; as a result, I am simultaneously intrigued and nervous.

I’m especially excited about the opportunity to meet new people and expand my network. It’s been one of my goals for awhile to better know the blogging community in which I participate. Garnering familiarity with those sharing the same interests as myself should improve not only the quality of what I publish but also my skillsets — after all, I did my best with this site’s code, but I’m sure it’s paper mache compared to the beauty of other’s work.

There will be a number of interesting speakers, including the dude that begat WordPress. I plan to only attend Saturday (as my garden beckons to me on Sunday). If you’ve got anything that you want me to ask or find out, leave a comment and I’ll do my best to bring it up.

WordCamp Dallas 2008

No, the timestamp does not lie. I really am up at 2:45am.

WordCamp 2008 has come and gone. The next one can’t get here soon enough, as I had a productive experience (even though I was only able to attend Saturday’s sessions) and would like to attend more events such as this.

I was surprised at how much I got out of it, not only on the subject of technology but also overall experience. And the size was just right, with an diverse audience that offered some excellent networking opportunities, my top goal of the weekend.

AB wondered what I had learned, and I think it’s important to share. Here are some brief notes of each session I attended and how I might apply it to my blog and/or life:

  • WordPress 2.5 and Beyond: Matt Mullenweg, one of the creators of WordPress, the software that powers my blog, kicked things off with this keynote celebrating the latest release and its new features, including the cleaner administrative interface and the Gallery functionality. Matt was gracious enough to spend a few minutes with me one-on-one afterwards, and his suggestions on how to reorganize some of my site structure were very helpful (more on that subject in a later post).
  • 45 Ways to Power Up Your Blog: John Pozadzides of Layered Technologies had a two-part presentation, where he fired off numerous improvements that he believes enhance the visibility to search engines of one’s website. Most of these I was already doing (using ALT and TITLE attributes in my <img> and <a> tags), some I will start doing (hosting images locally instead of on Flickr), and some just won’t fly (using “English titles” to my posts). He capped things off with a demonstration of Woopra, real-time web statistics analyzer with an impressive user interface. Lorelle VanFossen has posted the best review of the Woopra experience on her website.
  • How to Prevent, Detect and Stop Content Theft: Jonathan Bailey operates Plagarism Today, a resource to help content owners protect their online work. Because I invest as much creative energy into my work as a traditional author does into a published book, this subject was of prime interest to me. Jonathan laid out a good list of resources, including WordPress plugins, which will help any user minimize the possibilities and fallout from theft of their content.
  • Cali Lewis and Neal Campbell: Cali Lewis and Neal Campbell need no introduction, but they do need thanks. Their presentation was the most-inspirational of the day, at least in terms of sparking initiative and creativity. Their best advice was “Just start!”, as in get out there and write, podcast, draw, or code — but don’t just sit there planning what to do or it may never happen. This and the rest of the afternoon’s presentations were a welcome respite from a day filled with technical presentations up to this point.
  • C’mon, Let’s Talk! Building Influence and Interaction with Blogging: Liz Strauss runs Successful Blog, where the title sums up her passion. She made an excellent point that readers sometimes don’t leave comments on posts because they may be so complete that the reader cannot contribute anything besides a flat, “Good job.” I tend to overwork my words, especially when it comes to the stories on my site, so taking action on that advice should prove an interesting challenge.
  • WordPress Power Tips: Lorelle VanFossen rounded out the day with tough talk on what’s good and bad about WordPress. She’s a well-spoken woman, and her presentation was frank about how one tool — or piece of software such as WordPress — can’t solve all of her productivity needs. As I told her afterwards, it was a good contrast to the rest of the day, which leaned towards more of a love-in for the software (after all, those attending a WordCamp are likely there because of a disposition towards WordPress).

So, who’s going with me next year?

Spring Cleaning

Jenn and I spent most of the morning digging up our backyard, attempting to get it ready as McKinney’s number one bird attraction. Now that the soil is turned over and my arms are only 50% jelly from trying to wrestle the beastly gas-powered tiller, I took the rest of today to finish up the outstanding tasks on this website.

If you’re reading this post at my actual site (versus my RSS feed), you can plainly see that I’ve been quite busy. One of my new year’s resolutions was acknowledging that my own web design skills are a little outdated. So instead of trying to wrestle my own theme together, I co-opted a wonderful Rob Goodlatte theme and adapted it to my own needs. Thanks a million times to Rob for putting his Abstractia theme into the public domain.

For the nerds out there, my WordPress installation is finally up-to-date, allowing me to take advantage of some nifty new features — along with some swell security updates. Because I was so behind on version numbers, a significant rework of my site’s custom code was needed. Waddling, spit, and twine were exchanged for proper PHP classes and methods, allowing my code to be future-proof and portable. This means if anyone wants to publish their own online book like I’m doing here, let me know and I can get you setup, as my custom code is now encapsulated within a custom WordPress plugin. And just in time for the upcoming Wordcamp conference, where I hope the people I meet will help me learn more about this wonderful technology.