# MiniVend V3.15 # # Copyright 1996-1999 by Michael J. Heins # # Based on Vend 0.2 # Copyright 1995 by Andrew M. Wilcox # # Portions from Vend 0.3 # Copyright 1995,1996 by Andrew M. Wilcox # # This program is free software; you can redistribute it # and/or modify it under the terms of the GNU General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later # version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public # License along with this program; if not, write to the Free # Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, # USA. Welcome to MiniVend, originally based on Vend. This program is completely unsupported, without warranty of any kind. The author is interested in problems, suggestions, or comments, but does not have time to offer free individual support in most cases. See the MiniVend website at http://www.minivend.com/minivend/ for more information. IMPORTANT NOTE: MiniVend 3.15 requires Perl 5.004 or higher. It will run on no earlier version, period. 5.005 is recommended. The information you need is in the following files: README Copyright info, roadmap to installation and pointers to support system Copying Your MiniVend license -- please read. INSTALL Installation instructions UPGRADE What to watch out for if updating from an earlier version README.OS OS-specific information, if any doc/ The MiniVend documentation. WHATSNEW Change information for all versions in this version family. MANIFEST List of all core distribution files. Major files/directories in the distribution: configure configure.bat Makefile.PL The installation scripts. Try typing "./configure" or "configure" to install. dist/ The distribution files, exclusive of library modules. Includes: minivend.cfg.dist Distribution minivend.cfg flycat/ The flycat demo application. simple/ The simple demo application. bin/ Executables including scripts src/ C and Perl code for CGI links doc/ The documentation. lib/ The library modules needed to run MiniVend. win/ Windows-specific files -------------------------------------------------------------- M I N I V E N D MiniVend is a full-featured electronic catalog system (commonly known as a shopping cart) with online ordering capability. It is designed to provide an interface complete with SSL security and full database support. MiniVend is freely-redistributable under the GNU General Public License -- you can download it via FTP. MiniVend 3.0 Features * Users maintain a "shopping cart" for ordered items * Multiple independent or shared catalogs allow one server to run many storefronts or a "mall" * SSL support means secure and practical credit card ordering * PGP support for secure off-site mailing of orders * Catalogs can be of almost unlimited size with excellent performance * Multi-server mode for very high capacity on systems with sufficient memory * Cookie support allows browsers to leave catalog and come back without losing session state * Complete addressable database support with virtually unlimited rows and columns * Complete SQL support including ODBC * Many, many, other features Powerful search capability * One-click scan and search -- build a whole search in a single HREF * Versatile built-in text search * Complete Glimpse interface * Fast binary search * Range searching, numeric and alphanumeric * Search sorting with reverse, numeric and case-insensitive options * Independent field search selection and return * Search any file, build results from any database Complete control of appearance * Full frames support * Catalog pages automatically selected -- either built "on the fly" from the database or pre-made for popular items * The on-the-fly page is selectable from the database * Embedded Perl and conditional HTML allow complex and flexible catalog pages to be completely built from the database Flexible Ordering Process * Multi-level order screens with configurable field verification * Multiple shopping carts per catalog, allows both buy and sell operations * Shipping calculation, mixed modes, with UPS table lookup * Sales tax calculation, with fully independent non-taxable item and taxed shipping * PGP encryption of credit card information or the entire emailed order * Fully-configurable discounts with coupons or across-the-board discounts * Fully-configurable quantity pricing * Fully-configurable item price adjustments * Sophisticated back end order entry capability including CyberCash(R) * Full client-side imagemap support, including frame targets and form submits * Fully configurable order reports and receipts Easy Administration * Automated installation and configuration * Runs under Perl 5.004, Windows, and almost any UNIX * Designed to be secure * Offline database builds * Static page build option for high performance * Works well with all browsers ------------------------------------------------------------------- D E M O There is a simple demo application included. To install the demo, go to the MiniVend installation directory and run: bin/makecat simple Follow the prompts and after restarting the MiniVend server you should be able to access the demo catalogs. ------------------------------------------------------------------- A V A I L A B I L I T Y A N D C O M P A T I B I L I T Y MiniVend has been well-tested on Solaris 2, SunOS, Linux, HP-UX, BSDI, FreeBSD, and OSF/Alpha. It also reportedly runs on SCO, AIX, and other Unix ports. It should work on any UNIX or Win32 OS with Perl 5.004 or higher. IMPORTANT NOTE FOR WINDOWS: MiniVend will NOT run with the early ActiveState ports, otherwise known as 5.003 build 1XX. It REQUIRES, repeat REQUIRES, the standard version Perl 5.004 or 5.005 ActiveState "merge" ports. See http://www.perl.com/ for information on how to obtain it. Windows does not support fork(), so the server runs in the foreground. You need the DB_File module for best results, and that is not included in the standard distribution. You can get it at http://www.perl.com/CPAN-local (or any CPAN archive) in the ports/win32/Standard/x86/ directory. ------------------------------------------------------------- I N S T A L L A T I O N WINDOWS INSTALLATION -------------------- Obtain the self-extracting executable minivend-3.15.exe and double-click on it. You MUST already have Perl 5.004 INSTALLED and in your PATH. Alternatively, you can unzip the file yourself and run "setup". UNIX INSTALLATION ------------------ Here is the short version: gzip -dc minivend-3.15.tar.gz | tar xvf - cd minivend-3.15 ./configure More information is in the file INSTALL. -- WHEN IN DOUBT, RE-START THE SERVER. It won't take but a few seconds, and changes in configurable options don't take effect until it is done. You may even change a page and not see the effect until the server is restarted. ------------------------------------------------------------- D O C U M E N T A T I O N The documentation is in 3 files in the doc/ subdirectory of the main MiniVend directory: toc.html Table of contents frtoc.html Frames table of contents minivend.html Main documentation file These files will be copied to the same HTML directory as the simple demo gateway files -- they would normally be referenced as: http:/www.yourserver.com/simple/toc.html There is an extended documentation package available at www.minivend.com. ------------------------------------------------------------- K N O W N P R O B L E M S RedHat Linux 5.0: RedHat Linux 5.0 has a bad Perl distribution that causes problems with POSIX. The real solution is to obtain the latest.tar.gz file from CPAN and build a new Perl. Here is the script to do that once you have obtained the latest.tar.gz file: tar xzf latest.tar.gz cd perl5.005* perl -pi.dist -e \ "s:/ bsd / /:/ net / /' | sed -e 's/ bsd / c g /:; \ s/^#(POSIX_cflags)/POSIX_cflags/" \ hints/linux.sh ./Configure -des && make test That should get you a Perl which passes make test one hundred percent and that works with MiniVend and other programs which use the POSIX library. After you have verified the "make test" passes fully you should of course su to root and "make install". This may soon be corrected by the Perl porters or by RedHat, so bear in mind this is time-sensitive. The above works well as of Jun. 3, 1998. IRIX, Solaris, Digital UNIX: The server may not terminate immediately, as the select() call blocks signals. It will stop at the next request, or at the end of the occasional houskeeping cycle, set by the directive HouseKeeping in minivend.cfg. Set to less than 10 to achieve decent response. BSDI, FreeBSD: The BSDI library code is not safely re-entrant when used in combination with signals, so no signals are sent during server usage. This is transparent to the user. MiniVend may not as of this writing work with BSDI 3.0 in UNIX mode, so you should use the INET mode and the tlink program. This is the catalog configurator default. If the kernel parameter CHILD_MAX is not configured above the default of 40, expect problems. Same with SO_MAXCONN and some other kernel parameters. Solaris: It is STRONGLY RECOMMENDED that you update to Perl 5.005 when running on Solaris. Windows: Just a few things don't work the same as UNIX. See the README-win.txt file for more information. --------------------------------------------------------------------- I, the author, am very interested in learning your problems with MiniVend, and am interested in clarifying the documentation for future improvements. I am not much interested in BEING your documentation, though, unless you pay well and promptly. Please send kudos, comments, questions, and complaints to: mikeh@minivend.com Note that I receive thousands of emailed questions per year and cannot answer them all. The more research you do on your own the more likely I am to respond. Helpful suggestions and real bug reports are almost always acknowledged. Good luck with MiniVend!