Concept - Catalog

1 Introduction

This concept discusses features that are introduced with the multi-vendor catalog. It is a buyer catalog that consists of products from multiple suppliers. The multi-vendor catalog component belongs to a set of business components and provides functionality that can be used in a variety of business scenarios.

Catalog features include:

  • Repository and catalog concepts
  • Catalog filters
  • Commodities
  • Classification catalogs

1.1 References

2 Catalog Features

This chapter discusses catalog and repository concepts, catalog filters, and classification catalogs.

A sales organization can set up multiple product catalogs. Those product catalogs can be shared with the channels of the sales organization. Catalogs can be created manually in the Commerce Management application on organization and channel level. Catalog structures can also be imported via a file in different import modes.

Note

An import process with DELETE mode does not remove the catalogs from the system, but only their sub-categories.

Intershop Commerce Suite 7 allows to create and maintain different kinds of catalogs or categories using the Catalogs section in the Master Catalogs manager in parent Organization and the Catalogs manager in the channels. The intention of catalogs is to structure products in a meaningful way. The structure helps customers by simplifying and speeding up finding of products in the storefront. The different catalogs types are:

  • Standard Catalogs - type code 1. Provided by the parent organization (shared catalogs) or have been created locally for the channel (local catalogs).
    •  Local Standard Catalogs - Manually managed catalogs
    • Shared Standard Catalogs - Structure of a shared catalog
  • Classification Catalogs - type code 2
    • Shared Classification Catalogs - Classification systems that are either globally available (eCl@ss, UN/SPSC) or maintained by your parent company
    • Local Classification Catalogs - Manually managed classification systems displayed as local classification catalogs
  • System Classification Catalogs - To handle specials products like warranties, proxy products for customization, gift wraps and other types
    • Shared System Classification Catalogs
    • Local System Classification Catalogs

A catalog describes a container and serves as a root for underlying categories. There are no limitations regarding the number and the depth of underlying categories. Multiple root catalogs may exist in parallel. The Catalogs sections contains a catalog types list that can be collapsed and expanded at will.

When a new catalog of a certain type is created a new row is added to the CATALOG data base table. The new record is saved also in the CATALOGCATEGORY table. The creation of a new catalog automatically creates a new root category for it. A category object (the object name is CatalogCategory) structures a catalog to present sub-categories in a hierarchical structure. It is defined in the context of a domain. Every catalog has a unit domain depending on the level it is created - organization or channel. In this case the domain can be for example PrimeTech (organization) or PrimeTech-PrimeTechBusiness (channel). In the same time for every catalog is created also its catalog domain with name <OrganizationName>-<CatalogName> / <OrganizationName>-<ChannelName>-<CatalogName>, for example PrimeTech-PrimeTechSpecials-catalog for catalog created on channel level, or PrimeTech-Computers for catalog Computers created in PrimeTech organization. All sub categories of a catalog are created in the catalog domain, so a category TestCategory that is sub category of Computers will have inherit the domain PrimeTech-Computers.

Catalog-Category relation

  1. Creation of a new catalog creates new catalog category object.
  2. New catalog is created in "Catalog" data base table.
  3. Every catalog has its owning domain.
  4. Creation of a new catalog creates new catalog domain.
  5. New CatalogCategory object is created in "CatalogCategory" data base table.
  6. CatalogCategory object has owning domain, the catalog domain.

2.1 Catalog Tabs

2.1.1 General Tab

2.1.1.1 Create/Edit a Catalog

To create a new catalog:

  1. Choose the desired organization level (organization or channel).
  2. Navigate to Master Catalogs | Catalogs.
  3. In the section of the desired catalog type click New.
  4. Enter the basic information and click Apply.

    New catalog details page

  5. The Product Assignment section is displayed.

  6. (Optionally) Enter the required data and click Apply.
  7. Click Back to List.
    The new catalog appears in the according section.

    Catalogs can be edited at any time.

    Click the Edit button in the Actions column of the catalog list.

The Product Assignment section of the General tab offers two options:

  • Assign Products manually
  • Assign Products dynamically

2.1.1.2 Manual Product Assignment

The first option is the default. In this case the Product Sorting section is displayed.

