Skip to content
This repository has been archived by the owner on Dec 19, 2023. It is now read-only.

Commit

Permalink
MiniVend 2.02
Browse files Browse the repository at this point in the history
  • Loading branch information
perusionmike authored and jonjensen committed Jan 2, 2009
1 parent 38c4659 commit 8e308a9
Show file tree
Hide file tree
Showing 42 changed files with 5,695 additions and 1,006 deletions.
25 changes: 25 additions & 0 deletions Changes
@@ -1,3 +1,28 @@
MiniVend 2.02 - Multiple Shopping Carts and mSQL
* mSQL support
* Added [msql hash|array|html|param] SQL code [/msql] , [msql list SQL code]
substitution-list [/msql], [item-param n] tags
* Added MsqlDB, MsqlProducts, CreditCardAuto, SeparateItems,
Locale catalog directives
* Untrapping of Safe op codes defined in global minivend.cfg with
SafeUntrap directive (249 and 148 by default)
* Better credit-card checksum validation, with conditional
PGP encryption that can be embedded in order email
* Fixed [if explicit ...] tag
* Removed CreditCards directive
* Greatly improved search reliability
* Added search sorting
* Multiple shopping carts (buy/sell)
* Automatic installation of File::Lock module on Solaris
* Improved PGP support
* Removed standard Des capability
* Improved stop script to kill non-responders (with -f option) and
clean up sockets/pidfiles
* Configuration bugs fixed (ownership and SampleUrl)
* Added (if_loop_field) to [loop list], make separate from [item-list]
still compatible with old
* Loop lists can now be quoted values, still no embedded ]

MiniVend 2.01 - Maintenance Release
* Added modifier variables to user values
* Encapsulated code to prevent dying on catalog config and execution
Expand Down
215 changes: 134 additions & 81 deletions README
@@ -1,4 +1,4 @@
# MiniVend V2.0
# MiniVend V2.02
#
# Copyright 1996 by Michael J. Heins <mikeh@iac.net>
#
Expand All @@ -22,27 +22,33 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Welcome to MiniVend, based on Vend, Andrew Wilcox's fine shopping cart
program. This program is completely unsupported, without warranty of
any kind -- but that doesn't mean the author is not interested in
problems, suggestions, or comments. Please feel free to send them to
Mike Heins, <mikeh@iac.net>.
Welcome to MiniVend, based on Vend, Andrew Wilcox's fine
shopping cart program. This program is completely unsupported,
without warranty of any kind -- but that doesn't mean the
author is not interested in problems, suggestions, or comments.
Please feel free to send them to Mike Heins, <mikeh@iac.net>.

-------------------------------------------------------------

I N S T A L L A T I O N

We implore you to read all of the verbiage below. We know how most of
us are, so we put the install procedure up here, but if you have
problems please read all of this file, PLUS the MiniVend documentation
in doc/minivend.html. Also, please check out the official MiniVend home
page at http://www.iac.net/~mike/mvend.html before you call for help.
We IMPLORE you to read all of the verbiage below. We know
how most of us are, so we put the install procedure up here,
but if you have problems please read all of this file, PLUS the
MiniVend documentation in doc/minivend.html. Also, please check
out the official MiniVend FAQ at http://www.iac.net/~mikeh/faq/
before you call for help. And send your system, Perl, and
Minivend information, VERSIONS AND ALL!

IMPORTANT NOTE: If you don't give evidence of having read and
heeded the above heartfelt plea, your email
may well be ignored. Caveat Emptor.

Here is the short version:

gzip -d mvend200.tar.gz
tar xf mvend200.tar
cd mvend200
gzip -d mvend202.tar.gz
tar xf mvend202.tar
cd mvend202
./configure
su
bin/makecat sample
Expand All @@ -52,25 +58,26 @@ Here is the short version:
With comments:

# Unzip and untar the file -- if you have GNU tar, you can combine
# the first two steps with 'tar xzf mvend200.tar.gz'
gzip -d mvend200.tar.gz
tar xf mvend200.tar
# the first two steps with 'tar xzf mvend202.tar.gz'
gzip -d mvend202.tar.gz
tar xf mvend202.tar

# Change directory to the one that was created -- this is a change
# from MiniVend 1.0x.
#
cd mvend200
cd mvend202

