In the previous article, I shared a bit about how I try to streamline my workflow based on where my WordPress project is hosted.

Specifically, I talked about having the codebase hosted in a Subversion repository, using the provided support forum solution, and how I manage tickets. I also talked about how all of the decisions for how I manage the project stem from where and how the source code is managed.

To that end, whenever I’m working on a self-hosted project (or, rather, one that is not included in the WordPress plugin repository), then I end up going with a slightly different workflow.

Workflows For WordPress: Self-Hosted Projects

Just as Subversion helps to dictate where and how I manage support and issue tracking, self-hosted projects (read: those that I manage myself) are hosted elsewhere.

Personally, I find that self-hosted projects are much easier to handle because almost everything is self-contained within a single solution; however, it does come with the task of making sure that the work is able to be discovered.

After all, projects that are located in one of the WordPress repositories are likely to be discovered through existing users searching for a solution within that particular environment.

But when you’re going self-hosted, Google’s the interface by which people are going to find your work.

Source Control

This is likely no surprise (especially given that I mentioned this in the previous article), but when it comes to managing source control for my own work, I opt to use GitHub.

In short, I’m a fan of just about everything the site offers: I think it’s easy to use, I like how easy it makes collaboration and setting up documentation, wikis, and so on, and I like the fact that I can make a repository public or private with very little effort.

Tower

Though I’ve previously used GitBox as my git client of choice, I’ve been using Tower for the past few months and it has since replaced GitBox and become a part of my standard set of tools.

I still think both clients are worth checking out, but if you’re looking for a few more powerful features (such as a built-in, inline diffs, the ability to sign off on tickets, and the ability to provided a title and longer form description for your tickets), then Tower may be a better fit for you.

Support Forums and Issue Tracking

Since I use GitHub, I end up getting the Support Forums and the Issue Tracking all rolled into a single solution (and I love that).

GitHub Issues

Because so many questions, comments, or so on end up becoming some type of issue – whether or not it’s really a bug – I dig how GitHub automatically assigns each open discussion a number.

This makes issue tracking not only trivially easy, but it also makes for easy resolution when submitting patches so that you can mark which issue is being worked on and/or resolved.

Granted, GitHub is not as user friendly for the average user – it’s built for developers – so the support forum solution doesn’t necessarily work for a premium product (but that’s content for another post), but if you’re working on an open-source, and likely free project, then having everything rolled into a single site is really nice.

Landing Pages

Since self-hosted projects lack much of the visibility that is offered by projects hosted within one of the WordPress repositories (and by that, I mean it’s likely more difficult for users to find your work), I think that having landing pages beyond the normal GitHub homepage are important.

Mayer Landing Page

This not only helps to give your work a slightly more professional feel, but it also removes the user from the tech-oriented environment of GitHub (a term that most likely sounds like nothing to the average person).

On top of that, landing pages – especially if they include a blog – can help to provide a place to which you can direct users for information, for updates, and that Google can crawl such that it helps those who may be looking for your solution via Google or who may stumble across it in search results.

There’s Still More

As I previously mentioned, there’s still more as it relates to handling self-hosted WordPress projects especially in the realm of support.

In fact, I’ve talked about this a few months ago, but I’m no longer using this particular solution. At least for right now. I’m actually evaluating a number of different solutions trying to find the right one so I can begin offering certain things for self-hosted blogs rather than just for WordPress.com.

But that’s an entirely different post.

As for now, all of the above is how I manage by workflows for WordPress with regard to self-hosted projects. Any suggestions? Share ’em – I’m always opening to changing up what I’m doing if it make things even easier.