The manual sorting can be Default or Custom. The custom sorting depends on Sorting Attribute, that can be standard or custom. Also Sorting Direction can be selected.

Note

If catalog is shared from parent organization, on channel level it cannot be edited. Name, ID, Description and Product Assignment fields are disabled, the optional sections Assign Products manually and Assign Products dynamically are not be displayed.

Catalog, category and product sorting can also be defined in the Channel Preferences, section - Sorting.

2.1.1.3 Dynamic Product Assignment

When Assign Products dynamically is selected a new section appears. Here you can specify the catalog category (Category sub section) to which the product filter search operation is restricted. in the sub section Filter Condition you can specify text values (for text attributes) or value ranges (for numeric attributes) intended to be retrieved by the filter. The Weighting sub section allows to specify a weighting for specific attribute values. Also sorting can be selected. For each filter condition, sorting or weighting it is possible to create up to 10 entries.

The conditions are connected by AND. Only Filter Conditions for the same Attribute are connected by OR.

Note

For dynamic product assignment a valid search index must exist. If there is no configured search index a message is displayed:

No Search Index found. Please create a Search Index of type 'SFProductSearch'.

Creating of dynamic product assignment adds a new record of type product in the searchquerydefinition table. In the searchquery column all configuration are saved in XML format, as the following snippet shows.

Search Query XML format for dynamic product binding
<searchquery>
    <contextcategoryid>catalog1@PrimeTech-catalog1</contextcategoryid>
    <multi-value-conditions/>
        <range-conditions>
            <range-condition>
                <attribute-name>ProductSalePriceNet</attribute-name>
                <attribute-lower-value>1</attribute-lower-value>
                <attribute-upper-value>10</attribute-upper-value>
            </range-condition>
        </range-conditions>
    <rankings>
        <ranking>
            <attribute-name>shortDescription</attribute-name>
            <percentage>10</percentage>
            <attribute-value>description</attribute-value>
        </ranking>
    </rankings>
    <sortings>
        <sorting>
            <attribute-name>name</attribute-name>
            <direction>ASCENDING</direction>
        </sorting>
    </sortings>
    <value-conditions>
        <value-condition>
            <attribute-name>ManufacturerName</attribute-name>
            <attribute-value>Dell</attribute-value>
        </value-condition>
    </value-conditions>
</searchquery>

2.1.2 Content Tab

  1. Use the Content tab to manage the assigned pages and includes for this catalog.

2.1.3 Online/Offline Tab

  1. Use the Online/Offline tab to limit the catalog's Online/Offline period.
  2. Specify whether the catalog is Always available or only for a Limited period.
    Set Start Date/Time and End Date/Time when using Limited period.

2.1.4 Channels Tab

From the master organization a catalog can be shared with all channels to benefit from re-usability and to avoid unneeded administration efforts. The sharing applies only to catalogs, but not to categories.

  1. On the organization level navigate to Master Catalogs | Catalogs.
  2. Edit a catalog.
  3. Switch to the Channels tab.
    A list of currently unassigned channels will be displayed.
  4. Click New.
  5. In the Assign New Channel dialog select select a channel and click OK.
  6. Click Back to List.
    After successful sharing the channel appears in the list as the following picture shows. In the example bellow the catalog catalog is shared to PrimeTech Specials channel.

When a catalog is shared to channel a new record is created in the data base table catalog. The new row has different value in domainid column which points to the domain ID of the assigned channel.

2.1.5 Sub-Categories Tab

In Sub-Categories tab new sub categories can be created for the catalog. Sub-categories can be sorted.

Note

For shared catalogs and categories on channel level it is not possible to add new sub categories and already assigned sub categories cannot be removed.

The following diagram shows the relation between a catalog and its sub categories. A catalog belongs to its owning domain and every catalog has catalog domain. The sub categories are created in the catalog domain. So the owning domain of a sub category is the catalog domain.

Catalog and Sub Categories

2.1.6 Attributes Tab

The Attributes tab allows to add custom and SEO attributes to a catalog. In SEO Attributes section can be defined Web search engine attributes to improve search result rankings.

Note

New attributes cannot be appended to shared catalogs or categories.

