Solutions : Site Management : Parameter List Utility
Parameter List Utility
Description
Parameter List Utility creates generic data input files used by various web retail portals for inclusion of a website's product offerings. Output of Parameter List Utility is uploaded to the web portal service's server for integration into their product listings. The Item Information Dataset (IID) and Parameter List Utility's output Template is used to create this product's output file. Originally created to support Inktomi's web portal service, Parameter List Utility's output Template is customizable to meet the formats of most web portal service. This product may also be used to generate data migration files from the IID.
Parameter List Utility is supported by configurations using either the flat file IID or SQL RDBMS data sources.
Web Server Requirements:
- Operating Systems Supported: Unix, Linux, Macintosh OS X® and Windows®
- HTTP 1.x with CGI (Common Gateway Interface) PERL 5.x (check with your ISP or Server Administrator; this requirement is typically supported on most systems)
- Optional: SENDMAIL (supported on most all Unix/Linux platforms), or PERL NET:SMTP (available from CPAN) (commonly used on Windows® server platforms) with an SMTP system pre-installed and configured. This optional requirement supports automatic email notification to the webmaster when execution errors are detected.
- Optional: For configurations using an RDBMS (Relational Database Management System) data source requires a supported RDBMS, the PERL DBI module and the RDBMS specific DBD module to be previously installed and configured
Parameter List Utility
Installation and Usage
FILENAME: pl.html
PURPOSE: Describes Parameter List Utility dependencies, requirements, installation and usage.
DEPENDENCIES:
cm.pl - Configuration Management configuration and common logic modules (see: cm.html)
jhzcs.pl - JHZ-CS configuration and common logic modules (see: jhzcs.html)
IID (Item Information Dataset)
REQUIREMENTS:
Logic Modules
pl.cgi - logic module
db_tabs.pl - data mapping (required only for SQL RDBMS data source usage)
Output Template
embedded within pl.cgi
PACKING (PARTS) LIST
| PACKING LIST PRODUCT ID: PL |
|||
|---|---|---|---|
| COMPONENT | TYPE | SIZE | AUTH* |
| cgi-bin/cm/cm.incl | TEXT | 5198 | 700 |
| cgi-bin/cm/cm.pl | TEXT | 1399 | 750 |
| cgi-bin/cm/pl/pl.cgi | TEXT | 7346 | 750 |
| cgi-bin/cm/pl/pl.incl | TEXT | 13845 | 700 |
| cgi-bin/geog.pl | TEXT | 11750 | 750 |
| cgi-bin/jhzcs.pl | TEXT | 47225 | 750 |
| cgi-bin/license.incl | TEXT | 7565 | 700 |
| images/JHZCS.gif | BINARY | 745 | 750 |
| logs/errorlog.txt | TEXT | 91 | 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 |
|||
INSTALLATION:
It is strongly recommended that you read the entire installation process steps prior to performing any installations. Each solution has specific instruction that must be followed precisely.
The Installation Process
The installation process follows this order:
- Download solution to PC development platform and expand installation package (use any standard archive application such as WinZip®, StuffIt Expander® or TAR command)
- Modify configuration settings
- Upload to server
- Set access authorization permissions
- Test
- Customize Templates
- Test
Modify Logic Components
Modify all logic components "*.cgi" and "*.pl" logic modules as follows:
- first line of code (#!) correctly points to the PERL executable on the server (use command "which perl" or consult your server administrator)
- all "requires" statements contained in all "*.cgi" and "*.pl" logic modules must use absolute directory paths (beginning with a forward slash "/")
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:
PRODUCTURL="/cgi-bin/pg/i.cgi?i=<<item_id>>" BUYURL="/cgi-bin/ec/sc/add.cgi?Item=<<item_id>>"
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";
<MERCHANT
NAME="<<NAME>>"
HOMEURL="<<HOMEURL>>"
DATE="<<DATE>>"
EMAIL="<<EMAIL>>"
STORETYPE="<<STORETYPE>>"
/>
END
$PL_merchant{NAME} = "Company Name"; # change to your Company Name
$PL_merchant{HOMEURL} = "http://www.domainname.com/"; # change to your home page URL
$PL_merchant{TIMEZONE} = "PDT"; # change to your Time Zone
$PL_merchant{EMAIL} = "info\@domainname.com"; # 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";
<LISTING
CATEGORY="<<inktomi_category>>"
PRODUCTNAME="<<item_manufacture>>, <<item_id>> (<<subcategory>>)"
PRICE="<<item_price>>"
PRODUCTURL="/cgi-bin/banner/interceptor.cgi?userid=1000001&display=/cgi-bin/pg/i.cgi?i=<<item_id>>"
BUYURL="/cgi-bin/banner/interceptor.cgi?userid=1000001&display=/cgi-bin/ec/sc/add.cgi?Item=<<item_id>>"
SHIPPINGINFO="Flat \$4.50 Online"
SKU="<<item_id>>"
PRODUCTID="<<item_id>>"
IMAGEURL="http://www.domainname.com/<<item_image_sm>>"
DESCRIPTION="<<item_description>>"
BRAND="<<item_manufacture>>"
AVAILABILITY="yes"
/>
END
#---------------------------------------------------------------------
#
# END CONFIGURATION SECTION
#
############################################################
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.
TEMPLATES:
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 installed and successfully configured. All components, with the excpetion of images, must be FTP uploaded as TEXT. Images must be FTP uploaded as BINARY.
USAGE:
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.
FAQs
Can I modify Parameter List Utility to create multiple files supporting different web portal services?
Yes. Make a new copy of "pl.cgi" and modify it to generate the desired output.
Can I modify Parameter List Utility to create XML data files?
Yes. Modify the "pl.cgi" module's "$PL_listing_rec_layout" structure to achieve the desire XML format. After generating the new PL file you will want to remove the first record (Merchant Record) generated, then rename the file with a filename extension of ".xml". (Note: You may make multiple copies of the "pl.cgi" module to perform various formats. This is a permitted exception to the JHZ-CS Software License Agreement terms and conditions.)
Do I upload and download the output of Parameter List Utility as Text or Binary?
Use Text for both uploading and downloading the PL output files.
JHZ-CS Solutions are distributed exclusively under terms and conditions of the JHZ-CS Software License Agreement.
