DIY WordPress: What’s Your Toolchain Look Like?

(Reading time: 4 – 7 minutes)

When all you have is a hammer, everything looks like a nail. Or something like that, according to Lofti Zadeh.

WordPress is a pretty big hammer, and even when you have screws instead of nails, the hammer still works.

And you, dear reader, are most likely a do-it-yourselfer. Kind of goes with the “website in a weekend” territory.

Sometimes you need more than a hammer. WordPress isn’t always enough. You need more tools in your toolkit. As any good DIYer, you make a point of mastering the selected tools in your toolkit.

Here’s a few of the tools in my WordPress DIY toolkit:

  • GIMP, the Gnu Image Manipulation Program. Disclaimer: I was across the street from the Berkeley XCF when Peter and Spencer first wrote the GIMP. I’ve dabbled since version 0.56. GIMP has come a long way!
  • Inkscape, SVG done right. Every good pixel program (i.e., GIMP) needs a vector program to drive it. Inkscape fits my bill. While SVG hasn’t gotten the traction it deserves (this is a political problem, not a technical problem), it’s got enough traction to make it worthwhile. And Adobe stiffed me hard on the update from Illustrator 8 to the Creative Suite programs (i.e., no upgrade incentive, so I’m not upgrading).
  • Aptana Studio, best of a bad breed. Aptana has succeeded in taming Eclipse, a long running Java Integrated Development Environment which seems to introduce as many problems as it solves from release to release. I’ll probably get flamed for that one, but I’ve tried (unsuccessfully) off and on to like Eclipse since it was first announced – with much fanfare – about 10 years ago. Aptana works beautifully, and it’s free for a basic edition (all you probably need as a small business person).
  • Winmerge for Windows, DeltaWalker for MacOSX. Do you know the difference between those two custom.css files? No? How do you plan to find out? I do it the easy way and use a differencing tool. On MS Windows, I use the free Winmerge application. On MacOSX I use DeltaWalker, which is around $40 US, and a very good value.
  • Filezilla. FTP is a critically important in every DITer’s toolkit, and Filezilla is one of the best.
  • Trac wiki, from Edgewall. Trac is the same software used by Automattic for WordPress development. I also lean heavily on the bug and issue tracking capability of Trac, which is integrated into the wiki. Super convenient!
  • Subversion source code control. Think of subversion as “collaborative backups, with complete version history.” It’s more than that, but that’s good enough for now. Take home: you need to have a back up plan in place, and using it, before you go banging away on your WordPress files. Really, you do.
  • Notepad/TextEdit: these come with your computer, no need to link. Both of these are invaluable for snapping out fast notes without having to think very much. For example, this blog post was mostly written in TextEdit on my Macbook, then copied into WordPress.

Some DIY Theme Work

I need to add some updates to Thesis theme custom.css that Amanda Farough sent along a couple of weeks ago. As it turns out, I’ve added a large number of modifications to her work, so I can’t just copy her file into my WordPress theme. Everything would break. It would be nasty and you would think “WTH is Dave smoking?”

You may or may not be thinking that anyway…

While we’re at it, let’s upgrade to Thesis 1.8 along the way.

Here’s the order of business:

  1. Download current custom.css to Desktop.
  2. Compared and merged remote version to Amanda’s version.
  3. Compared merged version to version in repository. Woops. That’s no good. The repository is out of date! time to change course, time to install WordPress locally!
  4. Started MAMP server.
  5. Rebuilt WordPress Whitepaper 6: Develop WordPress Plugins on Windows with WAMP Environment. (I use these whitepapers. Dogfood. [link])
  6. Create database for WiaW on localhost.
  7. Download WordPress 3.0.1, copy into localhost (MAMP/htdocs) directory.
  8. Woops, doesn’t work, install fails. What gives? Bad MySQL command is what gives:

    mysql> grant all privileges on *.* to 'wiaw'@'loclahost' with grant option;

    “loclahost?”

    I don’t think so. It’s “localhost.” Fixed.

  9. WordPress installed! Yahoo!
  10. Copy Thesis 1.8 into themes. This was done by checking out the Thesis code from the subversion repository. That way, when I’m done, I can check it back in and have a archival record of it. (No, I can’t recall why I didn’t do this after the last update to Website In A Weekend. Pretty slack if you ask me, and if you forget back up or archive your junk, I’ll certainly harsh you up about it. =)
  11. Copied the “correct” custom.css file into thesis_18 on the new localhost installation.

And that’s enough for my hour. As usual, getting one thing done (theme modification) requires doing something else first (building development environment).

Remember, this DIY hour includes writing this blog post!

And back to you:

How much DIY do you do? What’s in your toolkit? What’s your favorite tool?


Update September 22, 2010: As it turns out, I’m reviewing the Scribe SEO plugin for the next release of Blog Post Engineering. This is the first article I’ve checked. Scribe SEO scored this blog post at 96%.

Quick Tip: Add Existing Code as New Project in Aptana Studio

(Reading time: 2 – 4 minutes)

Another quick tip for WordPress plugin developers.

Long time readers (bofem) know that I use Aptana Studio as my toolkit for WordPress plugin development. No, that’s not an Aptana affiliate link, but I sure wish it was. Aptana doesn’t have an affiliate marketing system in place. I emailed to ask. If they did, I’d be delighted to promote Aptana Studio. Actually, I’m delighted to promote it without compensation. The more people using Aptana, the more leverage we all get from our combined user experience.

Following the lead of wprecipes.com, it’s nice to have a very simple procedure for common tasks that are hard to remember. It’s a big forest out there, and there’s a lot of trees blocking the view. Here’s one path through that forest.

Using Aptana for existing code

Here’s the situation: you have existing code, and you want to use Aptana Studio for development. Looking at the File menu you find “New >” and “Import…”

The obvious action – to me – is “Import…”


The obvious is wrong!

Instead, you need to create a “new project.”

“Import” is for adding existing Aptana projects to your workspace, not for adding existing code. So…

“How do you do that?”

As usual, takes seconds once you know what to do, and here’s what to do.

New project for existing code

Here’s the procedure for Aptana 1.5 & 2.0. I’m assuming you are coding directly from the WordPress plugins directory, but it really doesn’t matter where your files and directories are located.

  1. Create or copy the code into the plugins directory, or check some existing code out from svn, git whatever.
  2. In the Aptana perspective, Choose the “Project” tab.
  3. Right click in the Project tab, choose “New > Project…”
  4. In the popup modal New Project dialog box, choose “General > Project.”
  5. Name the project. I like to use the same name as the directory name of the plugins, because (my) plugins are small, and it’s more bit literate for me: it’s easier to match the project to the directory on the system. Click the “Next” button.
  6. Uncheck “Use default location,” browse for the location of the code you want to create a project for. Click the “Finish” button.

Simple stuff. Seems almost too simple to write down. But, I always forget the exact procedure, and have to fumble around for 10 or 15 minutes. Now, I can just look it up.

Would you like a screencast? I might make one… but only if there’s interest.