MiniVend 2.03b - Bug fixes * Made ready to run with Perl 5.004 by fixing SafeUntrap (will find correct version, use Opcode.pm style if version greater than 5.00320) and a few warnings * Added all patches from patch set A * Added patch that allows accesses from multiple proxy servers (i.e. AOL) while retaining session for SSL * Added Safe{'carts'} access method * Added 'do_tag' routine that allows access to tags within perl user subroutines. Called with: $data = do_tag("data arbitrary field1 $key"); MiniVend 2.03 - User reconfiguration and internet-domain server, * Re-configuring a catalog can now be done on an individual basis. No more server re-starts for a user to change their configuration. * MiniVend no longer requires DBM, though it is still best to use GDBM or DB_File if available. There is a file-based session storage message mechanism, and product databases can be stored in memory. This is automatically selected if appropriate. * Multi-server mechanism changed completely. Only one server runs when in quiescent state -- it forks additional servers as necessary, up to a limit you decide. This works around a memory leak in Safe.pm, the server can now run for months on end. * Runs on just about any Unix operating system with no changes, providing Perl 5.002 is available. This includes IRIX, which formerly would not run MiniVend. * Perl subroutines can now be defined on three levels, and directly called from MiniVend pages. Two use the Safe.pm module for enforcing security, while an administrator-enabled GlobalSub routine can run external programs for complete control. * mSQL support is now considered stable, and the databases can be updated by forms from within MiniVend. * The link CGI program may now use TCP-based sockets, which allows the link CGI to be located on a different machine than the MiniVend server. Be careful of security, though! * Perl link programs are provided for systems without a C compiler. (Solaris still needs a C compiler for File::Lock, unless it is already installed on Perl.) Not production quality -- user help would be appreciated. * Search sorting can be done right on the page from returned fields, and be sorted by field based on form options. * The [if ...] conditionals are much improved. Contained HTML can now be deferred until the last interpolation pass with the [post] [/post] tag pair. * New mv_click and mv_check special variables set multiple form parameters with a single form button. * Cookies are only sent once if enabled, preventing annoying multiple warnings if the user has them turned on. * If the user is going through multiple proxy servers (as AOL users do), the session will be stable. * If REMOTE_USER is present, the IP address will not be used for the session name, allowing the same user to connect to a saved session from any machine. * Many other minor bug fixes, improvements, and changes. - Server now runs on either UNIX-domain or internet domain sockets - mSQL arrayhash primitive added - More backend support hooks, can be integrated with Cybercash - Order quantities optionally fractional - Shopping carts can be manipulated by Perl [perl carts] - [uniq] and [sort opt] constructs added to search lists - Rudimentary search caching - Improved demo - Fixed [if explicit ...] tag (again) - Added TcpHost, TcpPort, HouseKeeping, SearchCache, Password, MasterHost, RemoteUser, FractionalItems, GlobalSub, Sub directives 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 * Improved makecat scripts * Corrected silly duplication of files * Improved [selected] and [checked] * Fixed minor demo problems * Changed IRIX locking to flock() * Changed configure to set ForkSearches to NO on SunOS and OSF/Alpha MiniVend 2.0 - The ISP release * Multiple independent and shared catalogs * Embedded Perl code using Safe.pm (still has memory leak?) * Range searching in the TextSearch module (add Glimpse) * Discount policy * UPS lookup shipping calculation * Multiple configurable attributes (size/color, etc) * Order profiling allows multi-level screens * New tags [loop item,item...]value[/loop], [modifier-name attribute] and [item-modifier attribute] * Added [else][/else] to [if_field] * Demo much improved * Removed MAT * No option for svend in installation, must install manually * No option for netstart * Made Solaris default to full support, still needs File::Lock * Fixed library ordering problem * Many reliability improvements MiniVend 1.03 - Multiple servers and disconnected searching * Multiple servers can be run for the same catalog * Searches are forked so single-server installations will not see delays while searching * Cookie support * Quantity price breaks * Revamped demo yet again * Order lists can be displayed anywhere * Nameable order and search pages * Accessories feature * Added TaxShipping, NonTaxableField, PriceField, DescriptionField, AlwaysSecure, ExtraSecure, HammerLock, MultiServer, PageCheck, PriceBreaks, MixMatch, Cookies, Specialpage, Database directives * Searches are now independent on database field * Fixed bugs in match paging * Arbitrary table-like text formatting with [row] [column] elements * Vend variables available with [if][else][/else][/if] * Configuration script now handles multiple installs, and GCC is recognized * Code somewhat modularized * Pages are checked for fatal errors before server starts??? * Static mode will be almost unusable unless the Apache Perl_fast mode is used (not supported or explained) * MAT now displays error logs??? * Unlimited databases * Special pages are mapped * [data database field key] tag added MiniVend 1.02 - SSL Security * Revamped demo to have fewer frames * Added CreditCards, EncryptProgram, FrameOrderPage, SecureOrderMsg, SecureURL directives to configuration * Added __secure suffix to target of [pagetarget] element, allows secure transmission of arbitrary pages * Added [process-target target secure] element * Added [secure-order] element * Improved "match exactly" search, removed bug that could crash program (not the system) * Added Imagemap behavior for forms, uses the mv_todo.map variable to pass "client-side" maps * Added TCP-based link program and Server.pm.tcp to allow TCP-based communication (no auto installation). THIS IS A SECURITY HOLE IF USING SSL AND DES @ Fixed bug causing session close if bad quantity entered MiniVend 1.01 - Extensive changes * Added [salestax], [subtotal] tags * Added CustomShipping, DefaultShipping, Backend, SalesTax, and Tracking directives * Added backend order entry in the tracking DBM database * Added order archiving in the tracking DBM database * Added page stats in the tracking DBM database * Added custom shipping charges with shipping.asc file * Added sales tax calcuation with salestax.asc file * Changed name of vendadm/avend to MAT * Documented all of the above * Added example backend order entry programs (bin/entord and bin/trackrpt) MiniVend 1.0a - Fixed minor configuration and catalog bugs 2/13/96 MiniVend 1.0 - Extensive changes to the documentation 2/11/96 and programs to change the name. * Added [random] element and Random directive for random messages embedded in pages * Added [help item] element and Help directive for inline help messages Version 0.2m8 * Added [body n] element and Mv_Background, Mv_TextColor, Mv_BgColor, Mv_LinkColor, and Mv_VlinkColor directives for user-customizeable appearance * Added [buttonbar n] element and ButtonBars directive for canned button bars Version 0.2m7 * Added Server.pm and Http.pm support, now much faster when running in server mode * Made locking more portable by using Vend::lock.pm module * Changed configure script to support server mode * Added VendRoot/etc dir to hold socket, pidfile, and conf files * Docs still don't discuss all this, next version Version 0.2m6 Splinter version by Mike Heins - February 3, 1996 * Added client-side imagemap support * Added tags [areatarget page target] [area page] * Added comma prices with PriceCommas directive * Configuration utility for installation * Improved documentation for all * Added frames demo * Deleted [search][/search] tag * Regularized variables over vendadm.pl, vendpage, vend.pl * Added password check on vendadm.pl * Changed default file names to make ready for NT version Version 0.2m5 Splinter version by Mike Heins - January 26, 1996 * Added frame support * Add tags [pagetarget page frame][/pagetarget] [frames-on] [frames-off] * vendadm(8L) utility added to help administer Vend Version 0.2m4 Splinter version by Mike Heins - December 28, 1995 * Subdirectory capabilty added ('/' added to $codere) * Search engine added to search product index (ASCII) * Search engine added to search page tree (glimpse, untested) * Add tags [search][/search] [search-list][/search-list] [item-link] * Product codes put in dbm files, with makedb command to make them from ASCII source * Fourth field (page location) added to product file * vendpage(8L) utility added to help maintain tree Version 0.2 svend.c cleaned up configuration directives now get correct default values Version 0.1 initial release