REQADM

Frequently Asked Questions

1. Building/Installing the Software

2. Setting Up Your Help Center Configuration

3. User-Level Questions

4. Development/Futures Questions


1. Building/Installing the Software

Q 1.1: Can I recompile part of REQADM and just run it immediately, or install the newly-compiled files, without re-packing and going through the arduous "setup" process every time?

A: Yes, actually.

I'd like to see the whole setup program depricated as we go on with development. It really just serves two purposes: (1) an interactive guide through the too-complicated install process, and (2) (most important for your question) it takes a handful of site-specific numbers and strings and writes them into all the files which were installed.

This was considered a good idea at the time, as it meant that any random customer's copy of xreqadm would always point back to our server and know how to talk to it, without needing to answer calls from people who couldn't configure their clients, etc.

However, I'm starting to think that it would have been easier to just hard-code a path to a configuration file somewhere in the build process and allow run-time overrides to that. (Remember that originally we were only able to give out binary copies, not sources.)

Anyway, the point is that if you had another way to get your site values into the program when it's compiled, you'd never need to run setup at all.

Here's how you do that:

(This is a sort of an unadvertised feature, so I haven't tested it with the latest release, but I know of no reason it shoulnd't work with the changes most recently made.)

In the src directory, you'll notice various config.* files. These define what site parameters will be installed by "setup". The default one used is config.conf, which looks like this:

string 1 32 reqadm.mydomain.com#REQADM server hostname
\____/ | \/ \_________________/ \____________________/
  |    |  |          |                   |
type  ID maxsize    value            setup prompt


number  1   6688 REQADM server TCP port number
\____/  |    |   \___________________________/
  |     |    |                |
type   ID  value            setup prompt
You'll also note the src directory has some other config files, like config.internal - internally built copies
config.exp - experimental build
config. - whatever

When you run ./configure to create a build directory, you can give it the following options:

  -d       use config.internal, don't require setup
  -e       use config.exp, don't require setup
  -dc foo  use config.foo, don't require setup
Using these options causes configure to arrange the Makefile so that the binaries are built with the contents of the config.* file (which will always be copied as "config.conf" in the build directory) in a ready-to-use form, rather than just a placeholder for "setup" to fill in.

In other words, you can execute immediately after building the new binaries.

so:

  1. Edit src/config.internal to have the values you typed in to "setup". Read the comments in that file for important considerations.
  2. ./configure -d
  3. cd Build.
  4. hack
  5. make
  6. run
  7. goto 4