2.1.7 Labels Tab

The Labels tab allows for grouping certain elements to perform all kinds of tasks afterwards. Catalogs can be combined by using labels.

To create a new label:

  1. Click New.
    The Assign Label dialog is displayed.
  2. Specify Label Name and Label ID and click Add.

Note

The Labels tab is not available for shared catalogs on channel level.

When a label is assigned to catalog or category a new record is created in the catalogcategorylabelassignment table. The label uuid, catalogcategory uuid and domain id are stored there.

Catalog - Label assignment

2.1.8 Links Tab

The Links tab allows to manage links between independent products and categories. A catalog can have multiple links to the products of other catalogs/categories and individual products. The catalog may have different types of links and also can be a link. The link types are:

  • Cross-Selling - related individual products or all products in selected categories
  • Up-Selling - alternative individual products or all products in selected categories
  • Accessory - complementary individual products or all products in selected categories
  • Follow-Up - selected individual products or the products in the selected categories are follow up version(s)
  • Spare Parts - selected individual products or the products in the selected categories are available spare parts
  • Other

The Links for catalog section displays the link types that can be assigned to the current catalog. In the right section the catalog can be linked to other products or catalogs/categories.

For more information about catalog and category link see Concept - Product and Category Links.

Note

In Intershop 7.3 there is a small difference in catalog Links tab page. For more information check Concept - Product and Category Links (7.0 until 7.3).

2.2 Catalog/Category Impex

Intershop 7 offers various import & export functionalities for catalog data. At the moment there are three different types of catalog category import-export processes.
  • XML Import & Export - Import or export catalog categories or whole catalogs from or into XML files.
  • CSV Import - Import catalog categories or whole catalogs from CSV source files. CSV export is currently not available.
  • BMEcat Import & Export - Import or export catalog categories from or into XML files in BMEcat format.

Note

Before import a file must be uploaded to the server. After successful file validation the catalogs and categories can be imported.

The following import modes are available:

  • UPDATE
  • DELETE
  • REPLACE
  • OMIT
  • IGNORE
  • INITIAL

The export process extracts data from the system and save them into a file. The export file must have a name and file extension. Depending on the amount of data the export may take some time. Once the process is completed the generated file can be downloaded. The download can be started from the Import&Export section. A click on file name link opens a new page holding a log file if there are any errors or warnings. A click on the exported file link starts the physical download.

2.2.1 XML File Structure

The following XML snippet shows an example of exported catalog category file structure. The import process expects the same XML structure.

Catalog Category Import&Export xml file structure
<?xml version="1.0" encoding="UTF-8"?>
<enfinity xsi:schemaLocation="http://www.intershop.com/xml/ns/enfinity/7.0/xcs/impex catalog.xsd http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt dt.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.intershop.com/xml/ns/enfinity/7.0/xcs/impex" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:dt="http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt" major="6" minor="1" family="enfinity" branch="enterprise" build="build">
	<category name="catalog" import-mode="UPDATE">
		<name>catalog</name>
		<root>1</root>
		<product-assignment-query></product-assignment-query>
		<template></template>
		<online>1</online>
		<category-links>
			<category-link name="Cameras-Camcorders" domain="PrimeTech-PrimeTechSpecials-Cameras-Camcorders">
				<category-link-type name="ES_SpareParts_C"></category-link-type>
				<position>1.0</position>
			</category-link>
		</category-links>
		<description xml:lang="en-US"></description>
		<display-name xml:lang="en-US">catalog</display-name>
		<searchquery-definition-name>sCwKDACUGGEAAAFKfekHZM2N</searchquery-definition-name>
		<custom-attributes>
			<custom-attribute name="PRODUCT_SORTING_TYPE" dt:dt="string">default</custom-attribute>
			<custom-attribute name="ShowInMenu" dt:dt="string">True</custom-attribute>
		</custom-attributes>
	</category>
	<category name="1">
		<name>1</name>
		<root>0</root>
		<product-assignment-query></product-assignment-query>
		<template></template>
		<online>1</online>
		<position>1.0</position>
		<category-links></category-links>
		<description xml:lang="en-US"></description>
		<display-name xml:lang="en-US">1</display-name>
		<parent name="catalog" />
	</category>
