Funny WordPress Plugin Sneaks In

One of the annoyances we have at b5media is when people spell our company name wrong. We’ve even had our own people spell the name wrong. So annoying. :-)

Somewhere along the line last year, this universal plugin snuck into our build. I don’t know where it came from or who wrote it. (whistles) It solves the problem though. :)


1
 

Maintaining WordPress on SVN: Adding Plugins

Thank you for joining me again for this series on maintaing WordPress from subversion. We talked previously about creating an SVN repository and then about importing WordPress into the SVN repository.

Today, we get into customizations. It does us no good to have an SVN repository with WordPress if we don’t change it to be something other than what it is. In this episode I talk about adding plugins (and you can add any file, really) by adding it to the working copy folder and then checking it in.

I also touched quickly on svn:externals, although I note that I goofed in the screencast and typed

1
svn propedit svn:external .

instead of using the correct

1
svn propedit svn:externals .

(note the plural externals).

Maintaining WordPress on SVN: Create Your Repository

A lot of people know that I’ve done a bit with maintenance of WordPress using subversion. Alot of those same people have asked me to show how it’s done. It’s not very difficult, really, but I encourage you to work with a host like Dreamhost that provides one click installs of svn. It’s the easiest way to get web accessible repositories to use for maintenance of all your various WordPress blog.

Here’s video 1 in this series, which demonstrates the creation of an SVN repository and the basic file structure that is best practice for a repository.

WordPress Export Base Class

Real quick note to let you know that over the weekend, I released new code that is GPLv2, relating to WordPress export format (WXR). The code and details are here and I’d love to get some input and contributions of other export classes. I’ve included a (yet undocumented) Expression Engine exporter as well and will back port some of my previous exporters to use this class as well.

So, if you’re a WordPress hacker, or if you just want to help people move to WordPress and have some coding skills, half the battle is already fought. Check it out.

Expression Engine WXR Export Class

Earlier, I shared with you a new base class I’m releasing into the wild. While that was a conceptually nice piece of code, and potentially useful, it didn’t really translate in usefulness without some actual code.

As mentioned, I just moved Shai to WordPress from Expression Engine and it required writing a custom export routine. Instead, I wrote the base class in conjunction with this extension class.

This could very well be a very good example for someone wanting to write their own routine. While it is custom to Expression Engine and would look different for other platforms, the bottom line is that the methods in the base class have to be fed certain data.

As with the base class, this is meant for advanced WordPress hackery and is not a plugin nor for rookies. I don’t mean to sound condescending, but it took me years to wrap my head around object oriented PHP and so please don’t ask me. :-)

I can say that if you dive into this code, you will find the roadmap to your own importer. This is fully functional. It works. It’s for Expression Engine, but it works. Your methods should return similar data.

One day I’ll get around to documenting it, but my mind is mush after working on this all weekend. :-)

Update: Oops, forgot where you can download. Subversion it is again:

1
svn co http://svn.aaronbrazell.com/wpwxr/tags/expression-engine/ expression-engine

WordPress WXR Class

One of the most frustrating things to me in my years of working with WordPress and b5media has been migrating blogs into WordPress. Every blog platform does things differently and although WordPress has import support for a large number of blog platforms, it always seems like I get the job of migrating from platforms that don’t have any way of exporting posts to take to a different platform, such as WordPress.

I’ve done a number of these migrations now – Nucleus, Drupal, Serendipity and others. The latest was Expression Engine – needed to move Shai’s blog over to WordPress. This was the catalyst I needed to write a base class for the WordPress import/export format known as WXR, or WordPress eXtended RSS.

For casual users, this is not for you. For developers, this may be a life saver for you.

The class can be downloaded via SVN:

1
svn co http://svn.aaronbrazell.com/wpwxr/trunk wpwxr

Included in this repository is the base

1
class.wxr.php

class along with sample code to build your own apps from.

Reference: Complete WordPress WXR Base Class documentation is online.

Instantiation: This is a base class. Therefore, you should never extantiate it directly – only via another class via extending.


1
2
3
4
5
6
7
class myNewClass extends WXR_export {

    function myfunction()
    {
        echo "Hello World!";
    }
}

Debug mode: If you wish to use debug mode, you can set the

1
$debug

property of the class to true. The default is false. If debug mode is on, output will be sent to the screen as opposed the the WXR file.

Example:


1
2
$n = new myNewClass;
$n->debug = true;

Export Filename: By default, the name of the WXR file is date based (e.g wxr-2008-01-26.xml). You can change this by changing the

1
$export_filename

property.


1
2
$w = new myNewClass();
$w->export_filename = 'file-movabletype.xml';

I’d love to get patches if you want to contribute. You should send them to emmensetech [at] gmail [dot] com. In addition, if you use this and create extension classes, I’m more than happy to host them. I’ll be seeding the pot with the Expression Engine class I used this weekend.

Exporters Built

WordCamp Dallas: What do you want to know?

At the end of March, I’ll be speaking at WordCamp Dallas. I’ve been asked to speak about WordPress in an environment, but have been given broad latitude to shape that discussion in any way I like.

So I’m turning it over to you. I’ll be making my slide deck available here, and maybe I’ll stream it live. So what do you want to know about? Subversion? Mass upgrades? Server caching? Something less technical?

If you want to send in questions by Youtube, mayne I’ll feature you during the talk. Leave your comments, links to videos or whatever else in comments. :)

Tribute Craigslist Theme for WordPress

At Mesh this week, I had the pleasure of attending Jim Buckmaster’s keynote. Jim is the CEO of Craigslist, a completely user powere company. It is the anti-web 2.0 with no frills websites, no typical business structure, a disdain for meetings, marketing and PR – yet, one of the craziest success stories of the late 20th and early 21st centuries.

After listening to Jim at Mesh, I decided a tribute WordPress theme was in order. This is WP Craigslist weighing in in true CL fashion at a mere 5.3kb.

Rock on.
WP Craigslist Theme 1
WP Craigslist Theme 2