Forum OpenACS Development: Re: RFC: automated installer

Posted by Janine Ohmer on
Tom, I haven't looked at your script yet, but I am envisioning that a useful script would:

- use XML files (probably) to specify the versions of all the pieces to be installed for, say, a functioning 5.0 install and where to get them from
- allow the user to install everything we recommend, or cherry pick the things  s/he wants to install
- use variables for all OS commands, even if we start out only supporting Redhat, to make it easy for someone to get it working on their OS of choice

Among other things not thought of yet. :) Your script probably does not do all of these things currently, but is it written in such a way that it wouldn't be tragic to try to add them?

I still don't have a good feeling for how well supported the tclwebtest script is. Should we rely on it or not?  I see that it is a shell script (at least that is implied by the name, which has been soundly trounced here as a Bad Idea....

Posted by Tom Jackson on


  • xml -- the configuration files are in an xml-like syntax. Therefore the parser reads this syntax and not xml. FWIW, it is a little easier to get the data back out for use.
  • User can choose to skip an installation and continue on to the next one. You can also edit the startup file, or write your own in a few minutes so it only includes the applications you need.
  • use variables -- easy to add variables to the configuration file, then use them later on. Like Ant, but interactively queries the user if they need to alter the default values of the variables. It would be nice to have a mode where you could skip the querying routine (easy but isn't done yet).
  • tclwebtest -- easily work with this by executing a script, which app-install could download. app-install could actually wrap this command line tool so users could easily change the defaults, without trying to figure out what the command line options are.

    My next attempt to improve this will probably be to create a localized copy of all the needed files, and write an updated installation script before installation begins. I also want to use sudo to execute every command as a particular user.