WP Stagecoach has been in alpha testing for a few weeks now, so we thought we’d give you a progress report on how it’s going.
First, we want to thank everyone who has taken the time to try this out. We really appreciate your patience, enthusiasm, and especially your time!
All in all, we’re pleased with how alpha testing is going, and it is forcing us to make some major changes to the plugin that will make it much more robust.
We initially created and tested the plugin in our own servers, where we had total control over the environment of the live site. Now that we’ve released it into the wild, it is being used in all sorts of different environments, and we are not the least bit surprised to learn that (a) it doesn’t work on all web hosts and (b) some plugins cause problems.
So now we’re going through the process of learning exactly what problems occur on different hosting environments, and finding ways to fix them. This is requiring lots of creative thinking, which is fun.
We’re also seeing what plugins have problems. There are so many plugins out there that it is inevitable that some plugins will cause conflicts, but we are going to strive to minimize those problems.
Alpha testing is going to take a while. We want to make sure that the beta version is really robust and really close to being ready to go. So if you’re interested in trying it out, let us know!
I developed WP Stagecoach using WordPress sites hosted on my own fast servers. That meant I had total control over both the staging server and the live server, and I knew what security limitations I have in place. As soon as I had it working there, I knew it was time to test it out on popular web hosts to see how well it worked there. Every hosting environment is different, and I was certain I would run into problems on some hosts.
The first host that gave me trouble was Media Temple. When I tried to create a staging site for a larger website, it failed with exec errors. At first, I was using Unix utilities via PHP’s exec() function to tar up the filesystem because they are fast. However, not all web hosts actually let you have access to Unix utilities, and while Media Temple does let users access them, they have security in place that would make them not work reliably, so I couldn’t rely on using that. As an alternative, WP Stagecoach can now use PHP to go through all of the files in the website to find the ones we need and tar them up. In other words, instead of using Unix commands to create the staging site, I’m using PHP programs.
However, once I was able to reliably create a tar file with PHP, I would still sometimes get a “500 error” when I was creating a staging site. 500 errors are really unhelpful, but I eventually realized that the problem was that the page was timing out. Media Temple has their timeout set to 40 seconds, so if a PHP page doesn’t finish what it’s trying to do in 40 seconds, it is just forcibly stopped. 40 seconds isn’t always long enough to create the staging site, so the whole process was just stopping on larger sites.
So work around this, I had to make some pretty major changes. The biggest change was that I rewrote the staging site creation method so it was broken up into a number of shorter steps to avoid timing out. This let WP Stagecoach do everything it needed in short bursts of work, and thus avoiding Media Temple’s short timeout periods.
This was a major step forward, and while it is still ugly, it is working, and making it prettier will hopefully be a lot easier than making it work!
To show our appreciation for people who are willing to give the alpha version of WP Stagecoach a try, we are going to have an Alpha Testing Party. We’ll get together, have some drinks (drinks are on us!), and try WP Stagecoach. We’ll be there to troubleshoot any problems that arise (it is an alpha version, after all), and answer any questions you have.
When: Tues., October 1, 6:30pm – 9pm Where: Red Door, 3401 Evanston Avenue North, Seattle, WA What to bring: Bring a laptop and be prepared to try WP Stagecoach on a WordPress site
If you aren’t in Seattle, but still want to be in on the fun, you can join us on Twitter with the hashtag #wpstagecoach.
There are several solutions out there for creating staging sites, including some plugins in the WordPress plugin repository. However, what makes WP Stagecoach different from all of these is that we provide the server where your staging site is hosted.
With all other staging solutions, you have to have a server where you can host a staging site, and you have to set up the server environment. This might just be a matter of creating a copy of your website on your shared hosting account, but even at its simplest, setting up staging sites requires some expert knowledge about how to copy and move databases and how to change the URL of your WordPress site. Even if you are an expert, this can be a time-consuming process.
We have taken care of all of that for you. We provide the server. We copy your site to our server and change the appropriate settings (site URL, visibility to search engines). We make it easy to choose which changes to move to your live site. A process that would normally take an hour or so can be done with just the click of a button, and with no expert knowledge whatsoever.
Since it is so hard to make WordPress staging sites, most WordPress developers end up making changes on live sites. We know we shouldn’t, but there’s no easy alternative. Most WP developers have some sort of horror story from developing on a live site…
I think my worst experience developing on a live site was when a client asked for a really minor change – I think they wanted to change the length of the excerpt or something. It was pretty late at night, and I figured I’d go to their site and make this minor change. It was a quick and easy task, should have taken about 10 minutes. I didn’t have FTP access to the site, so I used WordPress’s built-in theme editor. I had to make a change to functions.php. I cavalierly typed some stuff into functions.php, hit save….. and got a white screen of death. If you have a syntax error in functions.php, the whole site totally breaks. Nothing will load – not the front end of the site, not the dashboard, nothing… So the site was broken and no one could see it, and I couldn’t get to the dashboard to fix my error in the theme editor, and I didn’t have FTP access, and it was late evening. So I had to call the client (thank goodness he was on the West Coast like me, instead of on the East Coast) and explain the situation. He didn’t have FTP access either, and had to make a call to someone who was traveling somewhere across the world to find the FTP information. What should have been a 5-minute tasked turned into an hour-long fiasco, and during that time the client’s site was totally unavailable.
So developing on live sites is bad.
That’s why we’re building WP Stagecoach – developers really shouldn’t work on live sites, but we all do it anyway, because creating a staging site requires a lot of time, work, and technical expertise. Once WP Stagecoach is released, there will be no excuse for developing on live sites any more – you can quickly and easily create a staging site and migrate your changes back to the live site.
WP Stagecoach is going to make this very easy: the plugin takes care of setting up the staging server, migrating changes back and forth, changing the URL of the site appropriately… It will let developers devote their time to developing, instead of fiddling with servers and migrating databases.
I have a pre-alpha version now, and a select handful of people are testing it out. This is really exciting!
Of course, as soon as the pre-alpha version was done, I realized many things that I could do better, so I’m basically re-writing most of the plugin… But that’s just a part of the process. The alpha release should be much better than the pre-alpha.
We’re just beginning to develop WP Stagecoach, but we’re really excited about it. WordPress has needed a simple solution for staging sites for a long time. Check back soon for updates! Invitations for pre-alpha testing are going out the first week of August, and we’ll be looking for alpha testers soon after that!