INTERCHANGE(1)

NAME
interchange - an e-commerce and general HTTP database display system

SYNOPSIS
interchange [--options] [file]

VERSION
5.4.0

DESCRIPTION
Interchange is a database access and retrieval system focused on e-commerce. It allows customers to select items to buy from catalog pages. The program tracks user information in sessions and interacts with an HTTP server through sockets.

Interchange has many, many, functions and features; they are too numerous to describe in this venue. Complete information can be found at its web site:

                http://www.icdevgroup.org/

Interchange requires Perl 5.6.0 or higher; more information on Perl can be seen at:

                http://www.perl.com/

OPTIONS
Interchange uses the Getopt::Long module, and most options will be recognized if they uniquely identifiable. The canonical forms are:

"-a, --add"
    Add a catalog to the system. Information taken from the input file (or standard input). Implies reconfig=catalog. Example:

      echo "Catalog simple /catalogs/simple /simple.cgi" | bin/interchange -a

    The information is in the form of a standard Interchange catalog line, and must be in the single-line format.

--runjobs=catalog[=job]
    Run a jobs group which is a series of files in a directory with the name corresponding to the "job". For instance, if you set up a directory called "weekly" in your pages directory for the catalog "foundation", you can run those files with:

            interchange --runjobs=foundation=weekly

    Files ending in .html (or whatever HTMLsuffix is for that catalog) are skipped. It is not tree-recursive -- directories are ignored.

    Results can be emailed to an address if you specify --email=address, and they will be put in the jobs log file.

    Alternatively jobs can be specified with --jobgroup=jobname before the --runjobs option. In other words, this will work:

            interchange --jobgroup=weekly --runjobs=foundation

    This will NOT work:

            interchange --runjobs=foundation --jobgroup=weekly

-d dir, --dir=dir
    Directory for VendRoot. This is where the Interchange configuration file will be looked for (if not redefined with "-f"), and where the log file will go (if not redefined with the ErrorFile directive).

-e name, --exclude=name
    Exclude catalog from this startup.

-email=address
    Email address to email jobs results to.

-f file, --config=file
    Configuration file to use (default is interchange.cfg in VendRoot).

-h, --help
    Display help on command line options.

-i, --inetmode
    Run with internet-domain socket only. Normally Interchange runs with both UNIX- and internet-domain sockets (except on Windows).

--jobgroup=job
    Sets the job for --runjobs if that is not included in the --runjobs call. MUST precede the --runjobs entry on the command line.

            interchange --jobgroup=weekly --runjobs=foundation

    See --runjobs for an explanation of what this does.

--kill [signal]
    By default, kills the server ungracefully with signal KILL (9, usually). The optional signal will be sent instead if supplied.

-q, --quiet
    Suppress informational messages on startup. Only errors are shown.

--reconfig=name
    Cause only catalog "name" to re-read its configuration.

--remove=catalog
    Remove a catalog from operation; any future requests will get a not-found message.

-r, --restart
    Stop and restart the server. This may take a long time if many catalogs are in use, and will temporarily take the system offline. If you want to change a UserTag, use the --add option instead.

--serve
    This is the default if no mode options (--reconfig, --kill, --restart, etc.) are supplied.

--stop
    Stop server gracefully with a TERM signal.

-t, --test
    Report problems with config files; causes a complete configuration of the Interchange server but no server start.

-u, --unix
    Run with unix-domain socket only. Normally Interchange runs with both UNIX- and internet-domain sockets. This will not work on Windows.

-v, --version
    Display program version.

--DEBUG=1
    Set to true value to run foreground in debug mode. It is normal to receive warnings about various things if you run with perl -w.

Directive=value
    Set a Interchange global directive upon start (or --restart). Example:

            interchange SocketPerms=0666

    This will start the server and override the default of SocketPerms or the value set in interchange.cfg for this instance only. Any --restarts must re-specify the directive if it is still to have that value.

