Since 1994
Application Systems Design and Development Services
Ready-made Fully Customizable Solutions

Solutions: Config Management : Parameter List Util: Install & Use


Description - Installation & Use - FAQs

Parameter List Utility - Installation and Use

FILENAME: PL-ReadMe.html

PURPOSE: Describes Parameter List Utility dependencies, requirements, installation and use.

DEPENDENCIES: - Configuration Management configuration and common logic modules (see: cm.html) - JHZ-CS configuration and common logic modules (see: jhzcs.html)
IID (Item Information Dataset)


Logic Modules

pl.cgi - logic module - data mapping (required only for SQL RDBMS data source usage)

Output Template

embedded within pl.cgi


.jhz-cs/.perl/solutions/cm/ TEXT 1589 750
.jhz-cs/.perl/solutions/cm/pl/ TEXT 6951 750
.jhz-cs/.perl/solutions/ TEXT 11609 750
.jhz-cs/.perl/solutions/ TEXT 34046 750
.jhz-cs/logs/solutions/errorlog.txt TEXT 91 750
public_html/Templates/solutions/cm/cm.incl TEXT 4848 700
public_html/Templates/solutions/cm/pl/pl.incl TEXT 13754 700
public_html/Templates/solutions/license.incl TEXT 7904 700
public_html/cgi-bin/solutions/cm/pl/pl.cgi TEXT 997 750
public_html/images/solutions/JHZCS.gif BINARY 745 750
*AUTH - Authorization/permissions octal equilvalents where:
7=RWX, 6=RW, 5=RX, 4=R (R=Read W=Write X=Executable)
1 char indicates Octal number
2 char Owner
3 char Group
4 char All Others


It is recommended that you read the entire installation process steps prior to performing installation. Each solution has specific instructions.

Installation Sequence

  1. Download solution to desktop
  2. Expand installation package (use any standard archive application; such as WinZip®, StuffIt Expander® or TAR command)
  3. Set configuration settings
  4. Upload components to server
  5. Set file permissions
  6. Test installation
  7. Customize Templates as desired
  8. Test customizations

Authorize non-Logic Components

  • Authorize graphic files for Read and Execute access; see "NOTE FOR NON-LOGIC COMPONENTS" below.
  • Authorize static HTML ".html" files for Read access; see "NOTE FOR NON-LOGIC COMPONENTS" below.
  • Authorize HTML Templates ".htm" files for Read access; see "NOTE FOR LOGIC COMPONENTS" below.

NOTE FOR NON-LOGIC COMPONENTS: Specify minimum required access permissions to achieve a more secure configuration; permission requirements for non-logic modules are dependent on server configuration where authorizations are required for either "group" only or for "owner", "group" and "other".

Modify Logic Components

Modify all logic components "*.cgi" and "*.pl" logic modules as follows:

  • First line of code (#!) correctly points to the PERL executable binary on the server (use command "which perl" or consult your server administrator)
  • All PERL "requires" statements contained in "*.cgi" and "*.pl" logic modules must use "absolute" directory paths (beginning with a forward slash "/")

Authorize Logic Components

Authorize logic components and dependent components (HTML and Email templates, and others) as follows:

  • Authorize "*.pl" logic modules for read access; see NOTE FOR LOGIC COMPONENTS below.
  • Authorize "*.cgi" logic modules for read and execute access; see NOTE FOR LOGIC COMPONENTS below.
  • Authorize all HTML and Email Templates documents for read access at the logic level; see NOTE FOR LOGIC COMPONENTS below.

NOTE FOR LOGIC COMPONENTS: Use minimum required permissions to achieve a more secure configuration; permission requirements for logic modules are dependent on the server configuration whether authorization is required for "owner" only (i.e., Apache with SUExec active), or "owner" and "group."

Set Configuration variables assigned values in pl.cgi; see instruction contained in that module (see "Code Excerpt" below):

  • $use_database (use SQL RDBMS data source?)
  • $PL_file_dir (output subdirectory)
  • $PL_filename (output filename)
  • $PL_prod_data_col (item ID or portal item ID data column name)

Change Merchant record variable assigned values in pl.cgi; see instruction contained in that module (see "Code Excerpt" below):

  • $PL_merchant{NAME}
  • $PL_merchant{HOMEURL}
  • $PL_merchant{TIMEZONE}
  • $PL_merchant{EMAIL}
  • $PL_merchant{STORETYPE}

Set PL LISTING Record Layout in pl.cgi; see instruction contained in that module (see "Code Excerpt" below):

  • XXX
  • XXX
  • XXX

NOTE: The default PL LISTING Record Layout contained in pl.cgi is formatted to support use of JHZ-CS Banner Affiliate System for "PRODUCTURL" and "BUYURL" URL link handling. To use JHZ-CS "Item Detail" for "PRODUCTURL" and "Shopping Cart" remove the "/cgi-bin/banner/interceptor.cgi?userid=1000001&display=" portion from both PRODUCTURL and BUYURL resulting in:



Code Excerpt

$PL_file_dir        = $site_root."PL/";
$PL_filename        = "domain-name.pml";    #    change to your domain
$PL_prod_data_col    = "inktomi_category";

#    PL MERCHANT record layout and values

$PL_merchant_rec_layout    =<<"END";
$PL_merchant{NAME}       = "Company Name";               #    change to your Company Name
$PL_merchant{HOMEURL}    = ""; #    change to your home page URL
$PL_merchant{TIMEZONE}   = "PDT";                        #    change to your Time Zone
$PL_merchant{EMAIL}      = "info\";       #    change to your contact e-mail address
$PL_merchant{STORETYPE}  = "ONLINESTORE";                #    change to your store type
$PL_merchant{DATE}       = localtime();

#    PL LISTING Record Layout -
#    Values are from IID i.dat
#    To add a new PL LISTING Record Tag, add another line of code
#    between "<LISTING " and "/>" in the format:
#                "TagName=\"<<product_col>>\" ".
#        Where:
#            "TagName" is the new Tag
#            "product_col" is one or more data column names
#                each wrapped in "<<" and ">>"
#        To specify a literal as opposed to a column name,
#            insert in place of "<<product_col>>"
#        To specify a combination of literals and column name(s)
#            put the literals outside of the <<...>>
#        NOTE:    Values are wrapped in quotes and must be
#                protected with a black slash "\".  Quotes within
#                values must be specified as \"
$PL_listing_rec_layout    =<<"END";
    PRODUCTNAME="<<item_manufacture>>, <<item_id>> (<<subcategory>>)"
    SHIPPINGINFO="Flat \$4.50 Online"


NOTE: Most FTP applications support automatic creation of directories and subdirectories when uploading a directory. Using that technique can assist in speeding up the installation process; however, assure common (shared) modules are fully configured to avoid overwriting a previously configured module.


Customize embedded templates for content and format as desired.

  • $PL_merchant_rec_layout (merchant header record)
  • $PL_listing_rec_layout (item record)

Any variable contained in the IID may be referenced using the variables (column header name) wrapped in less than greater than pairs. The variable name cannot contain spaces.

Uploading to Web Server

All dependent and required components must be successfully installed and configured. All components, with the exception of images, must be FTP uploaded as TEXT. Images must be FTP uploaded as BINARY.


This is a back end administration utility invoked via the URL that points to it. The default install location would point to "http://yourdomain/cgi-bin/cm/pl/pl.cgi" where "yourdomain" would be replaced accordingly.

JHZ-CS Solutions are offered exclusively under the terms and conditions of the JHZ-CS Software License Agreement.