Product Information Manager : Export Products and Prices


Access

There are four ways to access Export Products functionality in PIM:

  • Click  Im-/Export-> Export Products/Prices (in the  Export section) on the main menu.

  • On the Search Product page:
    • Perform a search according to your search parameters and select the desired option from the drop-down list - all the products from the search result will be exported.
    •  Select products using the relevant check boxes and click the desired option of the drop-down list - only the selected products will be exported.
  • In the Product Editor select the relevant option from the drop-down list by the button to export current single product.

Contents

Overview

The Export Products page enables you to export Products and Catalogs with prices for a specific Customer. The products can be exported into a file (for example CSV, XLS, XML, etc.).

As PIM supports the import of 'dirty' product data, it is expected to be cleaned up in PIM before it is exported. No 'dirty' (invalid) product data will be exported, except for raw products ( JSON/Products (Raw) and Excel/Products (Raw) export formats).

The Responsibility restrictions, set for the user are not applied during the Product Export, i.e. it is possible to export attribute values assigned to the Classification Group you are not responsible for.

Raw Product Export

The primary intention of the Raw Products concept is to import the products into a compatible PIM instance again after exporting and modifying them as may be needed.

Raw Product export formats are:

  • JSON/Products (Raw)
  • EXCEL/Products (Raw)

The basic principles for the raw products export:

  • Data exported as it is (invalid product data may be exported)
  • No variants processing (variants are not exported as separate products)
  • No calculation to external product (attribute values are unresolved)
  • No export data content filtering (no Parameters limiting the content that should be exported for the products are applied)

External Product Export

The primary intention of the External Products concept is to have a manageable set of product information ready for use in publications, product previews and other touch points. External product concept allows treating product variants, when available, as separate products and to export attributes and documents resolved according to the specified languages and tags.

In case the exported product contains product variants, the master product and all its variants are exported via External Product Exports (this is a default behavior which can be customized).

The manageable set of External Product information means that there is a possibility to use channels and other parameters limiting the content that should be exported for the products.

External Product export formats are:

  • JSON/Products

  • CSV/Products

The standard CSV/Products export includes the following fields:

  • Product ID
  • Catalog ID
  • Product short description (name) in export language (if no language defined, short descriptions for all languages are exported)
  • Audit fields (create on/by and changed on/by)

Product compatibilities are exported via JSON/Products (Raw) and JSON/Products. In JSON/Products export:

  • Master product compatibilities are exported for all product variants, if any.
  • Compatibility constraints (defined by compatibility attribute values) are resolved as described in Resolving of Attribute Values in External Product section below.
  • Document links are exported depending on the defined language (or for all languages, if no language is defined).

Resolving of Attribute Values in External Product

Attribute values containing expressions, terms and references to product (markdown and text-table attributes) are exported for external product as follows:

  • For non-multi-language attributes:
    • Terms are not resolved (term ID is exported)
    • Product references with :IMG and :DESC modifiers are not resolved. Simple product reference is resolved as <product ID> (<CatalogID>)
    • Expressions are resolved if the expression contains a reference to the language to resolve the value for. For example: term('$Action','en-GB'); boilerplate('Vorwort','en-GB')

Terms and product references are currently displayed as resolved for non-multi-language markdown and text-table attributes in the following places:

  • In the preview modal window for a variant attribute value on the Variants tab in the Product Editor (in content language)
  • In the Result Section of the text-table attribute value editor (in UI language)
  • In the Preview mode of the markdown attribute value editor (in content language)
  • In Product Preview (in content language)
  • In PDF/Products export and PDF from Product Preview (in the selected language / content language)
  • In Information from Linked Products in DAM Document Details (in UI language)
  • For multi-language attributes:
    • Terms are resolved for the specified language (if there is no translation for the language, term ID is displayed)
    • Product references are resolved according to the language (if the referenced product does not exist the value is resolved as <product ID> (<CatalogID>), if :IMG or :DESC modifiers are used - the value stays unresolved)
    • Expressions are calculated according to the language and tag (see more info in Attributes)

In addition to external product exports, the resolved external product values for multi-language attributes are displayed:

  • In product descriptions (names) in Product Search and Product Editor
  • In faceted product search by attribute values (in the External Data search scope)
  • On Compare Products and Product Versions page

  • In Product Preview and all attribute value previews

  • In PDF (PDF/Products export and PDF from Product Preview)
  • On the Variants tab of the Product Editor (variant attribute values)
  • In DAM Document Details ( Information from Linked Products section)

The export of some types of data can be customized, in particular:

  • value list items in attribute values (to export value list item descriptions)
  • markdown and text-table attribute values
  • dates
  • decimal values

