James H. Zisch - Computer Services

Solutions : Page Generators : Category List

 

Category List

PRICE:  $249.99 (subject to change without notice)

Description
Requirements
Usage
FAQs

Description

Category List generates lists of items belonging to categories defined in the Item Information Dataset (IID). Each time it's invoked a new page is generated using the most current templates and data. Templates are fully customizable.

For online stores/catalogs, where "items" are typically products, "Category List" provides as "Department Item Lists". For other types of businesses, "Category" relates to any logical grouping of items; such as in the Real Estate business, items would be property listings, or "Category" could relate to counties, cities or any other aspects used to organize presentation of the items.

Regardless of the business or industry, Category List provides a top level logical grouping of items with its complement Subcategory List serving to provide a second level logical grouping.

Invocation

Supported by both GET and POST methods. Input is a valid Category parameter name value pair. Links to Category List are automatically generated by reference with appropriate input parameters by the various JHZ-CS Page Generator Solutions.

Results

Resulting items are grouped by subcategory, sorted alphabetically and formatted using a fully customizable template. Template processing automatically generates links and controls supporting:

Template processing includes subcategories with named anchor links listed at the top of the page pointing each subcategory group for user click-down. Subcategories group titles are linked to Subcategory List when installed; shown as "view by manufacture" in the illustration above.

Exception Handling

Exception processing provides handling of invalid category values being passed as input. When this occurs the "Category Not Found Template" is used generating a list of all valid categories linked to Category List; along with their respective subcategories linked to Subcategory List when it is installed.

 

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

Category List
Installation and Usage

FILENAME: c.html

PURPOSE:

Describes installation and use of Category List.

DEPENDENCIES:

pg.pl - Page Generators configuration and common logic modules (see: pg.html)
jhzcs.pl - JHZ-CS configuration and common logic modules (see: jhzcs.html)
IID (Item Information Dataset)

REQUIREMENTS:

c.cgi (web interface component)
c.htm (template)
c_nf.htm (not found handling template)

Optional:

Support for Item Compare, Text Search and Banner Rotator System requires those components to be installed and configured according to their specifications. Inclusion of Special Template markup supporting those components must also be included within the templates supported by this product.

PACKING (PARTS) LIST

PACKING LIST
PRODUCT ID: CL
COMPONENT TYPE SIZE AUTH*
cgi-bin/dbmtabs/dbmparms.txt TEXT 1501 750
cgi-bin/dbmtabs/dbmtabs.incl TEXT 1970 700
cgi-bin/dbmtabs/dbmtabs.pl TEXT 1998 750
cgi-bin/geog.pl TEXT 11750 750
cgi-bin/jhzcs.pl TEXT 47225 750
cgi-bin/license.incl TEXT 7565 700
cgi-bin/pg/c.cgi TEXT 12472 750
cgi-bin/pg/c.incl TEXT 13036 700
cgi-bin/pg/pg.pl TEXT 13315 750
css/pg/pg.css TEXT 3008 750
data/IID/c.dat TEXT 15117 700
data/IID/i.dat TEXT 2584820 700
data/IID/m.dat TEXT 15181 700
images/JHZCS.gif BINARY 745 750
logs/errorlog.txt TEXT 91 750
tmpls/pg/c.htm TEXT 5313 750
tmpls/pg/c_nf.htm TEXT 3590 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:

  1. Download solution to PC development platform and expand installation package (use any standard archive application such as WinZip®, StuffIt Expander® or TAR command)
  2. Modify configuration settings
  3. Upload to server
  4. Set access authorization permissions
  5. Test
  6. Customize Templates
  7. Test

Authorize non-Logic Components

Authorize non-logic components as follows:

  • authorized all images for read and execute access; see NOTE FOR NON-LOGIC COMPONENTS below
  • authorized all static HTML ".html" documents for read access; see NOTE FOR NON-LOGIC COMPONENTS below
  • authorized all HTML Templates ".htm" documents for read access at the logic level; see NOTE FOR LOGIC COMPONENTS below
  • authorized all images for read and execute access; see NOTE FOR NON-LOGIC COMPONENTS below.

