Backups, You Better Have ‘Em

I‘m sitting on my office floor right now because I just finished installing a new hard drive and I’m waiting for Windows to reinstall.

A couple of weeks ago I noticed that when I booted up my computer I was getting a message that one of my two hard drives had failed, but everything was still working fine so I did about five minutes of research and gave up.

Then I came home from Thanksgiving to a DOS screen that told me that no bootable drive could be found. It ran some tests and eventually worked. But just about anytime I left the room I came back to the error message and it became increasingly more difficult to boot up. Then it just wouldn’t boot at all.

So, I went and bought a new drive today (Windows just finished installing, so I’ll wrap this up soon) and I’m back in business.

Thankfully on Black Friday I noticed Target was selling 1TB external hard drives for $59.99 (that’s crazy!) so I got one and as soon as I got home started backing up all my data. I already have another external HD, but it was about to max out.

In the past I haven’t been so fortunate to have all my data backed up, but I made a concerted effort to backup everything this past year and it certainly paid off.

Make sure you’re backing up your computer and your website. It’s not a lesson worth learning the hard way.

I’m Thankful For WordPress

There’s a lot of things I’m thankful for: my family, my dog, a freelancer’s freedom, Christ. But as it pertains to my livelihood I’m particularly thankful for WordPress.

Not only was WordPress my kick-start into standards-based web design, but it has since served as my primary CMS of choice. I don’t need to go into features that make WordPress great. They are and if you don’t believe me I can prove it to you elsewhere.

The WordPress feature-set is nice, but I’m most thankful for everything surrounding WordPress. Community: IRC, forums, thousands of WP-centered blogs with great info, WordCamps, passion.

I’d like to touch on that last note: passion. I’ve seen some passionate people around the WordPress-o-sphere for a while, but I’ve recently just really noticed it. I’ve always felt passionate about WordPress, but of course the fire grows.

Any sort of product, service, company, etc. with a following there will have turmoil at some point. WordPress licensing debates have gone on forever, but within the past year they’ve really blown up. The same sort of fiery issues come up every once in a while (i.e. commercial plugins, duplicating premium themes, progress, MU, etc.). Those on both sides of an issue dig their trenches and seemingly burrow deeper and deeper as the argument continues.

Of course fighting for your stance tooth and nail isn’t anything new. But what amazes me is that WordPress can cause it. For starters, WordPress is six years old. In part, its infancy is probably a cause of some of the issues. Nevertheless, it hasn’t be around long and already there are enough users divided amongst themselves. It’s not a good thing, but it is cool to see so many people making their cases because they care.

No one would waste their time arguing about WordPress if they didn’t care — almost no one, that is. Sure, there’s some people that argue because they just like to disagree with people. Others do so selfishly and care not what is best for WordPress but for themselves. For the most part, though, people want to see WordPress succeed (beyond what it’s incredibly achieved so far).

So we argue debate because we care.

Sometimes we just need a reminder of what we’re thankful for. Keep that in mind if you’re amongst those of us who spend time (too much?) trying to figure out where WordPress is, where it should go and how to get there.

Happy Thanksgiving.

Great Photography, If I Must Say So Myself

Patrick DalyLast week I met up with an awesome photographer. I wanted some professional head shots — something I hadn’t been able to achieve with a web cam or a camera timer.

Jared Hernandez has been a friend of mine for a while and I’ve been watching him improve his photography for years now and it’s pretty incredible how great he is now. I mean, just look at this picture — I don’t really look that good. Well, maybe I do 😉

Anyway, posing for pictures isn’t that fun, but Jared did a great job and I wanted to share them with you.

WordPress for Project Management

This is a call to all those interested in using WordPress as a project management tool. I’m certainly not alone in desiring similar functionality that existing project management tools offer, namely Basecamp.

There’s been some attempts that are full on plugins, but they don’t quite fit the bill, and more importantly they’re out of date and mostly unsupported.

Before I tell you my plans, let’s make the case for WordPress Project Management.

Why Would You Want to Use WordPress for Project Management?

