This is a complete set of instructions for setting up OpenACS 4.5, an "advanced toolkit for building scalable, community-oriented web applications." It is essentially the quick and dirty version of The Right Way. You will set up a complete OpenACS 4.5 development server on a RedHat 8.0 box with PostgreSQL 7.2.3, Qmail 1.03, ssl, full text search, source control, and automated backup. After setting up a development server, you will create a new "tutorial" package, use DocBook to document the requirements and design, and create an automatic test suite. You will then create a production server, deploy your work to production, back up the production server, erase the production server, restore everything, use an automated test to verify that the tutorial package works, add a "Hello World" note, and then find it with full text search. In other words, you will practice the following aspects of The Right Way:
Documentation
Source Control
Automated Testing
Backup and Restore
Controlled Deployment
You should use this guide if ...
You should not use this guide if ...
I have three audiences in mind: first-time installers, who may be daunted by the scope of tasks needed for a full-featured OpenACS install; repeat installers who are tired of dredging details out of their brains or looking up little details; and me, using these instructions to do disaster recovery at some point in the future. If you are a first-timer, take a deep breath and then follow the instructions exactly. If you know what you're doing, I hope this is helpful. In either case, please contact me at<joel@aufrecht.org>with any questions or suggestions.
My idea of The Right Way is that, in any process, from software development to drying dishes, there is an optimal way to do things, and this optimal way is probably not that way you're doing it now. That's because humans are lazy. We'd rather defer work until later even when that increases the net amount of work. (That is to say, few of us actually make the stitch in time to save nine.) One solution to this paradox is to make it easier to do things the right way the first time. So this document walks you through lots of processes that I learned the hard way, in order to make them concrete and doable. However, the Right Way for software development isn't more process per se: it's the appropriate amount of process for the job. I believe that all of the processes in this document offer an immediate benefit for all software-as-service projects.
If you find that doing things The Right Way isn't helping you get your work done, then it isn't The Right Way and you should simplify. But before you cut a process, think about the likelihood and impact of one or more of the following: discovering a conceptual error or new data need after finishing coding; losing a hard drive; losing a computer to malicious intrusion; working on something else for six months and forgetting the details of this project, which then develops a critical bug; adding a new programmer mid-project.