Development platform for live sites

Hi,

We have a large site which is growing quite rapidly, but the systems in place to apply new changes or correct fixes are so up in the air its hard to be sure whether you’re working on an up-to-date file.

The live site resides on www.example.com, with a development site on another domain/subdomain development.example.com. There were initially 2 databases, but now the development and live sites share the same one. New parts of the site are built on the development site, then transferred to the live site when finished.

Subversioning has recently been applied, but it was applied with only one person understanding how it works, leaving the rest of us guessing.

I guess what I’m asking is:

  1. Do others maintain a development site alongside the running one?
  2. What do you use to keep them synchronised from file and database perspective?
  3. How do you account for more than one person developing on the site at any one time?
  4. If you have problems that require an immediate fix, do you apply it to the development or straight to the live site?

While what I’ve described may be fine for small sites, I can’t help but feel its extremely counter-productive when dealing with multiple developers, building new parts and even correction of immediate problems.

Apologies if this is open-ended, I’m just very disillusioned with how things are working (or not working) at the moment.

Thanks in advance.

For a start there’s a great free subversion guide which will make things alot clearer:
http://svnbook.red-bean.com/

Ideally you would develop and test on a local Development server. Then deploy the code to a 2nd Staging server and test. Then finally deploy to the Production (live) server.

Subversion takes care of 1, 2 and 3, apart from the database. You don’t really need live up-to-date data on all servers. Just a portion of data for dev and testing.

Again, read the subversion guide and alot of your questions will be answered and everything will be much clearer :slight_smile:

Thanks for the subversion guide philm, very helpful.

I like the sound of that configuration. I’ve used WAMP as a local development platform before, then FTP from same location to live site. Not ideal, as it doesn’t take into account any server setup changes, which the 2nd staging server would do. Plus you have a safeguard with the 2nd development server before transferring to live.

The database for me has always been the tricky bit. I’ve tried running development and production sites from same database (using site IDs to make data distinction), and using independent ones, yet there are drawbacks with both approaches. It needs more thought really, but I’ll definitely look at the file stages.