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.

DocBook! Interchange!