name:Directive=value
    Set a Interchange directive for catalog "name" upon start (or --restart). Example:

            interchange simple:VendURL="http://localhost/cgi-bin/simple"

    This will start the server and override the default of VendURL for the value set in catalog.cfg for this instance only. Any --restarts must re-specify the directive if it is still to have that value.

SEE ALSO
compile_link(1), config_prog(1), configdump(1), dump(1), expire(1), expireall(1), localize(1), makecat(1), offline(1), restart(1), update(1), http://www.icdevgroup.org/

LICENSE
Interchange comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute and modify it under the terms of the GNU General Public License.

COPYRIGHT
Copyright (C) 2002-2005 Interchange Development Group Copyright (C) 1995-2002 Red Hat, Inc. All rights reserved except those granted in the license.

AUTHOR
Mike Heins is the primary author of Interchange.

The Interchange Development Group is:

Brev Patterson Dan Browning Ed LaFrance Jonathan Clark Jon Jensen Kevin Walsh Mike Heins Stefan Hornburg (aka Racke), captain Ton Verhagen

Please do not contact the authors for direct help with the system. Use the Interchange mail list:

    interchange-users@icdevgroup.org

Information on subscribing to the list, as well as general information and documentation for Interchange is at:

    http://www.icdevgroup.org/

SPECIAL ACKNOWLEDGEMENTS
The original author of Vend was Andrew Wilcox. Interchange could never have come into being without him.

Stefan Hornburg has had his hand in many parts of Interchange, and is by far the most prolific bug-finder. He also was primarily responsible for bringing MiniMate, precursor to the Interchange store administration UI, to being as a supported facility. He continues to make valuable contributions.

ACKNOWLEDGEMENTS
Original author of Vend, ancestor to Minivend and Interchange, was Andrew Wilcox <amw@wilcoxsolutions.com>. Interchange was based on Vend 0.2, with portions from Vend 0.3; both were produced in 1995.

# columnize with "sort -u | pr -t -2 | expand -8 | sed 's/^/ /'"

Contributions to Interchange have been made by:

    Andreas Koenig                      Jason Kohles
    Bill Carr                           Javier Martin
    Bill Dawkins                        Jeff Carnahan
    Bill Randle                         Jeff Nappi
    Birgitt Funk                        Jochen Wiedmann
    Bob Jordan                          Jon Jensen
    Brev Patterson                      Jonathan Clark
    Brian Bullen                        José Mª Revuelto
    Brian Kosick                        Jurgen Botz
    Bruce Albrecht                      Keiko
    Cameron Prince                      Keith Oberlin
    Chen Naor                           Kevin Walsh
    Christian Mueller                   Kim Lauritz Christensen
    Christopher Miller                  Larry Leszczynski
    Christopher Thompson                Marc Austin
    Dan Browning                        Mark Johnson
    Dan Busarow                         Mark Stosberg
    Dan Helfman                         Massimiliano Ciancio
    Daniel Thompson                     Matthew Schick
    Dave Wingate                        Michael McCune
    David Adams                         Michael Wilk
    David Kelly                         Mike Frager
    Dennis Cronin                       Neil Evans
    Don Grodecki                        Nelson Ferrari
    Ed LaFrance                         Raj Goel
    Frank Bonita                        Ray Desjardins
    Frederic Steinfels                  Ron Phipps
    Greg Hanson                         Shozo Murahashi
    Gunnar Hellekson                    Sonny Cook
    Hamish Bradick                      Tim Baverstock
    Hans-Joachim Leidinger              Tom Friedel
    Heinz Wittenbecher                  Tommi Laberno
    Hiroyuki Cozy Kojima                Ton Verhagen
    Ignacio Lizarán                     Troy Davis
    Jack Tsai                           Victor Nolton
    Jason Holt                          William Dan Terry
    and many others

and, of course, the entire Perl team without whom Interchange could not exist.