I heard about a project called VersionPress quite some time ago. The idea of being able to manage WordPress data via .git in the same way files are easily managed sounded sweet. I’m constantly working locally, pushing to staging, waiting for client approvals, then deploying to production. But, in the time I work locally, sometimes people on the my team or the clients team have made changes to the staging site, and definitely to the production site. . .then typically the changes will sit on a staging server for who knows how long until the client gets around to approving things, and by that time it’s impossible to keep track of what’s changed on the production site in the mean time.
That’s a problem that a lot of WordPress developers face. I’ve seen some developers lock clients out of the production site until changes are approved on staging, but that doesn’t sound like a good solution. I’ve also been involved in meticulously comparing staging to production to make sure everything gets migrated appropriately and nothing gets unintentionally overridden. I use a plugin called Stream to keep track of all activity on production sites, so that way I can see what’s changed in the time I was working locally and on staging, but again it’s a difficult job to make sure nothing accidentally gets replaced, or set incorrectly, etc.
For a while, the only tool I knew of that attempted to solve this data versioning problem was RAMP by CrowdFavorite. While RAMP seems to have some good ideas, it seems to lack a lot of features that would make it useful enough for work I regularly do. It might be a great product and is probably very useful, but it doesn’t quite meet my needs.
VersionPress hasn’t quite met my needs either (I’ve never used it, just read about it), but today I saw that VersionPress 2.0 has been released, and it seems like they’re getting to a point that it will be an extremely useful tool that will solve a lot of issues I deal with on a regular basis.
I went and signed up for the Early Access Program and I’m anxious to check it out and see how it works.
At the moment it looks like a lot of the data versioning is limited to WP-CLI (which is fine with me), but it sounds like a GUI is in the works, which should make it easier for developers of any level to have more control over versioning WordPress.
I’m excited to see how it works and if it indeed can help ease the pains of working in multiple environments and ensuring things get deployed appropriately.