1. Because you can
This is usually a terrible reason for doing something, but WordPress is an extensible platform that’s obviously proven it’s worth so why not add to it some really great new functionality? WordPress developers have no doubt that it can be done, but it hasn’t been thoroughly tackled yet.

2. Cost
Basecamp and other PM solutions out there are reasonably priced, but we’ve been spoiled with open-source software, so we need our “free” fix. The cost does start to get steep when you’re managing lots of projects though.

3. De-fragmentation
If I could centralize all of the web-related things I do then I’d be much happier. I’d prefer that my project management and in-development sites be more closely tied together so that my clients can more easily stay in tune.

4. Control
We “WP self-hosters” love control. I’d prefer to control my brand, my data, features…you name it.

What Does Project Management Really Include?

  • User accounts
  • Multiple projects
  • To-do lists
  • Collaboration

At its core PM generally offers those. Let’s take a look at how WordPress can handle those. We’ll also introduce WordPress MU, since it has quite a bit to offer in our case.

  • User accounts –> Done.
  • Multiple projects –> Done. You can use each child blog as a project.
  • To-do lists –> I think 2.9’s introduction of custom post types could find a use here. There still needs to be some customization.
  • Collaboration –> Done. Posts and comments.

What Else Do We Need?

So if you wanted to use WP for PM today you could do it, but it’s not ideal.

I think WP should handle PM in the front-end for the most part. This way we can control the user-interface more easily, and only provide the user’s with what is necessary. This means we need a theme.

A Theme

Really you could use any theme you wanted and using posts and comments you’d have a fairly organized setup. Of course, they wouldn’t be ideal. A step in the right direction is the P2 theme. Most importantly it allows you to post directly from the front-end. Secondly, it presents posts and comments in a more digestible fashion than the traditional blog post UI.

Most people love the Basecamp interface, so we should really look to it for inspiration. In fact, it’s so nice that I decided to clone it.

I’ve created a new theme called Basechamp. Before you freak out, I know it’s a complete rip-off. I’ve intentionally just copied it while I experiment with the PM idea. It won’t be released to the public until its got its own skin. Also know that it’s a very incomplete piece of work.

So there’s a ray of hope that achieving a project manager can mostly be achieved with a simple theme.

What’s Lacking

What this theme doesn’t yet account for is the administrator. If you’re using WPMU to set this up you can assign a theme to all of the child blogs (each its own separate project). If you’re the admin though you may want to see an overview of all projects, so we’d need to add a template that called data from all projects.

What if someone other than the administrator is assigned to multiple projects, they need an overview page as well. I need to figure out how to best implement this.

All project updates need some sort of email subscription management (subscribe to new posts and comments, daily/weekly summaries, choose to notify certain users of the new post or comment).

To-list lists and milestones need an extensive calendar system.

So, My Plans?

As you can tell, I’ve got something in the works that I plan to release at some point. I’ve already got some support behind this, but I’m interested to know who else may be interested in using this and who might want to help finish it up. Also, the theme will be a child theme for Hybrid and Justin Tadlock has already shown some interest in the project.

In the meantime, we’ll call this Project Basechamp. Give your ideas for a new name when it’s launched.

What am I looking for?

  • A new design for the theme that takes inspiration from Basecamp
  • To-do list implementation
  • Calendar support for to-do lists and milestones
  • Robust email functionality
  • General help and ideas

How to get involved

Leave your comments. Also, join the forum. Serious developers will get access to the code.

Share your Basechamp feature ideas.

Child Theme Inclusion in the WordPress Directory

Before you get too excited, child themes aren’t yet in the theme directory. That’s what this post is aimed at achieving though.

For those unfamiliar with child themes, just take a look at this explanation of why and how to use them.

Just this week I released two child themes for Hybrid. Obviously this is my motivation for promoting the inclusion of child themes in the official WordPress theme directory. Though, I think this idea can greatly benefit the entire community. Today you won’t find any child themes in the directory because it doesn’t support theme yet.

Back in April, Justin Tadlock wrote a similar post that proposed several changes to the directory. Joseph Scott took some time to reply and address some of the issues facing his proposed upgrades.