Find more details in regard to export customization in product-import-export-plugin technical documentation.

Handling of 'Dirty' Attribute Values Data in External Product

In this context, the 'dirty' attribute values refer to attribute values which are are not a part of external (clean) product with resolved and calculated attribute values. This concept includes the following:

  • Invalid product attribute values due to wrong format/wrong attribute type (date, integer, long format). Invalid product attribute values can be imported (see the Import Products and Prices page for details) or can be wrongfully saved on the Attributes tab of the Product Editor. On the Attributes Tab, they are marked red and have an error message when the attribute value cell is in focus.

Even one invalid value in a multi-valued attribute results in excluding any of this attribute's values from external product.

  • Attribute values which cannot be resolved. For example, attribute values set by expressions which cannot be calculated (result in error) or the calculation of which results in 'null' value.

The 'dirty' attribute value for variant is excluded from the variant without the fallback to the master product value.

Such 'dirty' values are:

  • not searched for in External Data scope and do not appear in facets
  • not exported in external product exports
  • not considered in widgets which count attribute values in products in External Data scope

The following 'dirty' values are not excluded from the external product:

  • text-table attribute values which do not comply with the text-table format
  • attribute values which do not comply with the attribute type extension restrictions (min/max length, etc.)

Unresolved terms and product references in text-table and markdown attribute values are included into external product as unresolved term ID/product reference value.

Other Exports

Other export formats include:

  • XML/BMECat2005 (Product export compliant with BMECat2005 classification)
  • XML/SolrML (OPC compatible format)
  • PDF/Products (Product Datasheet export)

Export Parameters

The Export Products page contains the parameters used as filters for product export.

There are two types of filters that could be applied to the Products and Prices export:

Parameters limiting the exported products number

The number of exported products may be limited by defining the following:

Product Catalog

The Export Products page will have Product Catalog as the first field to select the catalog for export in the following cases:

  • When accessing Export Products page from the PIM main menu.

Enter the catalog ID into the field or use to select the catalog for export.

If no catalog is selected or no search performed, all products from the system corresponding to other export parameters will be exported.

Products

The Export Products page can have Products field defining the initial range of products for export.

This field is available in the following cases:

  • When accessing Export Products page from the specific Product Editor. In this case only this single product will appear in the Products field.

  • When selecting one or multiple products and selecting the desired export option from the drop-down list on Product Search page.

In this case Search Parameters link is also available to go back to the search results page with the selected products.


These pre-selected Products cannot be removed or changed.

Search Parameters

The Export Products page can have Search Parameters as the first field.

 This field is available when accessing the Export Products page from Product Search by selecting the desired export option from the drop-down list after executing a product search according to some search parameters.

 In this case the initial range of products for export is limited to the Product search result list.

The page will have both the Search Parameters and Products fields in case of some search performed and products selected. In this case, only the selected products will be exported.

You can click Search Parameters link to go back to the relevant Product Search results.

Only Products Changed

It is possible to limit the number of exported products by products exposed to any changes within a specified period of time.

Only Products Changed section is activated by the relevant radio button. Select a date from the calendar to export the Products changed after the date or specify a time period (in days, hours or minutes) to export the Products changed within this period.

The selection of Change date is not considered exports all Products.

Parameters limiting the content that should be exported for the products

These parameters are not applicable to Raw Products export ( JSON/Products (Raw) and EXCEL/Products (Raw)).

You can export a file and set Channel, Contract and/or Language as filter. Filtering means that the products themselves are in the export, but attributes, contracted products and translations are filtered. Each of the above parameters influence ONLY on collection export. Products which have no attribute left ( Channel), don't have any contracted product ( Contract) or don't have any attribute with the target language ( Language) are still included in the export. So if you select a language, your intention is to filter by that language and exclude all others. And if you do not select any language at all, it means that you do not wish to filter anything, so all languages are exported.

  • Channel - select a channel, only attributes defined in channel will be exported. See Channels for details.
  • Contract - enter the Contract ID directly or select the Contract using the  icon. Only contracted products (product assignments to specific contract on the Assortments tab in Product Editor) and prices defined for the selected contract will be exported. If there are no relevant contracted products or prices, the product is exported without any contracted products or prices.
  • Export Language - select a pair of <Language ID>-<Country code> from the drop-down list to define a language, for which data should be exported.
    • All attributes that aren't multi-language attributes will be exported

