WordCamp Mid-Atlantic Approaches

WordCamp Mid-Atlantic is five days away (May 16) and things are beginning to fall into place. This is my first attempt at event organizing and I definitely have learned some tough lessons along the way. It’s also been tremendously helpful and rewarding for me. I’m looking forward to this thing coming in to land though.

Along the way, people have been asking me, “What the heck is WordCamp?” If you’ve never experienced an unconference, it might be hard to explain. In essence, it’s a loosely organized event put together to draw the WordPress community out, share experiences, instruct, learn, network and connect. WordCamp is a one day event that will have a variety of speakers, a technical and basic track, plenty of open space to launch into small groups if people felt inclined and basically learn from each other.

WordCamps are typically geared toward a particular city. I chose to lead a new regional-based event that is focused on Philadelphia, Baltimore and Washington, D.C. The event is held in Baltimore because it’s centrally located, and the blogging/social media/technical scene is least developed there out of the three cities. Baltimore has significant potential and has some great leaders in the community. I hope our event will spur that forward.

I’m excited about this opportunity and grateful to my co-organizer, Jimmy Gardner, all the sponsors and speakers and the attendees who, with very little marketing, sold this thing out. It’s awesome to see such a great engagement.

How We Moved Thomas Hawk to WordPress

It’s been about a week and I haven’t said a whole lot about one of the most special projects I’ve ever worked on. Thomas Hawk has been one of the people I’ve most looked up to since I began shooting photography. I’ve never met the guy before, but I hope to at some point. I also keep my eyes and ears open to absorb anything and everything he ever says about photography in a hope that I will learn from him. Mentor from a far? Maybe.

A few weeks ago, a comment was made on Friendfeed (I don’t remember how it started) and it became clear to me that Thomas desperately wanted to get off of the Blogger blog platform. I can’t blame him. I’m always looking to help people move to WordPress so I asked him to contact me. As a veteran of “moving people to WordPress”, I was sure I could help him out.
picture-2
We exchanged emails over the subject and his biggest hurdle seemed to be the number of comments that were housed on Blogger. He was concerned, naturally, that all of his content would not be able to come over. I asked him to give me a shot at it and he obliged.

Blogger Problems

As I’ve mentioned, Blogger can be a bit of a pain. While it used to be the great granddaddy of blogging software, Google has done little to keep it nimble and competent. That, I hope, will change in the months ahead as my friend and colleague, Rick Klau, formerly of FeedBurner has taken the reins as the product manager and has been incredibly helpful working with me on this project.

The problem was a pretty common problem. It didn’t take long Googling around to find hundreds of other people who were having problems with Google having a 5000 comment cap on their export. In other words, if you had over 5000 comments (Thomas had over 21000), you were screwed and could not get all of your data.

I went to Rick and asked if he could help me get this problem solved. He happily obliged, asked me to wait a few days, and went off to his team. Within a few days they had solved the problem. Not only for me, they solved it for everyone.

WordPress Problems

For an unknown reason, though, the WordPress Blogger Importer did not work the way it was supposed to. Though it now accurately reported that there were over 21,000 comments that could be imported, it failed to do so. As a result, I was forced to improvise using the Blogger-supported format for data portability – a super large Atom-format XML export that included all the data I needed. Unfortunately, importing this data was now impossible in its present form unless I decided to build a WordPress import script for the occasion. Instead, I discovered the Google provided Blog Converters, open source scripts that could convert WordPress or Movable Type exports into Blogger Atom formats and vica versa. With this tool in hand, I was able to successfully convert the Blogger Atom file into a WordPress native WXR file.

Importing the new file was a breeze but created a new problem. I needed to maintain all of Thomas’ permalinks for the search engines. Blogger has a strange way of creating permalinks that involves breaking the title of the post into “word chunks” then piecing together a permalink out of a seemingly random number of words. In WordPress, permalinks are generated by taking all the words in a title, and piecing them all together to make a link. So I needed to find a way to preserve all of this.

I found the Maintain Blogger Permalinks plugin, a single use plugin that would alter the post slugs to the previously used Blogger slugs. Unfortunately, it relied on content that was pulled directly out of Blogger, on import, using the Blogger import script. Since I had gone around that by using the Blogger export format, I had to figure out how to get that data. Fortunately, it was as simple as actually running the Blogger importer. Since the importer only did not work with comments, all I had to do was make some simple PHP changes to the script in order to make it not skip over already existing content, and instead update that content with the appropriate data I needed.

