Interchange Guides: Database and Field Descriptions

Stefan Hornburg

This documentation is free; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Abstract

The purpose of this document is to list all pre-defined databases used by Interchange, describe their purpose and describe all their fields.


Table of Contents

The "Products" Database
User Database

The "Products" Database

The products databases contain items that you are offering in your web shop or web catalog.

The initial database text source file, products.txt, is usually in an ASCII, tab delimited format. Each product listed there should be given a product code, usually referred to as SKU — a short code that identifies the product on the ordering page and in the catalog. So the products database must contain at least the product SKU (code), description and price fileds (or however the PriceField and DescriptionField directives have been set). All other information needed in the catalog can be placed in additional, arbitrary fields within the same table.

The field names must be declared on the first line of the products.txt file. Accesses from your Interchange pages to any other fields within the table will, of course, not execute properly. Field names can contain the characters A-Za-z0-9 and an underscore (_).

It is important to adjust the PriceField and DescriptionField directives if you change the default field names, or Interchange tags such as price, description, item-price or item-description will not work.

For each product entry in the text source file, the product code must be the first field in the line, and must be unique. Product codes can contain the characters A-Za-z0-9, along with hyphens (-), underscores (_), pound signs/hash marks (#), slashes (/) and periods (.). Note that slashes will interfere with flypages; avoid them where ever possible.

The columns in the text source files should be separated by one of the approved delimiting schemes (TAB, PIPE, or CSV). They are case-sensitive according to the underlying database — be consistent with field names to avoid trouble. If only the case of the description or price fields have been changed, PriceField and DescriptionField still have to be adjusted appropriately.

[Note]Note

CSV format is not recommended for the products database. It is much slower than TAB- or PIPE-delimited files, and dramatically reduces search engine functionality. No field-specific searches are possible. Using CSV for any small database that will not be searched is fine.

More than one database may be used as a products database. If the ProductFiles directive is set to a space-separated list of valid Interchange database identifiers, all listed databases will be searched (in the order specified) for any items that are ordered, or for product information (such as in [price code or [field code]).

If you are manually modifying databases on-the-fly, it is recommended that you lock the files while they are modified. Interchange-supplied import routines do this properly on their own.

User Database

DocBook!Interchange!