NOTE FOR NON-LOGIC COMPONENTS: Use the minimum required permissions to achieve most secure configuration; permission requirements for non-logic modules are dependent on the server configuration whether authorization is required for group only or for both 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 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 "/")

Authorize Logic Components

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

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

NOTE FOR LOGIC COMPONENTS: Use the minimum required permissions to achieve most 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 for both owner and group.

TEMPLATES:

Customize templates for content and appearance as desired:

c.htm
c_nf.htm

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.

Two special keywords are available for use when using a variable reference within web page anchor names, anchor references and CGI URL parameters. This allows use of referenced variables that equate to an item values containing spaces. The use of these special keywords causes spaces to be translated or escaped using the required character sequences.

The special keywords are:

	ANCHOR
	PARAM 
	

EXAMPLE:

	c.cgi?c=<<category PARAM>> 
	
	<a href="#<<category ANCHOR>>">
	<a name="<<category ANCHOR>>"> 
	

Special mark-up within Category List (Found) and Category List (Not Found) Templates must respect group order sequence to support nested repeating groups. Indentation illustrates nesting relationships:

	<!-- Page Header End --> 
	<!-- Categories List Header Start --> 
	<!-- Categories List Header End --> 
	<!-- Categories Repeat Line Start --> 
	<!-- Categories Repeat Line End --> 
	<!-- Categories List Footer Start --> 
	<!-- Categories List Footer End --> 
	<!-- Cat Group Start --> 
		<!-- Cat Header Start --> 
		<!-- Cat Header End --> 
		<!-- Cat Entry Start --> 
		<!-- Cat Entry End --> 
	<!-- Cat Group End --> 
	<!-- Page Footer Start --> 
	

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.

TEST:

Test installation and configuration by invoking c.cgi from a web browser.

Enter the URL to c.cgi with parameters; see example in USAGE section below.

  1. Test passing a valid parameters

  2. Test passing an invalid parameters and verify installation and configuration is correct.

For initial installation test each possible valid category value.

Add hyperlinks to Category List to static pages and dynamic page templates as desired including the appropriate parameter and value to yield the desired results.

USAGE:

Following successful installation and satisfaction of dependencies and requirements, "c.cgi" should be invoked via the GET method passing a valid item category name value pair as input using the name "c".

EXAMPLE:

c.cgi (invokes not found process, listing all categories formatted using the not found template)

	c.cgi?c=x 
	

where "x" equals a valid category value contained within the IID (Item Information Dataset).

FAQs

Does Category List provide a departmental listing of items?

Yes. This is the purpose of the definition of item categories and their use. Category List provides dynamic generation of item lists for the category passed to it providing a Department item list.

Why is the "category" IID data column called "department" instead of category?

Category List may be used to generate list of items not necessarily related to a "department". For instance, for a Real Estate agent or broker, category could be used to "categorize" MLS property listings by county or city.

Is Subcategory List required in order to use Category List?

No. If you do not intend to use Subcategory List, modify the Category List templates to no longer refer to links to Subcategory List.

Do I need to have Item Detail installed to use Category List?

No. Modify the template to refer to an IID data column where you define the URL to the static page containing the item detail information.

Can I dynamically generate hyperlink anchor "title" parameters with Category List?

Yes. Modify the Category List templates to include the "title='value'" parameter. Then, in the place of "value", specify the markup variable used during replacement process; such as "<<item_name>>" (refer to your IID for data column name). You might also want to add generic text to the title parameter; i.e.,
"<a ... title='Click to goto the <<item_name>> detail page'...>".

NOTE: You can use the same technique to generate hyperlink anchor "onmouseover" actions, META Descriptions and keywords. Simply refer to existing IID data columns or create new ones as desired.

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