I could outline those details, but that is special sauce. I’m happy for you to pay me to do this for you. ;-)

WordPress Perks

Once all the data had been moved over and Thomas had blessed the “flipping of the switch”, we kicked it on live. All the permalinks still worked. All the data was successfully moved into its new home. Comments were good. Posts were good. We had a nice minimalistic theme that brightened up his digs. I used the Picturegrid plugin to pull in his Flickr photostream.

We, of course, encountered some problems involving caching. WordPress still doesn’t do well on high traffic sites without some caching. I implemented WP-Super Cache, an absolutely essential plugin for high traffic sites.

I am Available

This was a special project for me as Thomas is someone I look up to. At the same time, it’s what I do. It’s how I make a living. And it’s how I am able to continue keeping this site going. Contrary to popular belief, it is not sustained by advertising.

In the next few days, I will face the darkest time of my life so far. At this time, I have exactly one week to extend my pipeline with additional work, find viable employment elsewhere or simply… I don’t know. I don’t want to think about it. The economy sucks right now, and I’m in the middle of it. Though I know everyone is tight and hiring is frozen, there is still some liquidity available. I am asking, even begging, that if I can help you with WordPress (or any) consulting work – even short term – that you let me know. I hesitate to strike this tone, yet I am in in dire straits right now and need a breakthrough.

If you work for a company, go lobby for them to employ my services. If you are a CEO, I ask you to consider if you could try to get me for a discount. If you are an entrepreneur, I ask you to consider if you are able to pass me projects that are filling your plate. I have put up a consulting page to provide an overview of some of the services I have done and can do for you.

Thank you all, and thanks Thomas for letting me work on your site. It was great fun.

WordPress 2.7 Hits The Street

Public Service Announcement to note that WordPress 2.7 has now been released. In addition to our earlier coverage of things you can expect in this release, others have also written some handy posts about the release as well. Take it all in.

Go get WordPress 2.7 now.

WordPress Plugin Pack: Real Estate

We continue our WordPress plugin pack series that we started yesterday with the Photography pack, by announcing the Real Estate Pack. While I am not a real estate professional, I do know that real estate folks need as much help as they can get right now. Fortunately for you folks, you do not need to manage a mortgage to get these plugins. As usual, Akismet is included by default as the recommended anti-spam plugin. Keep in mind commercial licensing (you do have to pay, but it’s not much. Go to Akismet.com for more info) and the All in One SEO pack is necessary for marketing and search engine reasons.

Aside from that, here are five plugins you might consider grabbing if you’re in real estate:

  • Great Real Estate – turn WordPress into a full featured Real Estate management center.
  • Insights – Allows quick additions of photos, videos and other “bling” for posts.
  • Lightbox Plus – Similar to the Lightbox 2 plugin listed in the Photography pack.
  • WordPress Word of Mouth Marketing – adds the ability to “share” content across a variety of mediums. Personally, I prefer AddThis but AddThis is not GPL compatible so cannot be bundled in this pack. We use AddThis on Technosailor.com and it can be seen in the “Bookmark” button below this post.
  • WP-Realty – Useful for integrating listings into WordPress

Download the Entire Pack