Child themes pose an interesting challenge. In part because they can, at their own option, replace portions of the parent theme which makes automated testing harder. But perhaps the most difficult part to that puzzle is providing an easy experience for end users when they want to use a child theme. A number of people find it challenging to install a regular theme, adding another layer of issues for them to be aware of isn’t likely to help.

I’d like to expound on the problems and propose some specific solutions.

Problem: Testing and Approval

One of the problems brought up is that automated testing of child themes would be harder. I can’t really speak to this specifically since I’m not familiar with the automated testing that goes on behind the scenes, but here’s what I know is included in the automated testing:

  • Verification of certain style sheet requirements (i.e. theme name, version, tags)
  • Checks for the existence of a screen shot
  • Checks for the uniqueness of the theme name and directory name

Perhaps it checks for the existence of certain templates, but in the case of a child theme the automated checker could ignore that rule.

Other than that, I can’t come up with anything more that might be included in the automated testing. From my limited knowledge, those wouldn’t present any problems in the automated testing. The rest of the theme development checklist includes things that would need to be manually checked.

So, with a couple of minor tweaks (checking if the style sheet signifies a parent theme and possibly ignoring the existence of certain templates) I think the automated testing could easily be achieved.

Manual Approval

After a theme makes it through the automated process it moves onto manual approval. This process wouldn’t be any different than the existing process. In fact, child themes would probably present fewer problems than standard themes because they would likely adhere to most of the templates established by their parent.

Problem: User Experience

“perhaps the most difficult part to that puzzle is providing an easy experience for end users when they want to use a child theme”
–Joseph Scott

Indeed, this is a hard part. Especially since another point Joesph made was that lots of users still have a hard enough time understanding how to use themes in general. So let’s keep that in mind while I present some options to integrate child themes into the directory.

Redesigning the Theme Page

We’ll start with the parent theme and we’ll use Hybrid as an example. Essentially, we need to make Hybrid the primary theme and avoid the child themes dominating any of the UI. Since the theme pages already use tabs I figured we could add a “Child Themes” tab if any child themes exist.

Parent Theme
Hybrid Theme Page

Clicking on the theme title or the screen shot would take you to the child theme’s unique page.

I think child themes should have their own pages. They would need their own page because they too would have their own “Stats” tab, ratings, and what “others are saying” section.

Child Theme
WP Full Site Theme Page

Of course a reference to the parent theme is necessary so a simple information box should suffice.

This is where the user experience complications begin.

Notice the “Download” button has a note that the parent theme will be included in the download. This prevents anyone from downloading a child theme, uploading it and being confused as it why it doesn’t work. There’s one foreseeable dilemma here. If someone downloads a child theme, uploads the child and the contained parent theme and unknowingly overwrites an older version of the parent theme there may be compatibility issues. I don’t see any way around this, but I wouldn’t say its a deal breaker. More on this in the next section…

Automatic Installer

Installing from within WordPress presents another issue. The installer would need to check if the parent theme exists. That should be easy enough. If the theme exists then skip installing it, however, what do we do if an older version exists? Do you prompt the user with an option to upgrade the parent?


  • User installs the child, upgrades the parent, but the child theme isn’t compatible with the current parent version
  • User installs the child, skips upgrading the parent, but the child theme is dependent upon the latest version

I’m actually stumped on this one. I could really use some ideas here.

Summing it Up

The inclusion of child themes in the official WordPress Themes directory is good idea because it gives themes greater flexibility and makes theme management easier for users. There’s a few problems to overcome before allowing child theme submissions into the directory, but nothing a little more brainstorming can’t resolve. I think with enough support from the community we could get this implemented rather quickly (who can even know what that means though?).

Update: Vote for this idea on

Kaleo Missions

Kaleo MissionsWhen I was asked to take part in building a site for Kaleo I was pretty excited because I’ve been personally affected by short-term mission trips which is what they help bring to life.

Not only is their ministry model unique, but so is their website. Once all the features are rolled out, visitors will be able to register for trips, pay online, and check their trip’s status with their account profile. Honestly, this has stretched me, but that’s always a good thing. Integrating that entire process isn’t entirely simple, but the outcome for the administrators as well as the user experience is well worth it.

Website: Kaleo Missions

Platform: WordPress