Hive Mind

May 5, 2009

Early-on, Chattarati occasionally received invitations to help with outside projects. We were briefly involved with a business venture and discussions about starting up a new magazine in Chattanooga. Part of this idea, was to have a monthly publication and fill in the gaps with a website. As we started going down this path, I wanted to run the magazine’s site, similar to how we run my employer’s main site. We have work flows and various environments (prod/beta/test/dev), so we can see applications and content in states of working before we make a production publish.

Because we were looking at becoming a start-up, funding was non-existent. So like a lot of people, free sounded good and we decided to use WordPress. So my main thought after making this decision was, “how do we maintain two environments using WordPress?” In this exercise, we won’t use beta as a naming standard, they’re “Production” & “P_re-Production_“.

How we differentiated between the two environments was, production was the latest edition of the magazine along with daily posts about x topic. Pre-production was the test page and where we built out the next month’s edition. In the original thought process, this would be two WordPress installs, two DBs, two of everything. In the maturing of this plan, we’re using one singular WordPress install and two sets of information based on the WP-Hive setup. (more on this in a bit)

Now, if I were a decent coder, I could probably have one install and code in a mechanism pulling from a different database, based on the URL. That’s what we do in a lot of instances at work. Like, I said, I’m not a good coder but I do know how to install WP-Hive. With this WordPress plug-in, I can have one DB and one WordPress install, but install lots of independent sites. So for the example above, we could have the templates, graphics, and WP setup equal among the enviroments but have both the prod and pre-prod environments. Moving the latest edition to production would be as easy as using WordPress’ export mechanism, trimming out everything but the recent edition, then importing into the prod server. Not perfect but less complicated.

I’m still investigating improvements for this plan, MovableType (for instance) has a work flow plug-in which could be used to do similar things as well as have user signoffs in the process. But having the ability to have seperate but equal installs, sold me on making WordPress more of my framework than just a blogging engine.