Zelerate AllCommerce 1.0.4 Documentation

3. Administration

The administrative functions of Zelerate AllCommerce have been divided into several administrative modules. This document explains the utilization of those administrative modules.

3.1 Overview of Critical Concepts

Virtually all of the administration information is stored in tables within the database. There are specific tables for some parameters, but much of the information is stored in general-purpose tables (e.g., "things" and "extraprop").

AllCommerce uses a variable-length objid (Object Identifier) to identify almost everything in the system. The objid generates a msku for each product and brand. A general rule is that msku's are used for human interaction and objids are used for other cases where a unique handle is required. objids must be globally unique.

msku values are unique on a per-product basis. The exception to the rule is that all variant products inherit their msku from the master product. Therefore, if the msku of a master product is xxxm0001, the msku's of the variant products are also xxxm0001 (e.g., master is pens, while variant products are red and blue pens).

Special purpose tables encode system states for "prices", "inventory", "zonemap", and "zonerate". The first two of these are self-explanatory, but the zone files require a bit of explanation.

The two zone files encode mappings for calculating interzone shipping charges. "zonemap" encodes the zones for each shipping method; "zonerate" encodes the shipper's pricing for each method.

The balance of the state data is maintained in general-purpose tables which encode virtually everything else in the system. The key tables are: "things" and "extraprop". "things" is used to encode every product used within AllCommerce, Web page, category, shipping method, and service used within AllCommerce. "extraprop" contains name/value pairs which supplement the attributes encoded within "things" (e.g., localization-specific fields).

The "linkage" table connects everything together. It defines relationships between "things," and is specifically responsible for encoding the entire navigational Web. A unique side-effect is that the hierarchical topology may be arbitrarily complex--any item may appear multiple times within the hierarchy by the simple addition of another link.

3.2 Browser-Based Administration

The advantages of Web-browser-based administration are numerous. The obvious advantage is allowing remote administration from just about any computer, anywhere in the world. Of course, using a Web browser eliminates platform differences.

Full security can be easily implemented by hosting the administration on one of the industry-standard SSL-enabled Web servers. The following are some links to various SSL-enabled Web servers. Apache-SSL (www.apache-ssl.org) is a good free package. Stronghold (www.c2.net) is a good commercial package.

You'll also need to provide your own digital certificates for your domain. Consult the documentation that accompanies your SSL web server for the most up-to-date information.

3.2.1 Getting into the Administrator

To access the AllCommerce Administrator, start up your favorite graphical Web browser and go to https://your.site.name/cgi-bin/om/admin/login.cgi. Enter your username and password. You will be taken to the main administration screen where you can select a particular administration module.

Please note: the default user name and password is:

username: admin
password: allcommerce

3.2.1.2 Specific Administrators

The following lists the specific administrators, their function, and how to use them to build your site.

3.2.1.2.1 Content

Content Manager is your main interface with AllCommerce for content and object creation. This document describes its use and functionality, and provides a glimpse of the internal AllCommerce data structure. This is described in the "Create a Brand" section below.

Note that the order in which Content Manager's functionalities are described in this document is not exactly the same as they appear on the main Content Manager page. The reason for this description difference is that you will probably want to create things in a different order than what is used on the main page.

For example, you will probably be creating brands first, then (if you need them) variants, and finally product lines or actual products. These functionalities are described in this usage sequence, since you will need to create a brand before you can create a product that is associated with it, and a variant axis before a product has variants.

Note: There is a known deficiency in the Administrator, that will be addressed in future releases. After creating or modifying a point and pressing the "Enter" button, you are returned to the home page of the Content Manager. If you press "Refresh" button on your browser, the Insertion of the point will be done again, creating two identical records, with the exception of an unique objid. If you have just modified the point, the update will again be performed.

3.2.1.2.1.1 Create a Brand

