Live Debugging with Apache
By Al Williams
As Web sites become more mission critical to organizations, pressure to treat Web site development like traditional programming projects increases. One person using ad hoc methods is fine for a small site with a single developer, butas the mainstream programming community discovered long agolarge projects with multiple developers require better methodologies.
Most large-scale software development projects use some sort of configuration management system to help handle changes. The traditional system has several layers. The top layer is the current version of the product. When you want to build the currently shipping version of the program, you use the files from this top layer. When you want to make changes (for the next version) you copy a file from the top layer to the lower development layer. You can make any changes you want to this copy without affecting the official version in the upper layer.
When you're ready to test the program, the configuration tool looks for files in the development layer first. If the file exists, the tool uses it. If it doesn't exist, the tool grabs the current version from the upper layer. That way you get a build that's complete, but incorporates the latest changes. Once you're satisfied that your changes are working, you move the file from the development layer to the next layer (known as promoting the file).
Sophisticated systems may have more than two layers. For example, you might promote the development version to a testing layer. Once they're tested, you can promote the files to the release layer.