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.
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.
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:
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.
To create a new catalog:
The Product Assignment section is displayed.
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:
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.
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.
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.
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.
<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>
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.
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.
In Sub-Categories tab new sub categories can be created for the catalog. Sub-categories can be sorted.
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.
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.
New attributes cannot be appended to shared catalogs or categories.
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:
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.
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:
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.
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).
Intershop 7 offers various import & export functionalities for catalog data. At the moment there are three different types of catalog category import-export processes.
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:
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.
The following XML snippet shows an example of exported catalog category file structure. The import process expects the same XML 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>
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.
<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>email@example.com</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>
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.
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:
A repository is a container for product and / or offer content owned by an organization.There are two types of repositories:
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).
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.
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:
The implementation model for repositories is similar:
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.
The entire implementation relies on basic mechanisms of the IS7 domain concept.
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.
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.
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.
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.
Intershop 7 (IS7) provides out-of-the-box support for two standard classification mechanisms:
It also allows to create custom classification catalogs. (e.g.: 'ServiceTypes', 'ProductTypes').
For details on classification catalogs refer to the Concept: Classification Catalogs.
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.