# If you have trouble with picking up the wrong Perl version,
# try '/dir/where/perl/is/perl configure.pl /dir/where/perl/is/perl'.
#
#
# If you aren't already the user ID of the user who will run the
# minivend server, you might want to 'su' to that user before
# running this step.
# This step will set the MiniVend directory and Perl location,
# and build the small dispatch program.
#
# If in doubt, the defaults are probably OK.
#
# This step will set the MiniVend directory and Perl location,
# and build the small dispatch program.
#
# If in doubt, the defaults are probably OK.
#
./configure

Expand All @@ -81,22 +88,18 @@ With comments:

# Make the demo catalogs -- either one or both. On the first
# one, you will be prompted for some initial parameters, then
# asked to re-run. This is OK.
# asked to re-run. This is OK.
#
bin/makecat sample

# Make the other catalog. The extension .cat will be
# put on the catalog configuration file that is created.
#
# If you want to make it with a different name, just use:
#
# bin/makecat yourname
#
bin/makecat simple

# un-su if you became superuser
# If you want to make it with a different name, just use:
#
# bin/makecat yourname
#
exit
bin/makecat simple

# Start the MiniVend server
#
Expand All @@ -117,31 +120,28 @@ and pretty please reference the web site. And

IRIX: This software will not work at all, unless there
is a fix to file locking with GDBM or DB_File. A
forked and dissassociated process cannot guarantee
that a lock will work.
forked and dissassociated process cannot guarantee
that a lock will work.

Help on this from the user base would be appreciated.
Help on this from the user base would be appreciated.

DEC OSF: (aka Digital UNIX) You cannot fork searches, the
ForkSearches directive in minivend.cfg must be
set to 'No'. This has to do with preserving locks
across forks and may someday be fixed. Otherwise
it should work properly.
set to 'No'. This has to do with preserving locks
across forks and may someday be fixed. Otherwise
it should work properly.

FreeBSD: The makecat script fails on some Perls and some
BSDs. Unknown, but it looks like improper file
test indications.
FreeBSD: If the kernel parameter CHILD_MAX is not configured
above the default of 40, expect problems.

Solaris: You must use the File::Lock module -- flock()
emulation still does not work properly, and fcntl()
locking must be used.

Linux: No known problems other than some bogus GDBM libraries
floating around the net (especially for Linux 2.0).
If you have problems, obtain and re-build GDBM and
Perl.


locking must be used. This version of MiniVend
includes File::Lock, and attempts to install it. If
you are using GCC on Solaris, you may have to compile
manually and pass -DSVR4 -lsocket on the compile
command line, particularly if you have not disabled
the script that is called 'cc' in many Sun distributions.

-------------------------------------------------------------

Expand All @@ -167,7 +167,7 @@ Linux: No known problems other than some bogus GDBM libraries
and full database support. It is as powerful as commercial
systems costing thousands of dollars.

MiniVend 2.0 Features
MiniVend 2.02 Features

* Users maintain a "shopping cart" for ordered items
* Multiple independent or shared catalogs allow one server
Expand All @@ -184,13 +184,15 @@ Linux: No known problems other than some bogus GDBM libraries
back without losing session state
* Complete addressable database support with virtually
unlimited rows and columns
* mSQL support (experimental in this version)

Powerful search capability

* Fast binary search
* One-click scan and search -- build a whole search in a single HREF
* Complete Glimpse interface
* 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

Expand All @@ -199,6 +201,7 @@ Linux: No known problems other than some bogus GDBM libraries
* 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
Expand All @@ -207,9 +210,13 @@ Linux: No known problems other than some bogus GDBM libraries

* 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
Expand All @@ -224,6 +231,8 @@ Linux: No known problems other than some bogus GDBM libraries
* Runs under Perl 5 and almost any UNIX
* Designed to be secure, runs with taint checking enabled
* Built-in online help capability
* Offline database builds
* Static page build for high performance
* Works well with all browsers

Andrew Wilcox wrote Vend, the copylefted shopping cart software.
Expand All @@ -241,10 +250,10 @@ Linux: No known problems other than some bogus GDBM libraries

D E M O

There are two demos supplied. The 'sample' demo demonstrates frames on
MiniVend, along with most of the advanced features. The 'simple'
demo does not use frames, but now demonstrates a subset of the
features of MiniVend.
There are two demos supplied. The 'sample' demo demonstrates
frames on MiniVend, along with many of the advanced
features. The 'simple' demo does not use frames, but now
demonstrates a subset of the features of MiniVend.