You will need to create brands before you can begin creating other objects, such as products. This is because you will need to associate a product with an existing brand during its (the product's) creation.

Creation of a brand is similar to product or Web page creation, although you may notice that there is less information that you need to enter. You can also decide whether or not to have a brand be a displayable object (Web page), with or without any number of its associated products. Brands are simply ways of grouping product objects with a common attribute value (the brand).

Internally, each brand will have a number of attribute fields associated with it. Most of these attributes are stored in the things table. The following is a list of attributes, associated with a brand object. While you would never see most of these, unless you dug around in your database, knowing about them will give you a better idea of how things in AllCommerce work.

When creating a brand, AllCommerce will assign it an "objid" (object id). This value is generated by incrementing the highest existing objid value that exists within the system. If you are creating a brand for the first time, and it is also the first object you have ever created in AllCommerce, the brand would have an objid of 1-AA.

The AA portion of the id is called the series. It can also increment when the numeric portion of the objid reaches a maximum value. Typically, this would be the largest integer value that is allowed in your database before it "rolls over". The next series value would be "AB".

Everything you create within AllCommerce has a unique objid. Thus, it is the primary reference key for all objects. A few other fields associated with objects like products and brands are: objtype, objclass, msku, title, sku_skel, and sku_series. This is not an exhaustive list, but it is sufficient for a general understanding. Note that sku_skel and sku_series are not stored in the things table, but rather in the extraprop table.

The objtype attribute field for brands is 47004-A. This is defined in the initial database load and is a reference to the objid for the brand class definition. A brand's objclass is 136-A, which is a reference to the content type class.

The msku field for a brand would be the three-letter code you enter when you create the brand. The msku field is followed by the single-character site_code value from site.conf, followed by 0000. Something like: "aaax0000", where aaa is the three-letter code and x is the site_code.

The sku_skel for a brand is just the three-letter code you enter, and the sku_series would be the same as the brand's objid. An example of the first object created is 1-AA.

The actual brand class exists as an os_allcommerce object. This brand class (os_allcommerce object) is entered into the database during the installation's initial data load. All brands you create are instantiations of a base class. In fact, anything you create in os_allcommerce is an instantiation of a base class.

The following is a list of the data fields that are displayed on the "Creation of a New Brand" administration page. Data fields that can be referenced from a page template are denoted with an asterisk (*). While this text describes use in HTML templates, any markup language for which you are generating content can map these values. Most of these text fields are designed as handy data fields for whatever use you wish to make of them. This feature is particularly useful for objects that will exist as displayable entities.

  • Generate Page?

    If you press the check box, the site display will be regenerated for the object id that you are modifying when you hit the Enter Changes button, The default value of this is stored in admin_sku.cgi, in the $generate_default variable. On download of the product, this is set to "not checked". If you wish to change the default to "checked", modify admin_sku.cgi, and change $generate_default to 1.

  • Title: *

    This is the field entry for the name of the object (e.g., page or product) that you are creating. It can be from 3 to 80 characters in length. Reference in an HTML template with "__title__".

  • SKU Code: *

    You can choose the first three letters that will make up the new brand's SKU. For example: if you are entering a new brand called Flosten Manufacturing, you could enter "flo" as the first three letters. Reference in an HTML template with "__sku_skel__".

    If "flo" is already taken, pick another code (e.g., "flm"), trying for something that will be memorable.

  • Brief: *

    A short (5 to 250 character) description of the object being created. Reference in an HTML template with "__brief__".

  • Keywords:

    Enter words that you can easily associate with the new object. This will allow you to perform a keyword search for this object when you need to reference it again for other administration functions. Note the text entry area "Search for Keyword" on the main content manager screen, the main inventory manager screen, and on the site search.cgi screens.

    These words describe the brand, and can be used in the "Search for Keyword" feature, that is usually located on the main screen of AllCommerce administration scripts. If Flosten Manufacturing made selenium rectifiers, you might enter "rectifiers" as a keyword when creating the Flosten brand.

    Note: If you enter more than one word during a search, those multiple words must appear in either the title, brief, or keyword fields in the object definition. For example, if you enter "the car" in the search field, you must have some text that looks like "the car" in the above-mentioned fields.

    In other words, "the car" would match "the car" and "the cart", but it will not match "car the" or "then car". The same words must appear in the same order as entered.

    Also note that, for variant products, the title is not searched in the Administrator. If you type in "Pens - red", and you have a master product "Pens" and a variant product for "Pens - red", it will not match. However, if you do type in "Pens" as your search string, AllCommerce will show the master product from which you can navigate to the variant products.

    On search.cgi, if you type "Pens", it will show "Pens" and "Pens - red". If you type "red", it will show "Pens - red". However, if you type "red pens" or "Pens - red", it will not match. Therefore, it is recommended that you use one word searches wherever possible. This word search issue will be addressed in the next release of the product. msku is also searched by the search.cgi script.

  • Status:

    Status is how you decide whether the object is currently active or inactive.

    Note: There is no way to delete an object within AllCommerce. To "remove" an object from your site, set it to "Inactive".

  • Render:

    Render is how you tell AllCommerce whether or not this is an item to be displayed on your site. Non-Display items are not generated by generate_site.pl and are not searched for in search.cgi.

    Note: For internal documents, be sure to set Render to "Non-Display"; otherwise, the document will be displayed on your site!

  • Page Style:

    Page Style is where you choose which pre-defined template to use for the object, if it is to be generated as a Web page (i.e., "Render" has been set to "Display").

    Assume that you are creating a page to display a product. You would have your template designed to contain a description of the product, its price, and any other data that would be pertinent to a product display page. You would choose that template from the page template pull-down menu when you create the page.

    For more information on templates, see "Template Creation and Customization" on the document "Customizing the Installation".

  • Weighting:

    Here you can give priority to products on a page (such as a search results page) that shows a number of products. The greater the value for the product, the closer to the top of the list it will appear. Equal values for multiple objects are resolved randomly.

When you are finished, click "Enter" to create the new object.

3.2.1.2.1.2 Create a Variant

Variants are variable attributes relative to objects you create. As an example, consider a pen that is the same in all ways (e.g., manufacturer, style, price), yet it comes in several ink colors and, perhaps, a variety of tip sizes. It would be tedious to have to enter the Content Manager and create a number of different pen objects, changing only one or two characteristics each time. This is where variants come into the picture.

If you know you have a pen that comes in a variety of colors and tip sizes, you would first create a Variant Axis for this pen line. Later, when you create the pen object itself, you can tell AllCommerce that this pen object has a number of possible variations (by listing the Variant Axis (or Axes) in the Variant Axis box on the Create a Product page.

  • Title: *

    This is the field entry for the name of the object (e.g., page or product) that you are creating. It can be from 3 to 80 characters in length. Reference in an HTML template with "__title__".

  • Author: *

    This is the creator of this variant.

  • Brief:

    A short (5 to 250 character) description of the object being created. Reference in an HTML template with "__brief__".

  • Items:

    This is where you list the actual variables for an object.

    For the line of pens example that you need to reference by color, you would list each color on a separate line, preceded by a designating letter and a colon:

       a:black
       b:blue
       c:red
    

Note: All of the AllCommerce templates are based on HTML table objects that expand in a width to fit the longest item. Specifically, a table column in which variant names are located will grow to the maximum length of the longest variant name. So, if you have extremely long variant names, the MMI will look crowded. Long variant names take up a lot of room, and leave less room for the rest of the display. Therefore, choose reasonably-sized text to represent your variant names.

When you create the actual pen object in the Content Manager, you will enter the objid for this variant in the Variant Axis field on the product-creation page.

You can create multiple Variant Axes for a product by entering them together when you create the object. In the pen example, you may also need to create tip-size variants with "fine", "med", and "wide" as possible tip attributes. These tip attributes would be a different variant than the pen color variant, and would be listed during the pen objects' creation.

Once you have created the variants you need for a particular product, the next step is to create the actual product; then you can instantiate the actual variations of the product.

3.2.1.2.1.3 Create a Product Line

This document section is where you begin to create objects that are used to group together any objects that you want rendered on one page. After you define this object, you would use the Merchandise Manager to link all individual objects onto this page.

Note: If you wish to show all items that are of a certain brand, you do not have to create a product line page. Merely choose a page style for brand and then add links for a brand object under the Merchandise Manager.

However, there are still times when you may want to group a number of objects together on a page, regardless of brand.

For example, you may want to group Computer Monitors on one page. You would create a product line for Computer Monitors, then link all computer monitor objects that you want to display on this page, regardless of brand. However, if you want to display all HP products, you could have a HP brand and use that brand page to link all HP products, including the HP monitor.

The following is a list of the datafields that display on the "Creation of a New Product Line" administration page. Datafields that can be referenced from a page template are denoted with an asterisk (*). While this text describes use in HTML templates, any markup language for which you are generating content can map these values. Most of these text fields are designed as handy data fields for whatever use you wish to make of them. This is particularly useful for objects that will exist as displayable entities.

  • Generate Page?

    If you press the check box, then when you hit the Enter Changes button, the site display will be regenerated for the object id that you are modifying. The default value of this is stored in admin_sku.cgi, in the $generate_default variable. On download of the product, this is set to "not checked". If you wish to change the default to "checked", modify admin_sku.cgi, and change $generate_default to 1.

  • Title: *

    The field entry for the name of the object (e.g., page or product) that you are creating. It can be from 3 to 80 characters in length. Reference in an HTML template with "__title__".

  • Brief: *

    A short (5 to 250 character) description of the object being created. Reference in an HTML template with "__brief__".

  • Description: *

    Description is a larger text area than Brief for describing the object. Description does not have a character limit. Description would be better named as Body or Contents, since this is a large text entry area that could be used for the main body of the product line. Reference in a page template with "__descript__".

  • Keywords:

    Enter one or more words that you can easily associate with the new object. This word association will allow you to perform a keyword search for this object when you need to reference it again for other administration functions. Take note of the text entry area "Search for Keyword" on the main Content Manager screen, the main Inventory Manager screen, and on the site search.cgi screens.

    Note: If you enter more than one word during a search, those multiple words must appear in either the title, brief, or keyword fields in the object definition. For example, if you enter "the car" in the search field, you must have some text that looks like "the car" in the above-mentioned fields.

    For example, "the car" would match "the car" and "the cart", but it will not match "car the" or "then car". The same words must appear in the same order as entered.

    Also note that for variant products, the title is not searched in Administrator. If you type in "Pens - red", and you have a master product "Pens" and a variant product for "Pens - red", it will not match. However, if you do type in "Pens" as your search string, AllCommerce will show the master product, from which you can navigate to the variant products.

    On search.cgi, if you type "Pens", it will show "Pens" and "Pens - red". If you type "red", it will show "Pens - red". However, if you type "red pens" or "Pens - red", it will not match. Therefore, it is recommended that you use one word searches wherever possible. This will be addressed in the next release of the product. msku is also searched by the search.cgi script.

  • Status:

    Status is how you decide whether the object is currently active or inactive.

    Note: There is no way to delete an object within AllCommerce. To "remove" an object from your site, set it to "Inactive".

  • Render:

    Render is how you tell AllCommerce whether or not this is currently an item to be displayed on your site. Non-Display items are not generated by generate_site.pl and are not searched for in search.cgi.

    Note: For an internal document, be sure to set Render to "Non-Display". Otherwise, the document will be displayed on your site!

  • Page Style:

    Page Style is where you choose which pre-defined template to use for the object if it is to be generated as a webpage (i.e., "Render" has been set to "Display").

    Assume that you are creating a page to display a product. You would have your own template, designed to contain a description of the product, its price, and any other data that would be pertinent to a product display page. You would choose that template from the page template pull-down menu when you create the page.

    For more information on templates, see "Template Creation and Customization" on the document "Customizing the Installation".

  • Weighting:

    Here you can give priority to products that are displayed in a page that shows a number of products, such as a search results page. The greater the value for the product, the closer to the top of the list it will appear. Equal values for multiple objects are resolved randomly.

When you are finished, click on "enter" to create the new object.

3.2.1.2.1.4 Create a Product

This is where you begin creating objects that are to be given attributes relevant for a product. All products need to be associated with a brand, so you need to create your product brands before beginning to create any products. Most of the basic data for a product is stored in the things table. However, some data is stored in the extraprop, linkage, and inventory tables as well.

The "Create a Product" page will also be used to create the actual Web pages for the product. Select the page template to use, near the bottom of the creation page.

  • Generate Page?

    If you press the check box, when you hit the Enter Changes button, the site display will be regenerated for the object id that you are modifying. The default value of this is stored in admin_sku.cgi, in the $generate_default variable. On download of the product, this is set to "not checked". If you wish to change the default to "checked", modify admin_sku.cgi and change $generate_default to 1.

  • Title: *

    This field entry is for the name of the object (e.g., page or product) that you are creating. It can be from 3 to 80 characters in length. Reference in an HTML template with "__title__".

  • Brand: *

    This is where you select the character part of the msku for your object that is derived from existing brands. Starting with the msku from the brand's definition entry (as in the brand-creation example above), all products are given a unique msku. This is incremented separately for each product, starting from the base brand's msku. From the above example, where the first brand's msku was aaax0000, the first product created under this brand would have an SKU of aaax0001.

  • Author: *

    This is the person creating this object, and should have their name referenced in an HTML template with "__author__".

  • Brief: *

    A short (5 to 250 character) description of the object being created. Reference in an HTML template with "__brief__".

  • Description: *

    Description is a larger text area than Brief for describing the object. It does not have a character limit. Description would be better named as Body or Contents since this is a large text entry area that could be used for the main body of the product. Reference the object description in a page template with "__descript__".

  • Variant Axis:

    You can associate any previously-defined variant axes with the object by entering the variant objid here. If you have more than one variant axis to associate with the product, enter multiple variant objids (separated by single colons), to a maximum of four. Later, you can instantiate the actual variants of the product via the variants link.

    If you configure this field, then the product that you are defining is referred to as a Master Product. All instances of the product with the variations based on the Variant Axis (or axes) are called variant products.

  • Keywords:

    Enter one or more words that you can easily associate with the new object. This will allow you to perform a keyword search for this object when you need to reference it again for other administration functions. Note the text entry area "Search for Keyword" on the main Content Manager screen, the main Inventory Manager screen, and on the site search.cgi screens.

    Note: If you enter more than one word during a search, those multiple words must appear in the same order as entered in either the title, brief, or keyword fields in the object definition. For example, if you enter "the car" in the search field, you must have some text that looks like "the car" in the above-mentioned fields.

    For example, "the car" would match "the car" and "the cart", but it will not match "car the" or "then car". The same words must appear in the same order as entered.

    Also note that, for variant products, the title is not searched in Administrator. If you type in "Pens - red", and you have a master product "Pens" and a variant product for "Pens - red", it will not match. However, if you do type in "Pens" as your search string, AllCommerce will show the master product, from which you can navigate to the variant products.

    On search.cgi, if you type "Pens", it will show "Pens" and "Pens - red". If you type "red", it will show "Pens - red". However, if you type "red pens" or "Pens - red", it will not match. Therefore, it is recommended that you use one word searches wherever possible. This will be addressed in the next release of the product. msku is also searched by the search.cgi script.

  • Status:

    Status is how you decide whether the object is currently active or inactive.

    Note: There is no way to delete an object within AllCommerce. To "remove" an object from your site, set it to "Inactive".

  • Render:

    Render is how you tell AllCommerce whether or not this is currently an item to be displayed on your site. Non-Display items are not generated by generate_site.pl and are not searched for in search.cgi.

    Note: For an internal document, be sure to set Render to "Non-Display". Otherwise, the document will be displayed on your site!

  • Stock Behavior:

    Describes how to treat the item or page, should its inventory count be zero.

  • Page Style:

    Here is where you choose which pre-defined template to use for the object, if it is to be generated as a webpage (i.e., "Render" has been set to "Display").

    Assume that you are creating a page to display a product. You would have your own template, designed to contain a description of the product, its price, and any other data that would be pertinent to a product display page. You would choose that template from the page template pull-down menu when you create the page.

    For more information on templates, see "Template Creation and Customization" on the document "Customizing the Installation".

  • Weighting:

    Here you can give priority to products that are displayed in a page that shows a number of products, such as a search results page. The greater the value for the product, the closer to the top of the list it will appear. Equal values for multiple objects are resolved randomly.

When you are finished, click "Enter" to create the new object. If this was a product to which you assigned one or more variants, then, after clicking "Enter", you would get the page that confirms the object's creation and shows its objid.

Click on a link called "Variants". It will get to the page where you can create the needed variant permutations of this product. Until this is done, you have really only created something like a new object class. That is, you have defined the possible states for this object, but no actual objects exist yet.

If you need to create more variations at a later time, you can enter the master product's objid in the search box on the main Content Manager page. You will get a display page that has links to "Variants" and to the Merchandise Manager. Click "Variants" to return to the variant creation page.

3.2.1.2.1.5 Create a Variant Product

This page is where you instantiate the instances of all needed variant products. You can also modify the status and render flags for existing variant products.

There are two ways to get to this page. The first way is to search for the master product. Once you are in the search page results, click on the "Variants" links, and you will be routed to this display. The other way is to go into the master product page, by clicking on the objid link of the master product. Click the "Enter Changes" button. Now, on the main Content Manager page, you will see numerous links. Click on the "Variants" link and you will be routed to this display.

There is one Variant Pulldown for each Variant Axis that is defined in the master product. You will see a pulldown for each variant that you created under the variant axis field in the master product definition. Each pulldown will have the title from the variant, and will have a pulldown consisting of the text that you created in the variant definition under the Items block.

For each instance that you wish to create, select one value from ALL of the variant pulldowns, then select the status and the render mode (display or non-display) for the product.

  • Title *

    This field is automatically generated. It is generated based on the title of the master product, followed by a "-". The text for each variant pulldown that you selected will then be displayed in the order that the variants are defined in the Variant Axis of the master product.

  • Vcode *

    The vcode is stored in the things table under the vcode field. This is a colon-delimited field which stores the value before the colon ":" from the Variant Items box for each item that was selected by the variant pulldowns. These values are stored in the order that the variants are defined in the variant axis of the master product.

  • Status:

    Status is how you decide whether the object is currently active or inactive.

    Note: There is no way to delete an object within AllCommerce. To "remove" an object from your site, set it to "Inactive".

  • Render:

    Render is how you tell AllCommerce whether or not this is currently an item to be displayed on your site. Non-Display items are not generated by generate_site.pl, and are not searched for in search.cgi.

    Note: For an internal document, be sure to set Render to "Non-Display". Otherwise, the document will be displayed on your site!

When you are finished, click "Enter" to create the new object.

3.2.1.2.1.6 Create an Article

Create an Article is similar to Create a Product, except that the content is mostly text. The control screen appears the same, except for the absence of the area where you would have associated a brand to the object. You do not choose a brand. AllCommerce assigns this value, based on the object type value for article pages.

  • Generate Page?

    If you press the check box, then click the Enter Changes button, the site display will be regenerated for the object id that you are modifying. The default value of this is stored in admin_sku.cgi, in the $generate_default variable. On download of the product, this is set to "not checked". If you wish to change the default to "checked", modify admin_sku.cgi, and change $generate_default to 1.

  • Title: *

    This is the field entry for the name of the object (e.g., page or product) that you are creating. It can be from 3 to 80 characters in length. Reference in an HTML template with "__title__".

  • Author: *

    Records the article's author. Reference in an HTML template with "__author__".

  • Brief: *

    A short (5 to 250 character) description of the object being created. Reference in an HTML template with "__brief__".

  • Description: *

    Description is a larger text area than Brief for describing the object. It does not have a character limit. Description would be better named as Body or Contents, since this is a large text entry area that could be used for the main body of the article. Reference in a page template with "__descript__".

  • Keywords:

    Enter one or more words that you can easily associate with the new object. This word association will allow you to perform a keyword search for this object again when you need to reference it for other administration functions. Take note of the text entry area "Search for Keyword" on the main Content Manager screen, the main Inventory Manager screen, and on the site search.cgi screens.

    Note: If you enter more than one word during a search, those multiple words must appear in the same order as entered in either the title, brief, or keyword fields of the object definition. For example, if you enter "the car" in the search field, you must have some text that looks like "the car" in the above-mentioned fields.

    For example, "the car" would match "the car" and "the cart", but it will not match "car the" or "then car". The same words must appear in the same order as entered.

    Also note that, for variant products, the title is not searched in Administrator. If you type in "Pens - red", and you have a master product "Pens" and a variant product for "Pens - red", it will not match. However, if you do type in "Pens" as your search string, AllCommerce will show the master product, from which you can navigate to the variant products.

    On search.cgi, if you type "Pens", it will show "Pens" and "Pens - red". If you type "red", it will show "Pens - red". However, if you type "red pens" or "Pens - red", it will not match. Therefore, it is recommended that you use one word searches wherever possible. This issue will be addressed in the next release of the product. msku is also searched by the search.cgi script.

  • Status:

    Status is how you decide whether the object is currently active or inactive.

    Note: There is no way to delete an object within AllCommerce. To "remove" an object from your site, set it to "Inactive".

  • Render:

    Render is how you tell AllCommerce whether or not this is currently an item to be displayed on your site. Non-Display items are not generated by generate_site.pl, and are not searched for in search.cgi.

    Note: For an internal document, be sure to set Render to "Non-Display". Otherwise, the document will be displayed on your site!

  • Page Style:

    Page Style is where you choose which pre-defined template to use for the object, if it is to be generated as a Web page (i.e., "Render" has been set to "Display").

    Assume that you are creating a page to display a product. You would have your own template designed to contain a description of the product, its price, and any other data that would be pertinent to a product display page. You would choose that template from the page template pull-down menu when you create the page.

    For more information on templates, see "Template Creation and Customization" on the document "Customizing the Installation".

  • Weighting:

    Here you can give priority to products that are displayed in a page that shows a number of products, such as a search results page. The greater the value for the product, the closer to the top of the list it will appear. Equal values for multiple objects are resolved randomly.

When you are finished, click "Enter" to create the new object.

3.2.1.2.1.7 Create an Internal Document

Creating an Internal Document is similar to Creating an Article. If you wish to create internal documents that are not to be published to the Web, this is where you do it.

  • Generate Page?

    If you press the check box, then click the Enter Changes button, the site display will be regenerated for the object id that you are modifying. The default value of this is stored in admin_sku.cgi, in the $generate_default variable. On download of the product, this is set to "not checked". If you wish to change the default to "checked", modify admin_sku.cgi and change $generate_default to 1.

  • Title: *

    This is the field entry for the name of the object (e.g., page or product) that you are creating. It can be from 3 to 80 characters in length. Reference in an HTML template with "__title__".

  • Author: *

    Records the internal document's author. Reference in an HTML template with "__author__".

  • Brief: *

    A short (5 to 250 character) description of the object being created. Reference in an HTML template with "__brief__".

  • Description: *

    Description is a larger text area than Brief for describing the object. It does not have a character limit. Description would be better named as Body or Contents, since this is a large text entry area that could be used for the main body of the internal document. Reference in a page template with "__descript__".

  • Keywords:

    Enter one or more words that you can easily associate with the new object. This word association will allow you to perform a keyword search for this object when you need to reference it again for other administration functions. Notice the text entry area "Search for Keyword" on the main Content Manager screen, the main Inventory Manager screen, and on the site search.cgi screens.

    Note: If you enter more than one word during a search, those multiple words must appear in the same order as entered in either the title, brief, or keyword fields in the object definition. For example, if you enter "the car" in the search field, you must have some text that looks like "the car" in the above-mentioned fields.

    For example, "the car" would match "the car" and "the cart", but it will not match "car the" or "then car". The same words must appear in the same order as entered.

    Also note that, for variant products, the title is not searched in Administrator. If you type in "Pens - red", and you have a master product "Pens" and a variant product for "Pens - red", it will not match. However, if you do type in "Pens" as your search string, AllCommerce will show the master product, from which you can navigate to the variant products.

    On search.cgi, if you type "Pens", it will show "Pens" and "Pens - red". If you type "red", it will show "Pens - red". However, if you type "red pens" or "Pens - red", it will not match. Therefore, it is recommended that you use one word searches wherever possible. This will be addressed in the next release of the product. msku is also searched by the search.cgi script.

  • Status:

    Status is how you decide whether the object is currently active or inactive.

    Note: There is no way to delete an object within AllCommerce. To "remove" an object from your site, set it to "Inactive".

  • Render:

    Render is how you tell AllCommerce whether or not this is currently an item to be displayed on your site. Non-Display items are not generated by generate_site.pl, and are not searched for in search.cgi.

    Note: For an internal document, be sure to set Render to "Non-Display". Otherwise, the document will be displayed on your site!

  • Page Style:

    Page Style is where you choose which pre-defined template to use for the object if it is to be generated as a Web page (i.e., "Render" has been set to "Display").

    Assume that you are creating a page to display a product. You would have your own template designed to contain a description of the product, its price, and any other data that would be pertinent to a product display page. You would choose that template from the page template pulldown menu when you create the page.

    For more information on templates, see "Template Creation and Customization" in the document "Customizing the Installation".

  • Weighting:

    Here you can give priority to products that are displayed in a page that shows a number of products, such as a search results page. The greater the value for the product, the closer to the top of the list it will appear. Equal values for multiple objects are resolved randomly.

When you are finished, click "Enter" to create the new object.

3.2.1.2.1.8 Create a Pulldown

This section of the Content Manager allows you to create, change, or add to the options shown in pulldown menus within AllCommerce. As an example of this feature, let us say you have just designed a new home page template for your Web site. When you go to create a new home page in one of the managers, like Create a Product Line, you will want to be able to select your new template from the list in the pulldown menu for Page Style. In order for AllCommerce to know of this template's existence and allow you to choose it, you must first add it to the list of available templates displayed in the Page Style pulldown menu. To do this, you must first call up the existing Page Style menu in the Create a Pulldown section of the Content Manager by entering Page Style (the pulldown's name) in the Keyword Search entry box on the main Content Manager screen. This entry will bring up this object. All of this object's current values will be displayed in the large text box near the bottom of the page. If your new template was named home_page1.txt, you would enter it as
                        home_page1 | Home Page
   
in the text box with the other entries already there. Note that you should not enter the .txt extension and that whatever name you wish to be displayed on the pulldown that corresponds to this template is listed immediately after it. Use a "|" to separate the template's actual name from its textual reference. You can also create new pulldowns that you may want to add to your site. You would have to modify/create templates to work with these pulldowns.

  • Title: *

    This is the field entry for the name of the object (e.g., page or product) that you are creating. It can be from 3 to 80 characters in length. Reference in an HTML template with "__title__".

  • Author: *

    Records the pulldown's author. Reference in an HTML template with "__author__".

  • Brief: *

    A short (5 to 250 character) description of the object being created. Reference in an HTML template with "__brief__".

  • Items: *

    This is where you list the actual list for the pulldown. For the example of warehouses, you would see:

          1-AA|Warehouse1
          2-AA|Warehouse2 
        
    Where 1-AA and 2-AA are objids for the 2 warehouses that are defined in the system. Warehouse1 and Warehouse2 are the words that you will see in any warehouse pulldowns throughout AllCommerce. Note that in this version of AllCommerce, only one warehouse is supported, and it is defined through the Create a Warehouse section. Each entry must be on its own line, with the 'key' being stored before the "|" and the text to be stored after the "|".

    Note: Since all of the AllCommerce templates are based on HTML table objects, if you have an extremely long name after the "|", the MMI will look crowded, as the HTML table column that the pulldown is located in will grow to the maximum length of the longest pulldown text entry, taking up a lot of room which leaves less room for the rest of the display. Therefore, choose reasonably-sized text to represent the text in the pulldown.

  • Select File Name: *

    This is the name of the select file that will be automatically generated for you in the following directory: .../os_allcommerce-1.0.1/bits/eng/html/sel

    Note: The eng will be replace by 'language' in future releases, where 'language' is the three letter language code for the language that you are logged into the administrator for. This file name MUST start with "sel_", and MUST be unique. If either of these rules are broken, an error message is generated. There are some pulldowns that are defined for AllCommerce functionality, that cannot be overwritten or even changed. You will be given an error message if you attempt to change or write to them through the Pulldown creation screen. Here is the list of them:

     
          sel_status, sel_behavior, sel_visibility, sel_orderstatus, and 
          sel_warehouse  

When you are finished, click on "enter" to create the new object. If you modified an existing pulldown, such as sel_pagestyle for example, the additional choice added or modified will be present in the pulldown in the content manager.

After you enter your changes, the filename specified in the Select Filename field is automatically generated under the directory .../os_allcommerce-1.0.1/bits/eng/html/sel

3.2.1.2.1.9 Create a Warehouse

This is where you define all of the warehouses that you have for your site.

  • Title: *

    This is the field entry for the name of the object (e.g., page or product) that you are creating. It can be from 3 to 80 characters in length. Reference in an HTML template with "__title__".

  • Brief: *

    A short (5 to 250 character) description of the object being created. Reference in an HTML template with "__brief__".

  • Keywords:

    Enter one or more words that you can easily associate with the new object. This will allow you to perform a keyword search for this object when you need to reference it again for other administration functions. Notice the text entry area "Search for Keyword" on the main Content Manager screen, the main Inventory Manager screen, and on the site search.cgi screens.

    Note: If you enter more than one word during a search, those multiple words must appear in either the title, brief, or keyword fields in the object definition. For example, if you enter "the car" in the search field, you must have some text that looks like "the car" in the above-mentioned fields.

    For example, "the car" would match "the car" and "the cart", but it will not match "car the" or "then car". The same words must appear in the same order as entered.

    Also note that, for variant products, the title is not searched in the Administrator. If you type in "Pens - red", and you have a master product "Pens" and a variant product for "Pens - red", it will not match. However, if you do type in "Pens" as your search string, AllCommerce will show the master product, from which you can navigate to the variant products.

    On search.cgi, if you type "Pens", it will show "Pens" and "Pens - red". If you type "red", it will show "Pens - red". However, if you type "red pens" or "Pens - red", it will not match. Therefore, it is recommended that you use one word searches wherever possible. This will be addressed in the next release of the product. msku is also searched by the search.cgi script.

  • Status:

    Status is how you decide whether the object is currently active or inactive.

    Note: There is no way to delete an object within AllCommerce. To "remove" an object from your site, set it to "Inactive".

When you are finished, click "Enter" to create the new object.

After you enter your changes, the sel_warehouse.txt file is automatically generated under the directory .../os_allcommerce-1.0.1/bits/eng/html/sel

Note: The "eng" above will be replaced by "language" in future releases, where "language" is the three-letter language code for the language that you requested when you logged into Administrator.

From here on, the warehouses in the sel_warehouse file will be what is displayed in the warehouse pulldowns throughout the site.

The warehouses are also used in Inventory, where each warehouse is listed. This allows you to manually change the inventory for a product on a per-warehouse basis.

This release of AllCommerce supports the creation of one (and only one!) warehouse.

3.2.1.2.2 Orders

Order Manager gives you access to orders that have been placed through AllCommerce on your Web site. Order Manager's functionality is divided into different screens--the main screen and the order-editing page.

The main screen is where you begin. Here you can look up all orders that match specified constraints. The date of the orders can be constrained to fall within a range of dates you enter in the two text entry boxes labeled "Starting Date" and "Ending Date". The order status and warehouse can also be specified, using the appropriate pulldown menus.

You can click the button at the bottom of the form to see a list of order ids along with columns of costs for tax, shipping, and the orders themselves. All the columns will have a total at the bottom.

After entering your date range and other parameters, but not clicking the check box for totals, click the button labeled "search" and you will get a list of all orders that fit your search criteria. Click on the order id for the order you are interested in and a new page comes up where you can edit the orders' status and other data.

3.2.1.2.2.1 Editing Orders

On the Order-Editing page, there are a number of parameters for the order. You can change or update these as needed. The primary purpose of this page is to let you see and update the status of your orders, so that you can control order fulfillment.

At the top of the page is the order id for the order you are currently editing. Immediately below this order id is the warehouse this order is to be pulled from. Next is a pulldown menu where you can select from a broad range of order-status options. Below this is a pulldown menu for selecting a shipping method for this order. The shipping method value will initially select the method chosen by the customer when they placed the order on your site. AllCommerce gives you the flexibility to change this shipping method should you need to, but the changeability of this feature is determined by the current order status. If the order status is in-route to a customer, for example, you can no longer change the shipping method for this order. All of the changeable parameters for an order are dependent on the order's status as to whether or not they can be modified.

Below the shipping method pulldown is a header line for Product, Title, Quantity, Price, and Total Purchased (the dollar amount for each line item). Each item ordered is represented as a line entry under these headings with associated data displayed under each column header. The quantity field is changeable under most values for Order Status except when the order is marked as Awaiting Fulfillment, In-route to Customer, Awaiting Funds Capture, or in either of the two voided states. Setting the quantity to zero also zeroes the line total.

The Refund field allows for full or partial refund values. Once a value is entered into this box, it will persist so that you know how much of a refund was given. The Sub total field will reflect the adjusted order amount. To undo a refund, you may enter a negative amount in the box.

The next line consists of three buttons: "Update Info", "Reset", and "New Search". Click on "Update Info" when you are done editing the order to make the changes take effect. "Reset" clears any fields back to their defaults, assuming that you have made changes, but have not clicked on "Update Info" yet. "New Search" returns you to the main Order Manager entry page (where you started), so that you may search for other orders.

Below the "Update Info" button, the customer's billing address is displayed. To the right of this are the Sub total, Tax total, Shipping total, and Order total for this order.

The last bit of information is the order's shipping address. These shipping address fields are changeable except when the order status is Awaiting Fulfillment, In-route to Customer, Awaiting Funds Capture, or in either of the two voided states.

3.2.1.2.3 Customers

Customer data, such as addresses, are stored in the database. Each order is related to the customer who placed it.

3.2.1.2.4 Inventory

Inventory Manager is where you adjust (i.e., increment and decrement) your inventory. While inventory is automatically decremented, as purchases are made from your Web site, there are also situations where you may need to do this manually. Manual inventory may need to be done for such problems as loss. After clicking on Inventory Manager, from Main Administrator screen, you will be presented with the Inventory Search screen.

Finding the Object to Edit

You can specify a variety of search criteria from the search screen. They are listed below, Note that this search is put together in an "AND" fashion. Therefore, the Status will always be searched, as well as any other entries that you may make.

  • Search for Objects:

    Enter an objid. AllCommerce will display all objects that have an objid that resembles the one you entered, and have the status that was entered in the "Status:" pulldown. For example, if you enter 2-AA, you will see 2-AA, 12-AA, 22-AA, and so on.

  • Keyword Search:

    Enter a keyword of interest. All objects that have that keyword in their Title, Brief, or Keywords fields will be matched.

    Note: If you enter more than one word during a search, those multiple words must appear in either the Title, Brief, or Keyword fields in the object definition. For example, if you enter "the car" in the search field, you must have some text that looks like "the car" in the above-mentioned fields.

    For example, "the car" would match "the car" and "the cart", but it will not match "car the" or "then car". The same words must appear in the same order as entered.

    Also notice that, for variant products, the title is not searched in Administrator. If you type in "Pens - red", and you have a master product "Pens" and a variant product for "Pens - red", it will not match. However, if you do type in "Pens" as your search string, AllCommerce will show the master product, from which you can navigate to the variant products.

    On search.cgi, if you type "Pens", it will show "Pens" and "Pens - red". If you type "red", it will show "Pens - red". However, if you type "red pens" or "Pens - red", it will not match. Therefore, it is recommended that you use one word searches wherever possible. This will be addressed in the next release of the product. msku is also searched by the search.cgi script.

  • Status:

    • Active

      Will show all products in the things table that are currently active.

    • Inactive

      Will show all products in the things table that are currently inactive.

    Once you initiate a query, all of the products that matched your query will be displayed.

    Adding Inventory

    Once you have found the object you are interested via the search function, click on the Inventory link for that object to add/modify inventory. You will be presented with a display which lists all of the warehouses that you have defined in your system with enterable fields to add/modify the inventory amounts.

    Note: If you just see the titles for the fields, and no enterable boxes, as well as no warehouse name, you must go to the Content Manager and create a warehouse before continuing. After creating the Warehouse, repeat the above steps and you will now have enterable fields to change the inventory for products.

  • Warehouse:

    The warehouse for which the inventory can be modified.

  • In Stock:

    The current amount of inventory that is in stock for this product in this warehouse.

    Note: The maximum value for In Stock is 2,147,483,647. The minimum value is -2,147,483,648, as this is a 32-bit, signed number field. If the values are above or below these limits, they are automatically converted to the maximum value, if the number is too high, or the minimum value, if the number is too low.

  • Status:

    Status is how you decide whether the object is currently active or inactive.

    Note: There is no way to delete an object within AllCommerce. To "remove" an object from your site, set it to "Inactive".

  • Adjust:

    This is where you enter what you want to adjust. You enter a positive number to increment the In Stock field, or a negative number to decrement the field.

    When you are finished, click "Enter".

    After you enter the data, the In Stock value will update to represent the changes that you made in inventory, as well as any changes that were automatically made to the inventory for this product while you were in the display.

    Adding Prices

    To add prices, click on Prices for the object.

    This is where you can add prices for the product. Numerous prices can be identified. In the checkout process, the lowest active price will be the one displayed. Therefore, you can put in sale prices through this interface.

    In future releases, there will be a way to automatically generate rule-generated prices. This feature will allow you to generate prices for products based on some rule (e.g., 10% off all items for today). This feature is not in place yet, but it will be very soon.

    You can enter new prices and modify existing non-rule-generated prices through this screen.

  • Generate Page

    If you press the check box, then when you hit the Enter Changes button, the site display will be regenerated for the object id that you are modifying. The default value for this is stored by inventory.cgi, in the $generate_default variable. On download of the product, this is set to "not checked". If you wish to change the default to "checked", modify inventory.cgi, changing $generate_default to 1.

  • Unit Count

    Unit Count was created for future support. Currently it is set to 1, but in the future it will be an enterable field. You will then be able to price objects at a discount if the customer buys a specified quantity. This will be supported in a later release.

  • Unit Price

    Unit Price is the price of the product. This must be a positive number, with at most two digits after the decimal place. You do not enter the currency symbol (e.g., $), just the price.

  • Shipping Weight

    Shipping Weight is the weight of the product, as shipped. It is used to determine the shipping cost.

  • Status

    Status is how you decide whether the object is currently active or inactive.

    Note: There is no way to delete an object within AllCommerce. To "remove" an object from your site, set it to "Inactive".

  • Rule Generated

    Rule Generated is a function that was created for future compatibility. The rules that are generated through this display are all "N" (not rule generated). Once the rule-generated prices are supported, the existing rule-generated prices for the product will show up in the list of prices, with a Rule Generated flag of "Y".

When you are finished, click "Enter".

If you entered invalid data in any of the fields above, they are all reset to the default values (blank and Active), with the error message displayed under the field that you entered the error in.

3.2.1.2.4.1 Special Note for Master Products.

If you try to click on Inventory or Prices for a master product, you will be given an intermediate page which will consist of all links to all variant products for the master. You must then click on one of those links, and then follow the above steps to add the inventory and prices.

If you do not have any variant products defined for the master product, you will receive a message indicating that you must first define the products, before you can price them or put them into inventory.

3.2.1.2.5 Statistics

The Statistics Manager (Statsman) provides reports based on the records stored in the database tables. Those records are gathered while users navigate through stores pages.

Statsman is one of the functions that are provided by AllCommerce. It provides the primary report and the detailed report. The reports can be generated by either dynamically or periodically.

3.2.1.2.5.1 Premises

Statistics Manager (Statsman) tracks the activities of a user based on the sid (session id) that is assigned when a user enters the store's site. Therefore, Statsman treats the same sid as one visitor and all the actions which have the same sid will be calculated under this visitor. For this reason, if multiple visitors are using the same machine with the same browser (this may happen at a public internet access terminal or kiosk), when the new visitor begins his/her purchasing without closing all the browsers that have been used by the previous visitor, both visitors will have the same sid, and thus they will be treated as one visitor.

Statsman assume that a user "admin" is responsible for only administration affairs and should not do any purchasing at the store. Therefore, all the actions done at the store by the user "admin" will be excluded in the statistics reports generated by Statsman. If the administrator wants to make a purchase at the store, it is recommended to logout before going to the store's site. One important thing needs to be mentioned here: if the administrator login at the admin's site as "admin" after visiting the store's site without closing the browser, the customer id of this sid will be marked as "admin". Thus all the activities that have just been done will not be counted. Therefore, to get the proper result, the administrator should close and reopen all the browsers, before logging in as "admin".

Statsman provides three kinds of screens. They are: Primary Report, Detailed Stats, and Previous Stats. The following document sections will describe each of these screens.

3.2.1.2.5.2 Primary Report

The primary report is the home page of Statistics Manager. It will give the primary statistics report to the user. This is a dynamic report that is trigged by clicking on the link to Stats Manager. By default, the report displays the statistics for the time period the past 24 hours from the moment the user clicks on the Stats Manager.

3.2.1.2.5.2.1 Snapshot View

Total Number of Page Views is the total number of pages that have been viewed by all the visitors at the store during the time period. The pages that are counted here include store home page, intermediate page, product page, product page with related items, product page for variant, article intermediate page, article page, and internal document page. Note that all the pages that are generated by CGI script such as cart.cgi, welcome.cgi, and checkout.cgi, are not included here.

Total Number of Visitors: this is the total number of visitors that have visited the store during the set time period. As mentioned in premises, the number of visitors are counted by sid. One sid is treated as one visitor.

Number of Orders: this is the total number of orders that have been placed by all the visitors at the store during the set time period. Things left in the shopping cart and uncompleted orders in checkout are not included. Only completed orders are counted. Note that voided orders are taken off the total number of orders.

Order Total: this is the total amount of completed orders that have been placed by all the visitors at the store during the time period. The result is the sum of the net order amount excluding the taxes and shipping charges.

Top 25 Items: this lists the top 25 items that have been purchased by all the visitors at the store during the set time period. The items are sorted by quantity, with the biggest number first. The list shows the sku number, quantity, price, and total for each item.

3.2.1.2.5.3 Detailed Stats

Detailed Stats gives the detailed statistics report about the store for the past 24 hours. This is a dynamic report that is generated at the same time as the primary report. Detailed Stats is saved under the directory /[site]/data/stats/include/, and is named with the format yyyymmdd.html. When clicking on Detailed Stats at the home page of Statistics Manager, the page with the current date will be displayed. If multiple detailed reports are generated within the same day, the latest one will replace the previous one. Therefore, there is only one version of detailed report for each date.

For General Statistics and Report, most of the fields are given both an absolute number (Time) and relative number (Percent).

3.2.1.2.5.3.1 General Statistics

Total Number of Page Views is the total number of pages that have been viewed by all the visitors at the store during the set time period. The pages that are counted here include store home page, intermediate page, product page, product page with related items, product page for variant, article intermediate page, article page, and internal document page. Note that all the pages that generated by CGI script such as cart.cgi, welcome.cgi, and checkout.cgi, are not included here.

Total Number of Home Page Views: total number of visits of the home page during the set time period. Every time the home.shtml is visited, this number will be added by one. The percentage value is the percentage of home page viewed versus the total pages viewed.

Total Number of Visitors is the total number of visitors during the set time period. Every visitor who has been assigned a sid (session id) is counted. Note that every time a returning visitor with a different sid visits the store, he/she will be added again to this number. This number equals to the sum of the number of Logged in and Not Logged in. It also equals to the sum of the Number of Visitors Left and Number of Visitors Purchased.

Logged in is the total number of visitors logged in at the store during the time period. The percentage value of this field is the percentage of Logged in Visitors versus Total Number of Visitors.

Not Logged in is the total number of visitors without logging in during the set time period. The percentage value of this field is the percentage of Not Logged in Visitors versus Total Number of Visitors.

Number of Visitors Left is the total number of visitors who have left without finishing any orders during the set time period. It includes the visitors with an empty cart, visitors with stuff in their cart, and visitors who left the Web site before finishing their checkout. Each of these three kinds of visitors will be discussed below. The percentage value of this field is the percentage of Number of Visitors Left versus Total Number of Visitors.

With Empty Cart: this category of visitors left the store with an empty shopping cart. They either did not click on any purchase button, or removed the items from their shopping cart before they left. The percentage value of this field is the percentage of With Empty Cart versus Number of Visitors Left.

With Stuff in Cart: this category of visitors who put some stuff into their shopping carts, but left before they logged in, during the set time period. The percentage value of this field is the percentage of With Stuff in Cart versus Number of Visitors Left.

Just before Completing Purchase: this category of visitors had put stuff into their shopping cart and already logged in but left during one of the five checkout steps. The percentage value of this field is the percentage of Just before Completing Purchase versus Number of Visitors Left.

Number of Visitors Purchased: number of visitors who left the store with at least one finished order during the time period. The percentage value of this field is the percentage of Number of Visitors Purchased versus Total Number of Visitors.

Number of New Customers Joined: total number of visitors who had created their new accounts at the store during the time period. Same visitors who opened more than one accounts are treated as different visitors. The percentage value of this field is the percentage of the Number of New Customers Joined versus Total Number of Visitors.

Page Views Per Visitor: total number of pages that has been viewed by each visitors at the store during the time period. This number is calculated from Total Number of Page Views/Total Number of Visitors. If there are no visitors during the set time period, this field shows N/A (Not Applicable).

Conversion Rate: average number of pages that has been viewed of each order that has been finished by the visitors during the set time period. This number is calculated from Total Number of Page Views/Number of Orders. If there are no orders during the set time period, this field shows N/A (Not Applicable).

3.2.1.2.5.3.2 Report

Top 25 Pages Visited: top 25 pages viewed by visitors at the store during the set time period. The pages are sorted by the number of times they have been visited with the biggest number shown first. The percentage value of this field is the percentage of Total Number of Pages Viewed.

Least 25 Pages Visited: least 25 pages viewed by visitors at the store during the set time period. The pages are sorted by the number of times they have been visited with the smallest number shown first. The percentage value of this field is the percentage of Total Number of Pages Viewed. Note that if a page is not viewed, it is not counted here.

Top 25 Browsers Used: top 25 browsers used by visitors when they visited the store during the set time period. The browsers are sorted by number of times used with the biggest number shown first. The percentage value of this field is the percentage each specific browser versus total number of browsers used.

Top 25 Refer Sites: top 25 sites that visitors came from when they first visited the store during the set time period. The sites are sorted by the number of times they have been referred with the biggest number shown first. The percentage value of this field is the percentage each specific refer site versus total number of sites referred.

3.2.1.2.5.3.3 Order Information

Number of Orders: this is the total number of orders that have been placed by all the visitors at the store during the set time period. Things left in the shopping cart and incomplete orders at the checkout are not included. Only completed orders are counted. Note that voided orders are taken off the total number of orders.

Order Total: this is the total amount of completed orders that have been placed by all the visitors at the store during the set time period. The result is the sum of the net order amount excluding the taxes and shipping charges.

Cost of Shipping: this is the total amount of shipping costs for all completed orders during the time period.

Amount of Tax: this is the total amount of taxes for all completed orders during the time period.

Top 25 Items: this lists the top 25 items that have been purchased by all the visitors at the store during the time period. The items are sorted by quantity, with the biggest number first. It shows the sku number, quantity, price, and total for each item.

3.2.1.2.5.4 Previous Stats

By setting up a cron job through the system command. Statistics Manager (Statsman) will generate detailed statistical reports for the store for the past 24 hours. The pages created by the cron job are saved under the directory /[site]/data/stats/cron/, and are named with the format yyyymmdd.html. If multiple reports are generated in the same day, the latest one will replace the previous one. The date the reports have been generated is shown inside the Previous Stats section. Choosing the date and clicking the display button will display the detailed statistics report for the specific date.

The format of the Previous Stats report is exactly the same as Detailed Stats. Therefore, please refer to the section about Detailed Stats.

3.2.1.2.5.5 Limitation

When the least 25 pages viewed are counted, only the pages with at least one visit are included. In other word, the pages with zero visits are not counted.

When Home Page Viewed is counted, it only counts the times home.shtml has been visited. The home page home.shtml is counted separately from the page that is linked to home.shtml.

3.2.1.2.5.6 New Features

More time period options will be available, instead of only 24 hours statistical reports.

While multi-language and multi-currency are available for the software, the Statistics Manager will have individual statistics tables for different languages and currencies other than just having one general report.

More options will be available to generate statistics reports, such as the statistics about CGI scripts, the statistics about the advertising, and so on.

3.2.1.2.6 Merchandise

The Merchandise Manager is where you can control item or page linkages for existing objects. It offers you easy and fast merchandise display control; additions and changes are fast and easily accomplished. Once you have your templates and cell files created. Merchandise Manager allows you to change the organization of your Web site without any HTML re-coding.

Before you begin with Merchandise Manager, you will need to know the objid of the object to which you wish to assign links. You will also need the objids of the objects (products) to be linked. Although the objects you link within the Merchandise Manager do not have to be exclusively products and product display pages, they are used here to provide a practical example.

When you click on the Merchandise Manager icon, you will see the "Entry" page. This page asks for the objid of the object to which you wish to assign links. Enter its objid in the text box, and click on the button labeled "Search". If the object exists, the Merchandise Manager will display a page that shows the object's objid, along with rows of any objects that are currently linked to it. Below these (if any objects are objects currently linked) are text boxes for entering required data about objects you wish to link.

Each line begins with the phrase "Object to Place on Page". Below it are the following data fields:

  • Generate Page?

    If you press the check box, then click "Enter Changes" button, the site display will be regenerated for the object id that you are modifying. The default value of this is stored in linkage.cgi in the $generate_default variable. On download of the product, this feature is set to "not checked". If you wish to change the default to "checked", modify linkage.cgi, and change $generate_default to 1.

  • Object:

    Enter the objid of the object you wish to link.

  • Alternate Title:

    If you wish to substitute a title that is different from the object's actual title, you can enter the alternate here. This will only affect the title shown on the link page, not the object's actual page. It should be noted that this alternate title is not searched when a user enters search keywords on the site. This will be addressed in future releases. It should also be noted, that you cannot define an alternate title for variant products.

  • Weight:

    This allows you to order the placement of multiple objects that will be linked to this page. This feature is handy if you are linking objects that would naturally go in a particular (e.g., chronological or cardinal) order. The higher the weight value, the closer to the top of the generated page the link will appear. Links with identical weights will be resolved randomly.

  • Style:

    Here you select the cell template for this linked object. You can mix cell styles on the same page if you need to, but remember that cells chosen, although different in their coding, must match the width value of the cell reference in the link pages template. There is a brief introduction to template and cell use at the end of this document. See the "Template Creation and Customization" section of the "Customizing the Installation" document for a more thorough discussion of template creation and use in AllCommerce.

    A quick way to tell what size of cells you can link to the page is to look at the text behind Page style is: tag under the title of the object id to link. The text will include the name of the Page Style, as well as information in brackets. Choose a cell style that matches at least one of the numbers in the brackets of the page style definition.

  • Depth:

    If you wish to allow an iterative cell replacement (e.g., for an entire product line, all variants of a master product object or all objects belonging to a certain brand), you can use the master product, or brands objid instead of entering data for each object in a separate row. This text area is for entering the maximum number of these objects to link to the object to which you are assigning links. This functionality is not available in this release of AllCommerce, but the text box will still be displayed for future compatibility.

    After you have made your changes, click "Enter" to make these changes take effect. You can call this page up any time you need to from the Merchandise Manager, in order to make changes, drop links, new objects, or even change cell styles for existing links.

Once you have created all of the links and are ready to view your store pages, you must first run generate_site.pl which will build your store HTML pages for you. Refer to section 3.2.4.2 for guidance.

3.2.1.2.6.1 A Brief Example of Template and Cell File Use

In this example, we will make a page that displays all objects or products that are under a similar grouping. These might be, for example, the sort of gummy fruit candies that don't taste even remotely like real fruit, but are quite enjoyable none the less.

Gummy fruit is a subcategory of candies in general. We will design a simple page that has a heading, a basic description of the types of candies on that page, and, finally, links to display pages of the individual products. We could make a template like this:

   <HTML>
      <HEAD>
         <TITLE>__title__</TITLE>
      </HEAD>
      <BODY BGCOLOR="#FFFFFF">
         <CENTER>
            <FONT COLOR="#FF0000" SIZE="1">__descript__</FONT>
         </CENTER>

         <TABLE WIDTH=300 BORDER=0>
            <TR>
               <TD>
                  <TABLE BORDER=0 WIDTH=150>
                     <!--FIRST COLUMN-->

                     __column_150_1__

                  </TABLE>
               </TD>
               <TD>
                  <TABLE BORDER=0 WIDTH=150>
                     <!--2ND COLUMN-->

                     __column_150_2__

                  </TABLE>
               </TD>
            </TR>
         </TABLE>
      <
   </HTML>

This template would construct a page with two columns, each having two rows. The line "__column_150_N__" causes AllCommerce (generate_site.pl, technically) to look for a file in the .../bits/eng/html/cells directory, and replace this line with the contents of that file.

This is the same idea as lies behind inserting fields from text areas when creating a page. The number 150 is a way for you to name cells, based on their width in pixels, but it is up to you to enforce this through the proper HTML encoding. AllCommerce only makes sure that the number in the cell reference matches the number that is part of the cell name (150 in this example).

Here is an example of how you might do cell_150.txt:

   <TR>
      <TD>
         <A HREF="__objid__.shtml">__descript__</A>
      </TD>
   </TR>
   <TR>
       <TD>
          <IMG SRC="/IMAGES/__objid__.gif">
       </TD>
   </TR>

What this will do is cause generate_site.pl to insert text from the description field of a linked object into the anchor text, replacing __objid__ with the real objid of the object you link to the page. Also, if you have a small GIF image of the product, you should name it with the object's objid, so that a reference to it will also be generated. Then the lines __column_150_N__ will be replaced with the modified cell.

You could make a reference to any data you wish about a particular object you want described by a cell. If one of your products was "gummy paramecium" and you already created this object, complete with price per unit, then you could put in a reference to its price with (__unitpr__). The last number in the column reference (1, 2, ... , N, as in these examples) is used by AllCommerce to split links into N columns during page generation.

Now we will go through the steps that are necessary to create this product display page. Assuming that you have already created objects (pages) for the individual candy items, and that you have a main display page template and cell file ready for use, start in Content Manager. Then go to the "Create an Object" section.

Enter the relevant data for TITLE, AUTHOR, BRIEF, DESCRIPTION, etc. and choose the page template for your display page. When you click on "Enter Product Changes", the screen changes. You will see the object's new SKU at the top of the page, along with a link to "Links", as well as "Variants and Pricing". Clicking on "Links" takes you directly to Merchandise Manager. Now you are ready to begin assigning links to the page.

Simply enter the SKU for each object you wish to link to this page in the text boxes and choose the cell style from the pulldown menu. The cell style must match the ones you reference in your main page template or no links will be created. Weighting will determine the order in which links are displayed on the generated page, with 100 being the highest priority value.

When you have finished adding pages to link, click on "Enter Link Changes" and the link associations will be added to the database. You can return to Merchandise Manager to make changes at any time by clicking on the link on the side bar of Main Administrator screen. You will need to enter the page's SKU before you can make any changes. At this point, you will need to run generate_site.pl. Your page should now be viewable under the HTML directory of your site.

3.2.1.2.7 Other

3.2.3 Command Line Tools and Utilities

AllCommerce has many command line tools and utilities to assist in the maintenance of you site.

3.2.3.1 Initial Data Load

An initial data load needs to be primed into AllCommerce in order for the application to take on its personality as a commerce application. The initial data load is performed automatically if the database was created successfully and the import of the AllCommerce data structure was completed in the installation process.

3.2.3.2 Supplemental Data Loads

AllCommerce will function with just the initial data load. However if you wish to offer shipping for your site, you will want to load shipping tables into AllCommerce.

3.2.3.3 Shipping Rates and Zone Map Loaders

AllCommerce uses real-time shipping methods in checkout. The shipping carriers supported in this release are: UPS, Fed Ex and USPS.

import_shipping_tables.pl allows you to use the download information from United Parcel Service (UPS), U.S. Postal Service (USPS), and Federal Express (FedEx) to calculate shipping costs for a customer transaction. By using information that you download from the shippers you want to use import_shipping_tables.pl that translates those files into SQL insert statements that can be imported into your database.

For more information on import_shipping_tables.pl, see section 2.4.2.6 (Shipping Methods and Rates Data Load).

3.2.4 The crontab and Recurring Processes

There are several recurring processes that need to be automated. It is suggested that you place these entries in the crontab entry for your Web Server.

3.2.4.1 Overview and Triggers

AllCommerce uses trigger generation to reproduce a local neighborhood of your site. The trigger generator can be activated by selecting a check box on screens that change an objects state in the AllCommerce administrator.

3.2.4.2 generate_site

AllCommerce uses a script called generate_site.pl to produce all the output pages for a site. This script produces a fresh set of pages in the html/eng/auto/ directory, and then calls a script named update_symlinks which creates references to these pages in the html/eng/ directory.

If you have manual pages in the html/eng/man/ directory and with to use these pages in your site pointers are created to html/eng after update_symlinks links the auto generated pages. This precedence allows manually created pages to override automatically generated pages.

To automate generate_site and have it run every hour, place an entry in the crontab for your Web server:

   { time to run } /home/httpd/os_alllcommerce/crons/generate_site.pl

3.2.4.3 revert_carts

revert_carts.pl is a script that needs to automated to move reserved inventory out of the shopping cart and place the items back in stock. This script looks for users who have entered checkout, but have not checked out within 15 minutes. To automate revert_carts, and have it run every 15 minutes, place an entry in the crontab for your Web server:
   { time to run } /home/httpd/os_alllcommerce/crons/revert_carts.pl

3.2.4.4 run_stats

run_stats.pl is a script that produces statistic reports which are viewed using the AlLCommerce Statistics manager. To automate run_stats and have it run everyday at 2:00 a.m., place an entry in the crontab for your Web server:
   { time to run } /home/httpd/os_allcommerce/crons/run_stats.pl crons

3.2.4.5 archiving

AllCommerce does not archive history tables in this release.