Forum OpenACS Development: Re: TWiST OpenACS package

Collapse
8: Re: TWiST OpenACS package (response to 6)
Posted by Tom Jackson on
There is a new version up at http://junom.com/openacs/ (0.9.3.2).

I finally figured it out, I hope. Before-install means that a Tcl proc is run prior to loading any database code. After-install means after the database code has been run. Both seem to run before APM considers the package to be installed, so it is before there is a package_id, so you can't use parameter::set... in either of these.

But there is another issue as well: I was thinking that the package parameters would be initially taken from the twist.info file, but they are not. This means that if you don't like the defaults (except the mount point, which works), you need to change them in twist-procs.tcl in the proc ::twist::install::init.

Although the normal install requires subversion, it isn't necessary. I don't have subversion on the server where I created the package; on the other hand, I don't have wget on my local machine, so coming up with an 'always sure to work' solution may not be possible. Here is the reasoning behind the way the package works:

If you want to upgrade TWiST, go to the application instance and change the version parameter. Restart your server. The old version remains in place, and you can revert back to it if there is some issue with the new version, just change the version number back and restart the server. You can remove the old version if you wish. The upgrade of TWiST version doesn't affect the OpenACS package.

The new OpenACS package removes the 'initialized' parameter and replaces it with an 'installed' parameter. The default in twist.info is '1', but until the package is installed, the 'init' procedure sets it to '0'. Once this becomes '1', which means that the package is installed, the sourceDirectory parameter is updated with the Tcl default. This parameter is set in Tcl code to [ns_info tcllib], so if you want the TWiST source somewhere else, you have to edit the Tcl code prior to installation, or change the sourceDirectory parameter and restart the server, after installation. This will force a re-download of the code using svn ... or just move it by hand into place and restart.