To install the demos, go to the MiniVend installation directory
and run:
Expand All @@ -261,36 +270,35 @@ should be able to access the new catalogs.
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, OSF/Alpha, ,
and FreeBSD. The underlying Vend engine has certainly been tested on
several more OS versions -- and it should work on any UNIX with Perl 5
and GDBM, DB_File, or NDBM support.
MiniVend has been well-tested on Solaris 2, SunOS, Linux,
OSF/Alpha, BSDI, and FreeBSD. The underlying Vend engine has
certainly been tested on several more OS versions -- and it
should work on any UNIX with Perl 5.002 or higher and GDBM or
DB_File support.

GDBM works best -- it is the fastest for import, and most reliable.
GDBM works best for most -- it is the fastest for import,
and most reliable. DB_File is best for BSD operating systems.

IRIX 5 has problems with MiniVend -- it apparently has bugs
in the UNIX-domain socket code that were not yet resolved as of
this writing.
in the UNIX-domain socket code that were not yet resolved as
of this writing.

For Solaris 2, you will need the File::Lock module, available at the
same CPAN archive where you obtained this program.
For Solaris 2, you will need the File::Lock module, which is
now included with MiniVend (installation is attempted).

If you are using GCC on Solaris, you may have to pass -lsocket on
the compile command line.

Please let the author know if you have successfully run MiniVend on
any additional platforms -- patches would be appreciated.
Please let the author know if you have successfully run MiniVend
on any additional platforms -- patches would be appreciated.

-------------------------------------------------------------------

S E T T I N G U P
Y O U R C A T A L O G

Setting up a MiniVend catalog can be quite complex, and that is
why the documentation and demos were provided. They should be
sufficient to get you started. Many hours have been spent
in documenting the features of MiniVend, and thoughtful users should
almost always find their answers there.
Setting up a MiniVend catalog can be quite complex, and that
is why the documentation and demos were provided. They should
be sufficient to get you started. Many hours have been spent
in documenting the features of MiniVend, and thoughtful users
should almost always find their answers there.

Key things that people sometimes don't understand:

Expand All @@ -316,14 +324,59 @@ Key things that people sometimes don't understand:
catalog).

-- WHEN IN DOUBT, RE-START THE SERVER. It won't take but a few
seconds, and many of the configurable options don't take effect
until it is done.
seconds, and changes to many of the configurable options don't
take effect until it is done.

The author is very interested in learning your problems with
MiniVend, and is interested in clarifying the documentation for
future improvements. (He isn't much interested in BEING your
documentation, though, unless you pay well and promptly.) Please
send kudos, comments, questions, and complaints to:

mikeh@iac.net


-------------------------------------------------------------------

M I S C E L L A N E O U S
O S N O T E S

Recommended DBM Tested on Notes
----------------- ------------ -----------------------
Linux GDBM 1.2.x & up This is what MiniVend is
developed on -- all features
should work normally.

FreeBSD DB_File 2.1.0, 2.1.5 Many users run MiniVend on
this OS, no known problems

BSDI DB_File Some users run MiniVend on
this OS, no known problems

DEC/OSF, aka GDBM 3.0 ForkSearches won't work,
Digital UNIX MultiServer does


Solaris 2 GDBM 2.4,2.5 No known problems once you
get it going. File::Lock less
of a problem, GCC still sometimes
means manual compilation of vlink

SunOS 4.1.x DB_File 4.1.3 ForkSearches won't work,
MultiServer does

IRIX GDBM, I guess All MiniVend DOES NOT WORK NORMALLY
due to stdio/socket/locking problems

UnixWare ???????? ?????? No known users, looking for
reports of compatibility

SCO ???????? ?????? No known users, looking for
reports of compatibility

The author is very interested in learning your problems with MiniVend,
and is interested in clarifying the documentation for future
improvements. (He isn't much interested in BEING your documentation,
though, unless you pay well and promptly.) Please send comments,
questions, and complaints to:
AIX ???????? ?????? No known users, looking for
reports of compatibility

mikeh@iac.net
HP/UX ???????? ?????? No known users, looking for
reports of compatibility

0 comments on commit 8e308a9

Please sign in to comment.