Table of Contents
(frames)
NAME
Version
DESCRIPTION
OVERVIEW OF MINIVEND
The Vend Concept
A typical user session
How MiniVend Manages Sessions
Page Delivery
DISTRIBUTION AND SUPPORT INFORMATION
Where to Download MiniVend
Perl
Setup for HTTP Servers
UNIX-domain sockets
INET-domain sockets
Internal HTTP server
QUICK START
The Catalog
makecat -- set up a catalog from a template
Setting up multiple catalogs
If something goes wrong
SETTING UP YOUR CATALOG
Start with a database
On-the-fly pages, static, or both?
Use the demo catalogs
Tree design
The Essentials
Catalog Pages -- MiniVend tags
Cookies
Basic MiniVend Tags
[area ...]
How to order an item
Where do I go from here?
DATABASES
The Product Database
Arbitrary Databases
MiniVend built-in database support
Character usage restrictions
Import Attributes
Dictionary indexing with INDEX
MEMORY for memory-only databases
IMPORT_ONCE
Importing in a page
Exporting from a database
Write Control
Global Databases
SQL SUPPORT
Msql support
SQL support via DBI
SQL Access Methods
Importing from an ASCII file
MINIVEND TAG REFERENCE
New and Old Style tags
DATA and FIELD
SET and SCRATCH
DEFAULT and LOOKUP
LOOP and TAG EACH
IF
TAG -- the catch all
User-defined Tags
PRICE, DESCRIPTION, ACCESSORIES
FILE and INCLUDE
BODY, BUTTONBAR, RANDOM, ROTATE
Tags for summarizing shopping basket/cart
Item Lists
Embedded Perl Code
On-the-fly Catalog Pages
Tags for controlling old syntax interpolation order
Required Pages
Checking Page HTML
FORMS AND MINIVEND
Special Form Fields
Form Actions
One-click Multiple Variables
Checks and Selections
Integrated Image Maps
Setting Form Security
Stacking Variables on the Form
Extended Value Access and File Upload
Updating MiniVend database tables with a form
THE SEARCH ENGINE
The Search Form
Glimpse
Fast Binary Search
Coordinated and joined searching
Specifying a text-based search with SQL-like syntax
Range Searching
SQL searches
One-click searches
Setting display options with mv_value
In-page searches
Search Profiles
Search Reference
The Results Page
Updating session variables after a search
Using a Search Cache
THE ORDER PROCESS
How to set up an order link
How to set up an order button
Order Groups
Basket display
Multiple Shopping Carts
Advanced Multi-level Order Pages
Simple Order Report File
Fully-configurable Order Reports
Order Receipts
The Order Counter
Customer Input Fields
PRODUCT PRICING
Simple pricing
Price Maintenance with CommonAdjust
CommonAdjust Examples
PriceBreaks, discounts, and PriceAdjustment
Item Attributes
Product Discounts
Sales Tax
Using CyberCash
CyberCash 3.2
SORTING
SHIPPING
Default Shipping Mode
Shipping Cost Database
Shipping Calculation modes
How shipping is calculated
More on UPS-style lookup
Geographic qualification
Handling charges
USER DATABASE
The [userdb ...] tag
Setting defaults with the UserDB directive
User Database functions
Address Book
Accounts Book
Preferences
Carts
Controlling page access with UserDB
TRACKING AND BACKEND ORDER ENTRY
Easy ASCII Tracking
Database Tracking
Custom Order Routing
MINIVEND SECURITY
SSL support
Administrative Pages
Controlling access to certain pages
CONTROLLING PAGE APPEARANCE
Body and Buttonbar Control
Random Banners
Rotating Banners
In-line Help
STATIC PAGE BUILDING
INTERNATIONALIZATION
Setting the locale
MiniVend Locale Settings
Special Locale keys for price representation
Dynamic locale directive changes
Sorting based on Locale
Placing Locale information in a Database
MINIVEND CONFIGURATION FILES
MINIVEND.CFG
AdminSub
AdminUser
AllowGlobal
Catalog
DisplayErrors
DomainTail
Environment
FullUrl
GlobalSub
HammerLock
HouseKeeping
IpHead
LockoutCommand
MaxServers
NoAbsolute
PIDcheck
SafeSignals
SafeUntrap
SendMailProgram
SubCatalog
TcpHost
TcpMap
TcpPort
TolerateGet
UserTag
Variable
CATALOG.CFG
VendURL
MailOrderTo
Optional Configuration Directives
ActionMap
AdminDatabase
AdminPage
AlwaysSecure
AsciiBackend
AsciiTrack
BackendOrder
ScratchDir
SearchCache
SearchFrame
SearchProfile
SecureURL
SendMailProgram
SeparateItems
SessionDatabase
SessionExpire
SessionLockFile
ButtonBars
Shipping
SpecialPage
Static
StaticAll
StaticDepth
StaticDir
StaticFly
StaticPage
StaticPath
StaticPattern
CheckoutFrame
StaticSuffix
Sub
SubArgs
TaxShipping
Tracking
TransparentItem
UpsZoneFile
UseCode
UseModifier
Variable
CheckoutPage
VariableDatabase
ClearCache
CollectData
CommonAdjust
ConfigDir
CookieDomain
CookieLogin
Cookies
CreditCardAuto
CustomShipping
CyberCash
DataDir
Database
DefaultShipping
Delimiter
DescriptionField
DisplayErrors
DynamicData
EncryptProgram
ErrorFile
ExtraSecure
FieldDelimiter
FinishOrder
FormIgnore
FractionalItems
FrameFlyPage
FrameLinkDir
FrameOrderPage
FrameSearchPage
FramesDefault
Glimpse
Help
ImageAlias
ImageDir
ImageDirInternal
ImageDirSecure
ItemLinkDir
ItemLinkValue
Locale
LocaleDatabase
LogFile
MasterHost
MixMatch
MsqlDB
Mv_AlinkColor
Mv_Background
Mv_BgColor
Mv_LinkColor
Mv_TextColor
Mv_VlinkColor
NewEscape
NewReport
NewTags
NoCache
NoImport
NonTaxableField
OfflineDir
OldShipping
OrderCounter
OrderFrame
OrderLineLimit
OrderProfile
OrderReport
PageCache
PageDir
PGP
PageSelectField
ParseVariables
Password
PriceAdjustment
PriceBreaks
PriceCommas
PriceDivide
PriceField
ProductDir
ProductFiles
Random
ReadPermission and WritePermission
ReceiptPage
RecordDelimiter
RemoteUser
ReportIgnore
RequiredFields
RobotLimit
Rotate
SalesTax
SaveExpire
ADMINISTERING MINIVEND
Starting, Stopping, and Re-starting the Servers
UNIX and INET modes
User reconfiguration
Making the Product Database
Updating Individual Records
Expiring Sessions
DEBUGGING
MANUAL INSTALLATION OF CATALOGS
Needed Directories
The Demo Systems
Setting up VLINK and TLINK
Compiling VLINK and TLINK
AUTHOR
ACKNOWLEDGEMENTS