Non-multi-language attribute should not have any language defined for its value.

    • All multi-language attribute values defined for the export language will be exported
    • Multi-language attribute values without any language defined (when there is no value specific for the export language) will be exported
    • If a markdown or text-table attribute has a value with a term, the term is exported in the selected language
    • If a non-multi-language attribute's value is an expression with a term without any language defined within the expression, the term ID is exported
    • In a non-multi-language attribute has a value with a term, the term ID is exported (except for PDF export)
    • Documents defined in the selected language or documents which don't have any language defined (if there is no such a type of document for the export language) are exported

See Variant Documents section below for details in regard to documents' export logic for product variants.

Common Parameters

To export Products and Prices you need to fill in the following data:

  • Output File Format - select the desired option from the drop-down:
    • XML/BMECat2005
    • XML/SolrML
    • PDF/Products
    • CSV/Products
    • JSON/Products (Raw)
    • JSON/Products
    • EXCEL/Products (Raw)
For the XML, CSV, PDF and  JSON/Products formats Variants of product will be exported as separate products. For the JSON /Products (Raw) and Excel/Products (Raw) formats Variants will be exported as one product.
  • Output File Encoding - select the encoding format from the drop-down list.

Encoding is necessary for the correct display of data in international systems:

  • UTF-8 is an international character encoding that can be used for every existing language. The first 127 signs of UTF-8 match ASCII code, which makes it suitable for almost all systems. It is the recommended encoding.
  • UTF-16 is a variation of UTF-8, which uses the same characters but it is not compatible with ASCII. It should be used if destination system depends on UTF-16.
  • The ISO-8859-1 encoding was developed by the International Organization for Standardization (ISO) and describes a Western European character set. It is used for data transfer within Western Europe.
  • Windows-1252 encoding was developed by Microsoft and it is recommended only for data transfer between Windows systems. Non-Windows systems often have problems to import this character set.

Only UTF encodings can be used for JSON formats.

  • Job ID - specify a unique Job ID for the export job or leave the field empty. In the latter case, the unique ID will be created automatically.
  • Execution Time - to set the execution time for export, click the  icon to set date and time for export. If Execution Time is not specified, export execution takes place immediately. Use the  button to clear the schedule.

Once the import schedule is set, click  to save the export job to be executed later.

Click , to restore the initial export parameters, if there were any when opening the page.

Click  to start export immediately.

Click the Result link to download the exported files.

The execution log is accessible by the execution.log link or in the Working directory (accessed by clicking ). Click the link to go to the Manage Jobs page.

Variants Export Fallback Logic

Variants Export Fallback Logic is not applicable to Raw Products export ( JSON/Products (Raw) and EXCEL/Products (Raw)).

There are some configurations for the product variants export that can be set using the configuration attributes ( -> System -> Configuration Attributes (in the Configuration section)).

Variant Documents

You can configure the fallback logic applied to the collection of Product Variants' documents to be exported using the  jcatalog.product.document.variantFallbackLogic configuration attribute.

Example of the configuration attribute value:

{"preview":"variant","product_image":"variantOrMaster"}

The available logic types are:

  • all - documents of the specified type related to the variant and master product are exported to the touchpoint. Example: if there is a 'Preview' document for the master and variant, both documents will be exported for the variant.
  • variant - only documents of the specified type related to the variant are exported. Example: if there is a variant 'Preview' document, regardless of whether or not master 'Preview' document exists, this variant document will be exported for the variant.
  • master - documents of the specific type related to the master product are exported for variants. If there is no document for the master, the document of this type for the variant is exported. Example: there is 'Preview' for the master and variant, but we want to ignore the variant document when exporting this variant product. Master 'Preview' will be exported for the variant, and only when there is no master 'Preview', the variant document will be exported.
  • variantOrMaster - documents of the specific type related to the variant are exported for the variant, if no such documents exist, the master documents are exported for this variant product.

The variant document fallback logic does not take into account whether a language is defined for the document or not. If there is a variant-specific document of the specified type in any language, it is assumed that the variant has a variant-specific document, even if the language of the document may differ from the export language.

For example, the configuration attribute value is:

{"preview":"variantOrMaster"}

The variant has one preview document in 'en-GB' and there is a master preview document without any language defined. When exporting for "de-DE" language, the fallback logic sees that variant has the preview document (although in a different language) and does not take master document. However, the variant preview document in 'en-GB' will not be exported, as it does not meet the export language parameter 'de-DE'.

If no fallback logic is set in the configuration attribute, all documents related to the variant and master will be exported.

Variant Prices

The variants' prices export fallback logic can be set during the application's installation using the jcatalog.product.price.useFallbackForVariant (boolean) attribute. If the attribute value is set to 'true', the variant product will use the master product's price (if there is no specific price for this variant with identical parameters: price type, contract ID, currency ID and price validity period).