[download#2#image]

WordPress Plugin Pack: Photography

Every day, I get emails, IMs and other questions asking me “What plugins do I have to have in WordPress?” My answer is always the same – depends on what you do or want to accomplish. There are two plugins that are absolutely required, in my opinion, for any WordPress blog – Akismet to combat blog spam and All in One SEO Pack to handle all the basic search engine marketing stuff that most of us forget (or maybe don’t even know how to do) every day.

I will be releasing these “plugin packs” regularly so feel free to request (by email) packs you’d like to see. All plugins released are GPL and publicly available – but I will provide a zip that includes all the plugins for one easy download.

The first plugin pack is for photographers.

  • Lightbox 2 – frames photos in an aesthetically, pleasing frame over a darkened screen.
  • WordPress Flickr Manager – provides controls for managing your Flickr library and inserting Flickr content into posts.
  • Yet Another Photoblog – allows you to turn a WordPress install into a Photoblog
  • SlidePress – Turn your photos into slideshows.
  • NextyGEN Gallery – built on the Gallery software, leveraging WordPress functionality.

Download the Entire Pack

[download#1#image]

WordPress Consulting Extravaganza: One Day Only

Forgive the marketing speak, but I’ve decided to do something that really is a special deal. I get inquiries everyday asking me questions about WordPress from “How to setup a category based structure for my blog?” to “What are the most essential plugins I need for my blog?”

If I could cut and paste answers and spend no time, I would, but really every situation is different. Most times I can’t answer these questions because of limits on my time, but I’ve decided to create a day-event where people could book my time for a bit and get any or all of their WordPress questions, recommendation requests and “how-to’s” answered.

Mark December 18th on your calendar. On this day, I am taking reservations for 30 minute exclusive time slots on a first come, first serve basis. I will give you 30 minutes of my time to get on the phone and offer my insight and assistance on your WordPress related problems and questions. The cost is $100 per time slot. Even your grandma can do that!

If you’re a business looking for some strategy guides, or individual looking for recommendations on themes or plugins or other assistance, your time is now.

One person (or group of people, if you choose) per call. One day only. Book your slot now. All times are US/Eastern.

10-10:30 am
Book this appointment and pay online using Monetime.

10:45-11:15 am
Book this appointment and pay online using Monetime.

11:30 am – Noon
Book this appointment and pay online using Monetime.

12:15-12:45 pm
Book this appointment and pay online using Monetime.

1:15-1:45 pm
Book this appointment and pay online using Monetime.

2-2:30 pm
Book this appointment and pay online using Monetime.

2:45-3:15 pm
Book this appointment and pay online using Monetime.

3:30-4 pm
Book this appointment and pay online using Monetime.

MobilePress Allows Readers to Read On the Go

As a fan of all things mobile, I have been continually frustrated by websites that do not render a mobile friendly version of their sites. Let’s be honest, I’ve been frustrated by me not rendering a mobile friendly version. As a Blackberry user, I’ve been tormented by the inadequacy of the mobile browser that has been supplied on handsets for a long time. Each new iteration of the Blackberry OS improves the browser, but nothing has been breakout. (That said, I hear the new OS 4.6 which is shipping with Blackberry Bolds and Blackberry Storms is quite nice, but I have not been able to independently confirm).

Captured with Safari 3 Simulating the iPhone

Captured with Safari 3 Simulating the iPhone

Fortunately, now you can read this site on most mobile web browsers including the iPhone (with iPhone bling!), Opera Mini, Internet Explorer for Windows Mobile as well as Blackberry and generic mobile browsers. This thanks to a WordPress plugin called MobilePress. I highly recommend it as a must have for every blogger who wants or needs their blog accessible to mobile users (they are becoming fairly common place).

The only hitch seems to be on the Blackberry browser (<=OS 4.5). You must disable javascript support in your Blackberry Browser configuration. Failing to do this will cause most sites that load javascript/AJAX libraries to spin unendingly and eat up your device memory. The only way to solve this is to pop the battery.

10 Things You Need To Know About WordPress 2.7

The saga of cheatsheets and reference sheets continues with this outline of the hot new WordPress 2.7 which will be released soon. Like WordPress 2.5, this is a radical release. Like WordPress 2.5, the bulk of the changes affect the WordPress admin. Unlike WordPress 2.5, however, this is not merely an update of the backend but a complete rebuilding.

Termed “Crazyhorse” at the beginning of the cycle, the WordPress admin is the result of complete thinking outside the box, research and user testing. The concept began as “Let’s throw everything away that we assume to be proper and correct and see what we can come up with when we have no preset conditions”.

The result is a semantically, aesthetically and structurally different WordPress than you’ve ever known before. This is not your grandma’s WordPress!Vertical Menus

Vertical Menus

The first thing you will notice when you login to WordPress 2.7 for the first time is the new menu layout. Without a doubt it’s going to throw you for a loop and you’re going to hate it. As usual, I’ve run development versions of WordPress for much of the development cycle and let me tell you that this change, early on, almost pushed me away from WordPress – a move that would be earth-shatteringly huge.

Props to Jane Wells, Liz Danzico and the Happy Cog and the entire Automattic team for really creating a sexy interface. The new vertical paradigm is a direct result of the Crazyhorse testing, though, and it has ultimately grown on me.

The navigation is comprised of top-level menu items taking users to the most commonly used pages within the subset. For instance, clicking on Posts will take you to the Write screen. Accessing other menu items in the expandable subset can be achieved by clicking the down arrow for the subset.

Primary navigation items are Posts, Media, Links, Pages, Comments, Appearance, Plugins, Users, Tools and Settings and are intuitively grouped together. The Vertical navigation bar can also be minimized to the left for those that like a pristine feel.

Dashboard

The second thing you will notice, after the initial shock of the vertical menu, is the dashboard. Semantically, the dashboard is extraordinary. By clicking on the gray “Screen Options” button in the upper right, you can gain access to the Dashboard configuration panel where you can check and uncheck the modules you want displayed in your own dashboard. Incidentally, this is also a per-user option now, so each of your members can configure this in a way that makes sense for them.

picture-5

In addition, plugin authors now have much more flexibility in developing modules (dashboard widgets) for the dashboard, eliminating complicated semantic problems that existed before for developers.

QuickEdit and wp-admin Comment Reply

picture-61WordPress continues to try to make it simple for bloggers to get in and get out with as little impact or effort as possible. Enter the QuickEdit. Besides the fact that every post has quick access links to common activities, there is a new QuickEdit link under each post title on your “Manage” screen. QuickEdit gives you access to most of the “non-content” portions of a post such as author, post title, tags, timestamp, etc.

In addition to QuickEdit, there is also quick comment replying. Yes, this means you can do it directly from within wp-admin. This is particularly useful for people who get lots of comments and prefer to live within their admin screen. The beautiful thing is, by responding in this way, you will feed right into threaded comment replies (which I’ll talk more about in a bit).

Configurable Layouts

Taking a page from the new iGoogle and many years of configuration options from My Yahoo! etc, the entire dashboard and the post write screen can be customized to preference. That means every module and widget can be dragged and dropped, re-arranged and in some cases even removed. This is important because bloggers operate in different ways, have different tendencies and different needs.

For my purposes at Technosailor.com, for instance, Excerpts and tags are very important. As a result, both of these modules are prominently positioned above the fold to the right of the content box. Some themes rely heavily on the use of Custom Fields, so bloggers using these types of themes probably will want to have the Custom Fields quickly accessible.

Note: Plugin authors providing any additional modules to the write screen really need to ensure their plugin is compatible with the new paradigm. In fact, this goes for all plugin and theme authors. Your world has likely been altered. Modules added to the write screen could never be repositioned before, so unless you’ve been developing in parallel to WordPress 2.7 development, your plugin will need to be updated. Also note that the functionality of the plugin itself is probably not affected, but the repositioning is. Nothing that will break a blog, but something that won’t fit in with the new admin concept.

Threaded Comments and Comment Paging

Threaded comments have been around for several years in the form of a variety of plugins. With the advent of commenting systems like DISQUS and Intense Debate, comment threading became more common place. It only made sense that threaded comments would become part of the core offering and denotes the first major innovation to the comment system in WordPress, well, ever.

The core development team didn’t stop there, though. Some folks get crazy amounts of comments per post (I’m looking squarely at Liz and Erin), so to ease the pain of mile long pages, WordPress has created Paged comments. That is, comments can be broken down into groupings of comments for easier digestion.

Note that to use these new features, theme developers will need to now support the new

1
wp_list_comments()

for comment threading and the

1
previous_comments_link()

and

1
next_comments_link()

template tags. Review the default theme for example usage.

Media Page

WordPress continues to push ahead on media management. In WordPress 2.5, they gave us a new Flash-based image uploader and galleries. While all this was useful, it was rather difficult to manage images without uploading photos and media into a post (even if that post were to be tossed after the upload was done).

picture-81

It was also difficult to manage that media after the fact. Which post was this one image uploaded to? Hmm.

Now Media has its own management page, where bloggers can do all their uploading, editing, etc.

Update: It was drawn to my attention that the media page is actually new in WordPress 2.6. False Alarm on this, though the new administrative interface makes it much more accessible and usable than before.

Complete Plugin Installation and Management

Possibly the biggest leap forward for this release is in plugin management. For years, bloggers have asked for a way to manage their plugins without having to use FTP and muck around on the server in an environment they didn’t know anything about.

Regardless of your technical expertise, I’m sure you are going to find the plugin installer a lifesaver. It is now possible to search and browse the WordPress plugin repository from within wordpress admin. Search by tag cloud, keyword search or simply browse popular plugins. Based on the new plugin upgrade technology brought about in earlier releases of WordPress, you can now install a plugin directly as well.

In addition, you can do an entire WordPress upgrade now using this same technique. When you get the nag that a new update is available, give it a whirl. Enter your FTP server, username and password (it’s not sent anywhere!) and do an automatic upgrade. But do make a backup before you try it, just in case something horrible were to happen, as Murphy dictates it sometimes can.

And as an additional bonus, if your server supports the PHP ssh2 PECL module, you can get SSH/SFTP installs as well which is actually even more secure.

The keen eye of the developers among us may have caught the blatant inclusion of PHP5 functionality, a marked – and overt – departure from the PHP4 only mantra that has ruled WordPress development since its inception.

Sticky Posts

Bloggers have been calling for “sticky post” functionality for some time. That is, the ability to designate a post as “sticky” and keep it at the top, regardless of how old it is.

WordPress has now added sticky post ability which includes the addition of the new conditional template tag

1
is_sticky()

.

Nathan Rice has a fantastic write-up on sticky posts in WordPress 2.7.

Template Tags

As mentioned throughout the previous eight highlights, there are a variety of new template tags.

1
wp_list_comments()

,

1
previous_comments_link()

and

1
next_comments_link()

all deal with the new commenting system. The

1
is_sticky()

conditional tag is used with the Loop,

1
$wp_query

and sticky posts. Use for styling, perhaps.

Not yet covered is the

1
wp_page_menu()

tag which will output a list of pages, generally in unordered list format, that can be used for creating stylized page navigation elements.

Finally, yours truly contributed

1
get_search_form()

which I hope is widely adopted by theme developers. Currently,

1
searchform.php

is included in a theme and is generally a typical form for search. It’s also usually ripped directly from the default theme. It just works.

This behavior remains. If searchform.php exists in the theme, it will be used. However, theme authors can now use the

1
get_search_form()

template tag to do the same thing. And it is pluggable by filter for those who’d like to create plugins that hijack the WordPress default search.

Comments API

Most users will not get the benefit of this immediately, because none of the offline blog editors support this functionality… yet (though the WordPress iPhone app undoubtedly will completely support all of the XML-RPC API, including comments, immediately). However, the API has now been built to allow offline editors like Windows Live Writer or Marsedit to perform comment moderation and editing from an offline client.

With this new functionality, it is in essence opening up even more of WordPress to be managed offline. Desktop apps, web-apps or even mobile devices can now be turned into full featured offline blog management. Score.

Bonuses

I don’t usually offer bonus material. It’s 10 things, right? Right, but this time is different. There is so much under the hood to be excited about, so let me tease you with a little bit of it.

  • New tag management page
  • Close comments on old post
  • Semantic CSS classes throughout
  • Buggy 404 page fixes… Does not report Page not found when a legitimate author archive, for instance, is loaded but the author has no posts. This has been an annoyance to me for years and I finally decided to submit code to fix it.

Exporting Textile2 Content with WordPress

A friend of mine approached me recently to help him out. He had tons of archives in his WordPress blog that had been created using the Textile2 plugin. Textile is a form of markup that is wiki-like. In other words, it’s not straight HTML. The Textile2 plugin interprets the markup and renders HTML that browsers can understand when the post is actually called.

I created a small plugin for him that, on WordPress export, translates Textiled content into standard HTML format. It depends on the Textile2 plugin, so if you are going to use this, make sure you have that.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
&lt;?php
/*
Plugin Name: Textile Friendly Export
Version: 1.0
Plugin URI: http://technosailor.com
Description: Translates Textile 2 Content to HTML on WXR Export
Author: Aaron Brazell
Author URI: http://technosailor.com
Disclaimer: This Plugin comes with no warranty, expressed or implied
*/

function textile2_export( $content )
{
    global $myTextile2;
   
    if( !class_exists('Textile2_New') )
        return $content;
   
    return $myTextile2->do_textile( $content );
}
add_filter( 'the_excerpt_export', 'textile2_export' );
add_filter( 'the_content_export', 'textile2_export' );
?&gt;

Screenshots from WordPress 2.7

The upcoming release of WordPress is around the corner, and we’ll be covering the things you will need to know about it, as we always do.

However, this is such a big release (game changer, at that!) that I wanted to tease you with some screenshots. I’ll let your imagination run wild (and you can go Google around for what others are saying). Make sure you are subscribed to this blog so you get the big release cheat sheet as soon as it comes out.

picture-5

picture-6

picture-7

Update: I have released the big writeup on WordPress 2.7 now, so go check it out.