AutoModifier

Sets an attribute in a shopping cart entry to the field of the same name in the ProductsFile pertaining to this item.

This is useful when doing shipping calculations or other embedded Perl that is based on item attributes. To set whether an item is defined as "heavy" and requires truck shipment, you can do:

AutoModifier  heavy

When an item is added to the shopping cart using MiniVend's routines, the heavy attribute will be set to the value of the heavy field in the products database. In the default demo that would be products; any changes to ProductFiles would affect that, of course.

* Syslog error logging (global only) is supported via the global SysLog directive.

  	Syslog  command  /usr/bin/logger
  	Syslog  tag      mv1
  	Syslog  alert    local3.warn
  	Syslog  warn     local3.info
  	Syslog  info     local3.info

  This would cause global errors to be logged with the command:

		/usr/bin/logger -t mv1 -p local3.alert

  and cause system log entries something like:

	Oct 26 17:30:11 bill mv1: Config 'co' at server startup 
	Oct 26 17:30:11 bill mv1: Config 'homefn' at server startup 
	Oct 26 17:30:11 bill mv1: Config 'simple' at server startup 
	Oct 26 17:30:11 bill mv1: Config 'test' at server startup 
	Oct 26 17:30:13 bill mv1: START server (2345) (INET and UNIX) 

  This facility is alpha and is subject to change. Of course you can
  wrap your own wrapper around it to get it to behave how you want.

* Added Scratch variable mv_data_enable to gate the update_data function; prior to this it was possible to update a database willy-nilly.

* Many bug fixes, of course. Notably [and ...] and [or ..] were broken in some cases.

* "Message" directive allows you to display messages at startup, both global and catalog.

REMOVAL

Many things were removed as redundant, deprecated, or just plain crufty:

* All frame features removed, frames are managed by the user in HTML.

* Tags removed:

buttonbar Replace with Variable. random Replace with [ad random=1] or custom code rotate Replace with [ad ...] help No replacement body Replace with templates finish_order No replacement last_page No replacement item-link No replacement, just use [page [item-code]] loop-link No replacement, just use [page [loop-code]] sql-link No replacement, just use [page [sql-code]] accessories Replace with normal data functions

* Compatibility routines for many popular tags like [random], [rotate], etc. are provided in the compat/ directory. To use, include the files in minivend.cfg:

#include compat/*

* Directives removed:

ActionMap
AdminDatabase
AdminPage
AsciiBackend
BackendOrder
ButtonBars
CheckoutFrame
CheckoutPage
CollectData
DataDir
Delimiter
DescriptionTrim
FieldDelimiter
FrameFlyPage
FrameLinkDir
FrameOrderPage
FrameSearchPage
ItemLinkDir
ItemLinkValue
MsqlDB
MsqlProducts
Mv_AlinkColor
Mv_Background
Mv_BgColor
Mv_LinkColor
Mv_TextColor
Mv_VlinkColor
NewReport
NewTags
OldShipping
OrderFrame
PageCache
PriceDatabase
Random
ReceiptPage
RecordDelimiter
ReportIgnore
Rotate
SearchFrame
SearchOverMsg
SecureOrderMsg
SpecialFile
SubArgs
Tracking

* Minor operations removed:

- auto-substitution of mp= on [loop search=profile],
  [search-region arg=profile]
- [tag scan]...
- [tag sql]...

Many of these are related to one of:

* Removal of frames logic
* Removed tags
* Obsolete methods
* Old routines for 2.0x compatibility

---------------------------- UPGRADING from MiniVend 3

Form Data updates:

* Added Scratch variable mv_data_enable to gate the update_data 
  function; prior to this it was possible to update a database
  willy-nilly. Do:

		[set update_database]
		[if type=data term="userdb::trusted::[data session username]"]
			[set mv_data_enable]1[/set]
		[else]
			[set mv_data_enable]0[/set]
		[/else]
		[/if]
		[/set]
		<INPUT TYPE=hidden NAME=mv_click VALUE=update_database>