</enfinity>

2.2.2 BMEcat File Structure

For import and export of catalogs and categories can be used also XML files in BMEcat format. BMEcat is a standard for electronic data transfer by electronic catalogs created and published by the BME (Bundesverband Materialwirtschaft, Einkauf und Logistik e. V., the German association for materials management, purchasing and logistics). BMEcat is about actual instances of application classes which are described by distinct values in accordance to the dictionary. The following snippet shows the same catalog as the snippet above, but exported in BMEcat format.

Catalog Category Import&Export BMEcat file structure
<BMECAT xmlns="http://www.bmecat.org/XMLSchema/1.2/bmecat_new_catalog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bmecat.org/XMLSchema/1.2/bmecat_new_catalog bmecat_new_catalog_1_2.xsd"
version="1.2">
    <HEADER>
        <CATALOG>
            <LANGUAGE>eng</LANGUAGE>
            <CATALOG_ID>catalog</CATALOG_ID>
            <CATALOG_VERSION>1.0</CATALOG_VERSION>
            <CATALOG_NAME>catalog</CATALOG_NAME>
            <DATETIME type="generation_date">
                <DATE>2015-01-14</DATE>
                <TIME>10:18:31</TIME>
            </DATETIME>
            <TERRITORY>US</TERRITORY>
            <CURRENCY>USD</CURRENCY>
        </CATALOG>
        <SUPPLIER>
            <SUPPLIER_ID>PrimeTech</SUPPLIER_ID>
            <SUPPLIER_NAME>PrimeTech</SUPPLIER_NAME>
            <ADDRESS type="supplier">
                <NAME>PrimeTech</NAME>
                <NAME2>Max Meier</NAME2>
                <STREET>Main Street</STREET>
                <ZIP>143456</ZIP>
                <CITY>PrimeTech City</CITY>
                <COUNTRY>Germany</COUNTRY>
                <EMAIL>primetech_info@test.intershop.de</EMAIL>
            </ADDRESS>
        </SUPPLIER>
    </HEADER>
    <T_NEW_CATALOG>
        <CATALOG_GROUP_SYSTEM>
            <CATALOG_STRUCTURE type="root">
                <GROUP_ID>1</GROUP_ID>
                <GROUP_NAME>catalog</GROUP_NAME>
                <PARENT_ID>0</PARENT_ID>
            </CATALOG_STRUCTURE>
            <CATALOG_STRUCTURE type="leaf">
                <GROUP_ID>2</GROUP_ID>
                <GROUP_NAME>2</GROUP_NAME>
                <PARENT_ID>1</PARENT_ID>
                <GROUP_ORDER>1</GROUP_ORDER>
            </CATALOG_STRUCTURE>
            <CATALOG_STRUCTURE type="leaf">
                <GROUP_ID>1</GROUP_ID>
                <GROUP_NAME>1</GROUP_NAME>
                <PARENT_ID>1</PARENT_ID>
                <GROUP_ORDER>1</GROUP_ORDER>
            </CATALOG_STRUCTURE>
        </CATALOG_GROUP_SYSTEM>
    </T_NEW_CATALOG>
</BMECAT>

2.2.3 CSV Import Format

Catalog categories or whole catalogs can also be imported via CSV source files. The process works only for imports. The following image shows how CSV file is presented in Excel. The different values are separated by " ; " .

There are few mapping template types and one of them can be selected. Also Field Delimiter and Format Line Number can be defined.

2.3 Catalogs and Repositories

2.3.1 Conceptual View

One of the important concepts introduced with the multi-vendor catalog feature is the strict separation of catalog structure and product data. This separation is implemented by the concept of catalogs and repositories.
The concept itself is described best through the following definitions:

Repository

A repository is a container for product and / or offer content owned by an organization.There are two types of repositories:

  • Master Repository - Each sales organization possesses a master repository to set up its products. From the master repositories, products can be derived into the available channel repositories. Each organization can have several repositories for storing product data.
  • Channel Repository - Channel repositories are defined in the context of a channel. Each channel has a channel product repository. The channel repository contains the products to be made available to consumers, customers, or partners.

