The Vend Concept

### Index Up >>

## The Vend Concept

MiniVend is a descendent of Vend, originally developed by Andrew Wilcox in 1995. Though the original Vend was much simpler than MiniVend in implementation, the basic concept remains unchanged. Quite simply, MiniVend maintains its own set of pages, outside of regular HTML space, which contain special tags that are interpreted by MiniVend.

The tags, which are in `[square brackets]`, are interpreted by MiniVend and many different values can be substituted. Some examples are:

User form input
  MiniVend remembers input by a user from form to form, and the value of any form variable is ``remembered'' and inserted upon finding a `[value input_field]` tag. The `input_field` is a normal HTML form field.

Database contents
  MiniVend can have an unlimited number of attached databases, either in one of its own internal formats or attached via SQL/ODBC. The contents of a database can be referenced with tags like `[data table=products column=name key=334-12]` or `[query sql="select * from products where category = 'Clothing'"]`.

Session parameters
  Things like where the user originally found your catalog `[data session referer]`), domain they are from (`[data session host]`), source of hit in a partner program (`[data session source]`), the time of their last access (`[data session time]`), and many other parameters.

Embedded Perl ala ASP
  MiniVend has a powerful object system that allows direct access to Perl and external programs. There is an ASP-like syntax which can be used, or the traditional MiniVend tag approach can be employed.

File contents or program output
  You can insert the contents of an outboard file with `[file directory/file]` or `[include directory/file]`, or the output from an arbitrary program (given proper permission from your administrator!).

Searches of files
  MiniVend supports different search engines, including Glimpse, or you can make your own SQL database queries and have MiniVend process the output for you.

There are over 80 different distinct tags supporting hundreds of functions. In addition, the user can easily implement tags fully as powerful as the standard tags.

### Index Up >>