Using master and channel repositories, products can flow down the demand chain: from the sales organization to consumers, customers and partners, from sales partners to resellers and so on. To enable this kind of information flow, products need to be shared between repositories. With product sharing, sales or partner organization can distribute large number of master products to consumer or business channels without copying them. The targets of sharing are consumer and business channels only. The products remain in the base repository from which they are shared. Target channels can also add new products or change the attributes of a base product by overriding the entire product. In case of changing any attribute of base product a new derived product is created with reference to the base product (table DERIVEDPRODUCT).

Catalog

A catalog provides a specific view upon an existing product / offer repository. The catalog view is established by a specific hierarchy of catalog categories. Catalogs also contain the bindings (product category assignments) between products of a repository and the actual catalog category. The main advantage of this concept is that multiple catalogs (i.e., catalogs in terms of navigation structure) can now be defined upon the same repository. This feature is particularly useful when it comes to supporting standard classifications (such as eCl@ss) for the product content of an organization.

2.3.2 Implementation View

With respect to the implementation of catalogs and repositories, the IS7 domain concept plays an important role.

For catalogs, the following implementation concepts are of importance:

  • A catalog is modeled as a standard business object in the public API.
  • A catalog is always associated with a domain instance (the catalog domain).
    The catalog domain is used to store the actual catalog content (catalog categories).
  • A catalog instance is always owned by a domain. A single domain can own multiple catalog instances. A single catalog is always owned by a single domain.
  • Multiple catalog instances can reference the same catalog domain.

The implementation model for repositories is similar:

  • A repository is modeled as a standard business object in the pubic API.
  • A repository is always associated with a domain instance (i.e., the repository domain).
    The repository domain is used to store the actual repository content (i.e., the products / offers and their category bindings).
  • A repository is always owned by a domain. A single domain can own multiple repository instances. A single repository is always owned by a single domain.

The image below illustrates the implementation concept and its integration with the organization and domain concept.
The organization depicted below owns a single product repository and a single catalog view.

Catalogs, repositories and domains

The entire implementation relies on basic mechanisms of the IS7 domain concept.

  • The catalog and repository instances basically serve as a descriptor (or proxy) for the catalog and repository domains, respectively.
  • The domains instantiated along with each catalog and repository serve as storage containers that logically separate the content being stored.

This logical separation of content has major advantages in various search scenarios where content of certain repositories / catalogs should be searched. Based on the (content) domain concept, it is very easy to limit searches to certain repositories and or catalogs.

Another advantage of this implementation approach is that all IS7 features relying on domains can be used. This greatly facilitates, for example, the implementation of catalog specific user management (i.e., different catalog managers per catalog within a single organization) since it is possible to directly rely on the domain user group handling.

The UML diagram below provides a high-level view on the implementation of catalogs and repositories.

Note

Catalogs as well as repositories feature numeric type codes as well as unique catalog and repository IDs.

Numeric type codes can be used to separate different types of catalogs (e.g., external catalogs, standard catalogs, classification catalogs).

The interpretation of the type codes is up to the application that uses the catalogs.

Catalogs and Repositories Object model

The catalog / repository ID is supposed to be a human readable identifier that uniquely identifies a catalog / repository instance in the context of an owning domain. The ID specified upon catalog / repository creation is used as domain ID for the resulting catalog / repository domain.The catalog manager prefixes the provided catalog / repository ID with the domain name of the owning organization to ensure globally unique domain names. For example, when creating a catalog MyCatalog in the context of Organization PrimeTech, a catalog domain with ID PrimeTech-MyCatalog will be created. All sub-categories created under the catalog will belong to the respective catalog domain.

2.4 Catalog Filters | Catalog Views

2.5 Commodities

Commodities are currently not used because the Procurement and B2B feature are currently removed from IS7.
B2B will be implemented with new features. Commodities might be part of it.

2.6 Classification Catalogs

Intershop 7 (IS7) provides out-of-the-box support for two standard classification mechanisms:

  • eCl@ss
  • UN/SPSC

It also allows to create custom classification catalogs. (e.g.: 'ServiceTypes', 'ProductTypes').

For details on classification catalogs refer to the Concept: Classification Catalogs.


Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Support Tickets