Working with PIM

PIM – Product Information Management – is a feature which lets you manage all aspects of your product portfolio from one central location. This provides you with greater control over all aspects of the product lifecycle than traditional setups.

With PIM you can deal with cross-department product information such as:

  • Essential product data like names, titles, product numbers, descriptions, etc.
  • Categorization and product relationships like categories, related products, etc.
  • Digital assets like images, videos & documents
  • Technical and logistical data like weight, volume, stock states & unit data
  • Marketing data like keywords, SEO, etc.
  • Localization of product data, e.g. descriptions, names, etc.

In practical terms, the process is usually as follows:

  • Products and product groups are imported to a warehouse from an external system using the integration framework
  • The products are indexed using the New Indexing engine
  • The products are enriched using either:
    • Queries which extract a subset of the product portfolio with something in common – products with no title or products with no English description.
    • The warehouse tree, where products are organized in groups and subgroups.
  • The enriched products are published to one or more channels, e.g. an Ecommerce web shop, Adobe InDesign, etc.

In this article, we will go through the basic concepts and components in Dynamicweb PIM. We assume that you are somewhat familiar with Dynamicweb Ecommerce.

Key Technologies

On a technical level, Dynamicweb PIM builds on two key technologies:

  • The New Indexing engine is used to index and query the product portfolio
  • The Integration Framework is used to import the product portfolio from remote systems, like Dynamics NAV or AX

However, while knowledge of these features is useful during the creation phase, it is perfectly possible to work as a content editor, translator, or a portfolio manager without it.

Like other areas of Dynamicweb, the interface for Dynamicweb PIM is accessed through the area menu (1) and consists of an area tree (2) and a content pane (3) (Figure 2.1).

Figure 2.1 The PIM interface

The content pane is where content is rendered and interacted with – in this case, view modes for managing and enriching the product portfolio.

Via the area tree you can access the following:

  • The PIM Dashboard
  • Personal and shared queries
  • PIM Warehouses and groups
  • The Email notifications feature

You can read more about dashboards here – the rest of the features are described in this article.

Tip: All area trees can be refreshed by double-clicking on the button in the area menu.

Since Dynamicweb PIM is something of a paradigm shift compared to Ecommerce, here’s a short list of features which may require more attention than you are used to. 

In most cases, products are imported to the portfolio from an external system – e.g. an ERP system like Dynamics NAV or AX. They can be organized inside PIM in a manner which is optimized for enrichment and administrational purposes – e.g. by serial numbers, by manufacturer, etc. – and then published to various channels in a manner which makes sense in the context.

If you are not familiar with the Integration Framework, please consult the Integration documentation.

You can, of course, also create products in Dynamicweb PIM manually.

Dynamicweb PIM builds in part on the generalized search framework in Dynamicweb known as New Indexing, which can be used to index all sorts of data on a solution – content, users, files, products, etc. If you are unfamiliar with the indexing framework in general, please consult the manual.

PIM specifically depends on a product index being present on the solution, which can then be queried to identify products which share certain properties - products in group X with no description, products with no price, etc. Every time a product retrieved by a query is enriched and saved, this index is rebuilt – and you can configure the warehouse to do the same thing when editing products via the warehouse tree structure.

To select a product index for Dynamicweb PIM:

  • Go to Settings > Ecommerce > Advanced configuration > PIM
  • Use the Available Indexes list to make one or more indexes available to PIM
  • Save
  • Select a default index using the Default Index dropdown
  • Save

You should end up with a setup similar to (Figure 5.1).

Figure 5.1 Selecting a default index

In most cases using the same index for PIM and your frontend is perfectly fine. However, if you want to customize the PIM index for e.g. performance reasons or with custom data which is not relevant in frontend, you may want to create a separate PIM index.

It is currently not possible to use two separate indexes for delayed publication of data edited in PIM; since both indexes point to the same data in the database, changes made in PIM to product data rendered in frontend is immediately published.

Dynamicweb PIM introduces a new Boolean field called ’Show in Product List’, which is available when enriching product data. Accompanying this field is a calculated field called ShowInList, which calculates whether this product should be rendered in the product list or not.

The value of the ShowInList field is calculated like this:

Product Type




ShowInList value

Single product 1





Single product 2





Single product 3










Main product 1





Main product 2





Main product 3





- Variant 1





- Variant 2





- Variant 3





- Variant 4





To summarize:

  • Inactive products will always have ShowInList = false
  • Active products with NO VARIANTS don’t care about the ShowInProductList flag
  • Both active products WITH VARIANTS and the active variants can be published using the ShowInProductList flag. Variants will automatically be added as related products when a main product is saved with ShowInList = true.

In concrete terms this simply means that the queries you use to publish products in frontend with should check for the ShowInList value rather than the active value.

As Dynamicweb PIM enables you to edit multiple products, language version, and variants at the same time, you need to pay more attention to your Fields settings (Figure 7.1) than you are perhaps used to.

The field settings can be edited from Settings > Ecommerce > Advanced configuration > Fields.

Figure 7.1 Field settings - an example

Specifically, you must actively decide which fields are allowed to contain differentiated values across both different languages and different variants.

In the screenshot above:

  • The active state is allowed to be different across both languages and variants
  • The name can be different across languages – but not across variants, where we will instead use tags to render the variant combination labels (large, green, etc.) in frontend.
  • The product number must be identical across both languages and variants
  • Descriptions can be different across languages, for translation purposes – but not across variants (where text will be generic)
  • Etc.

Each solution will most likely require a unique setup, so the examples above are merely illustrative of the thought process behind the Fields settings.

The Fields settings will have an impact on where the fields can be edited, both in the Edit view mode (languages) and the product edit mode (languages & variants).

The product portfolio is a collection of all the products on the solution – a kind of database, which can be organized, enriched, and published across various channels.

In most cases, products are imported to the portfolio from an external system – e.g. an ERP system like Dynamics NAV or AX – and are organized in a manner which optimized for enrichment and administration, but which is not necessarily similar to way the products will be presented in a web shop. This could be by serial number, by manufacturer, or by any other metric which makes sense for the particular portfolio.

There are two main ways (Figure 8.1) to organize your product portfolio:

  • Warehouses (1) are parallel to shops in Ecommerce, and can contain a full group structure
  • Queries (2) are kind of dynamic product group, which contain all products matching the query criteria  - e.g. Products with no English description, or products with no weight
Figure 8.1 Organizing the product portfolio

The two are not mutually exclusive, and you will be using both at various times:

  • The warehouse structure allows you to work with product data through a predefined structure, which is useful for people who are expected to know the structure in the first place
  • Queries allow you to retrieve and enrich products independent of the warehouse structure, which is useful for employees who are only responsible for specialized tasks, e.g. translation or textual work

Warehouses are parallel to ‘shops’ in Ecommerce, and are used as containers for groups.

Products from a warehouse can be published across multiple channels, so in most cases a solution will need only one warehouse.

Technically, a Warehouse is in fact a shop with different properties – so to create a warehouse:

  • Go to Settings > Ecommerce > Product Catalog > Shops
  • Click New Shop to open the shop settings (Figure 9.1)
  • Name the warehouse
  • Select a page with a product catalog attached as the Preview page - PIM will use the templates from this page to render previews on
  • Check the Use as PIM Product Warehouse checkbox
  • Save

In addition to these basic settings, you can also define image patterns on a warehouse – and select an index to rebuild when products under this warehouse are edited. This is recommended, as the same thing happens automatically when editing products from a query.

Figure 9.1 Creating a PIM Warehouse

Groups are simply a way to group products and product containers.

They are in all respects identical to product groups in Ecommerce, except of course that they are not necessarily published to frontend – and can therefore be named and organized in a way which makes sense in a PIM context (Figure 10.1).

Most of the time, groups will be imported from an external system to PIM along with the products.

To create a group manually:

  • Right click on a warehouse or an existing group to open a context menu
  • Click New group/New subgroup
  • Fill in the appropriate fields (e.g. Name and Number)
  • Save
Figure 10.1 Groups in PIM

A query is a set of instructions for retrieving and displaying a part of your product portfolio in one of the view modes. If you are familiar with the Dynamicweb indexing framework, you should be familiar with the basics of indexing and queries.

A query consists of:

  • A set of expressions which define which data should be returned by the query
  • Default sorting instructions
  • Instructions for which product fields and languages should be shown in the Edit view mode

Or in other words; show me the products with properties X, sorted Y way, displaying Z fields across Æ languages.

Queries may be personal or shared, and can be organized in folders and subfolders as necessary (Figure 11.1).

  • Queries created under My Queries are personal and cannot be used by other users
  • Queries created under Shared Queries are shared amongst all users on the solution
Figure 11.1 Shared & personal queries

To create a query:

  • Right click on either My Queries or Shared Queries in the PIM tree
  • Click New Query
  • Name the query
  • Select a product index as the data source
  • Click OK

This will open the query configuration view, where you can define the expressions, the sorting instructions and the display instructions.

The way queries work, an empty query returns all data in the index.

This is not very useful, so you want to create a number of expressions to limit the data returned and create specialized, manageable lists for you to work with. For instance, you may want to isolate all active products with no description (Figure 12.1), or perhaps you are only interested in products which are a part of the Christmas campaign.

To create expressions:

  • Click Add Group
  • Select a field in the index
  • Select an operator
  • If the operator requires it, set a test value
  • Click OK
Figure 12.1 Query expressions

The operators and test values you can use depends on the data type of the field you query. For instance, a Boolean is a data type which can only be true or false – and so the only operator available is ‘Equal’ and the only test values available are true and false.

Expressions may be combined in AND-groups and OR-groups, and can be negated to return all elements not matching the expressions. This makes it possible to create pretty powerful and complex queries.

For more information regarding expressions, please consult the indexing documentation.

When a query is executed, the products matching the expression criteria will be rendered in the content pane, where you can review and work with them using the views available to you (see below).

By default, products are sorted by ProductID, but you can define a default sort order in the query definition (Figure 13.1).

Figure 13.1 Creating a default sort order

To do so:

  • Click Add Sorting
  • Select a Field and a Direction
  • Click OK

Don’t forget to save the query before exiting. To remove a default sort order click the red X and save.

The final part of a query is the display instructions – they detail exactly which fields and languages are rendered when executing this query in the Edit view mode.

You have access to two selectors – the Display fields and Display languages (Figure 14.1) – and to include a field or language in the PIM list entries, simply move them from the left side box to the right side box. In this example

Figure 14.1 Display instructions for a query

A few things to keep in mind:

  • The more fields and languages you include, the slower the PIM list will be to work with – this is a browser memory issue
  • The fields and languages are listed in the same order they have on the right side of the selector, so you should sort them to your liking using the sorting arrows

Of course, when working with a query result you always have the option of adding or removing fields and languages from the present view. The display configurations are merely default instructions for the Edit view mode.

When products are imported, they usually only contain basic information – such as an ID, a Name, a Weight and so on.

The Sales and Marketing departments then need to enrich the products with more information – descriptions in various languages, product images, related products, prices and so on – to be able to publish and sell them across different channels, countries, etc.

To manage and enrich your product portfolio:

  • Select a query or a warehouse group
  • Select a view mode suitable for the task at hand – List, Thumbnails or Edit
  • Manage or enrich your products

Apart from the view modes, you also have access to a number of specialized tools, e.g. the bulk edit tool and the import/export to Excel tool, which can make your life easier in some ways. 

When you click on a query or a product group in the PIM tree, the products in the query or group will be rendered in the content pane using one of the three view modes:

  • The List view  mode provides you with an overview of key data, e.g. the product name and number
  • The Thumbnails view mode provides you with a graphical overview showing the product image, number, and last updated date.
  • The Edit view mode provides you with editing access to the fields defined on the query

When starting a new session the view mode will be List – but PIM maintains a persistent environment across the session, and will remember the last view mode used, so it’s easy to switch from one query to another with a minimum of hassle.

Additionally, you can click individual products or product containers to open the details view mode, from which you can work with both main product and variant product data.

The List view mode is optimized for showing essential product data in a list format (Figure 17.1).

Figure 17.1 The List view mode

By default, the fields shown are Image, Number and Name – but you can add or remove fields from the List view mode by using the Visible fields button to open the field selector (Figure 17.2):

  • Move the field you want to include from the left side column to the right side column
  • Sort the included fields in the order you want the columns to occur in
  • Click ok
Figure 17.2 Selecting visible fields

The thumbnails view mode is optimized for showing products in a grid view (Figure 18.1), which provides you with a more visual view of key product data.

This view mode cannot be customized.

Figure 18.1 The Thumbnails view mode

The Edit view mode is optimized for editing products. In this mode, the fields and language selected on the query are rendered and can be edited directly from the list.

For instance, a query which includes the name and description fields of products across two languages (Figure 19.1)…

Figure 19.1 Configuring the visible fields and languages for the Edit view

…will be rendered as in Figure 19.2 when viewed in the edit view mode.

Figure 19.2 The Edit view mode

As you can see from the screenshot, the Edit view mode has some information available by default – the Product ID, the product image (if set), and the creation date and last update date.

As with the List view mode, you can add or remove fields from the List view mode using the Visible fields button – and the view languages buttons to show or hide non-default languages (Figure 19.3).

Figure 19.3 Selecting visible fields and languages

From each of the overall view modes, you can click an individual product or product container to open the details view mode (Figure 20.1).

The details view mode consists of a ribbon bar and a content pane, where the languages (1) and fields (2) selected are shown. You can use the visible fields button (3) to add or remove fields, and the language selector (4) to add or remove languages from the view. You cannot remove the default language.

You can use the Previous and Next buttons to move between products in the current group or query.

Figure 20.1 The Details view mode

If the product contains variants or variant combinations – which can be created from the ribbon bar using the variants button – these can be accessed using the variants menu (Figure 20.2). 

Figure 20.2 Editing variants

Which fields are available on the main product and the variant depends on your field settings:

  • Fields which are not allowed to have different values across variants are shown on the main product
  • Fields which can have different values across variants are rendered on each variant
  • Fields which are not allowed to have different values across languages are greyed out in the non-default language columns
  • If included, the Name, Number, and Active fields are always present on both the main product and variants, but will be greyed out where they cannot be edited

From the details view mode you can also use the preview icon next to the language indicator to preview the currently selected product (main product or variant). In order for this to function properly, you must disable two settings under Settings > Web and HTTP > Customized URLs, namely 404 for products not in website shop and 404 for products not in website language.

From the toolbar, you can also work create or manage variants and related products.


Bulk edit lets you edit multiple products/variants at the same time, and across several fields.

It is available from the Edit view mode when one of more products have been selected (Figure 21.1), and from the Details view mode when a group of variant combinations is selected.

Figure 21.1 Bulk edit

Once you’ve selected the products you want to edit, click the Bulk edit button to open the bulk edit interface (Figure 21.2).

Figure 21.2 Selecting the fields and languages to bulk-edit

Using this interface, you must:

  • Select the languages for which you want the changes to apply
  • Add one or more fields to edit
  • Select or create the value you want to add to that field across the selected products
  • Click OK

Please note, that you can only bulk-edit the fields which are shown for that particular query. You can use the visible fields button to add to or remove fields on the fly.

Bulk-edit is currently limited to batches of 25 products at the same time.

From the Details view mode you can use the Export to Excel button (Figure 22.1) to export selected fields and languages in .XLSX format.

The data can then be translated and imported, making it easier to have e.g. the translation process handled externally.

Figure 22.1 Exporting to excel

Use the languages and data validation selectors (Figure 22.2) to select which data you want to export, then click Export.

Figure 22.2 Exporting to excel

This will export a proper .xlsx file - and field settings will be respected, so fields dependent on the main product cannot be edited, etc.

Once the data has been translated/enriched, you can import it:

  • Upload the .xslx file to your solution
  • Open one of the view modes (List, Thumbnails, Edit)
  • Click the Import from Excel button to launch the import view (Figure 22.3)
  • Select the languages you want to import
  • Review the data validation schema, to ensure that the data type is correct
  • Click Import
Figure 22.3 Importing from Excel

From all view modes you can select products and use the Add to group button to add them to one or more groups in a warehouse (Figure 23.1).

Figure 23.1 Adding products to a Warehouse group

In some cases, products are imported to the product portfolio in a flat structure – perhaps the remote system does not contain information about relations between products, perhaps the integration is not configured to import the existing relationships, or maybe it’s simply more economical to handle product relations in PIM.

In those case, you can activate and use a function called Combine products as family in Dynamicweb.

This will allow you to select a number of products and combine them in a family – a main product with extended variants.

To activate the function:

  • Go  to Settings > Ecommerce > Advanced configuration > General
  • Check the Allow combining products as family checkbox

This will give you access to a new button in both Dynamicweb PIM and Dynamicweb Ecommerce which can be used to combine products.

To use the function:

  • Open the List view mode
  • Select a number of products to combine
  • Click the combine products as family button to open the variants-view (Figure 24.1)
  • Select one or more variant groups to add the products to – e.g. Size or Color
  • Optionally add more products
  • Click Next
Figure 24.1 Combine products as family

In the next screen you are presented with a list of the products selected and a couple of choices (Figure 24.2).

Figure 24.2 Combine products as family

Here you must:

  • Select a product to generate the master product from – all properties on the master will be identical to this product
  • Select which variant option to apply to each of the products selected

Variant combinations must be unique – you can’t save two products with the same variant option (e.g. black). If you’re trying to do this, the products are not truly variants of each other, and the relationship is perhaps better emulated at a group-level.

Please note, that you cannot add new variant products using this view - this is only intended as a tool for combining already existing products.

Tip: You can combine products which exist across different languages as a family - the master product will automatically be created for all languages used in the family.

Products in a product portfolio are in principle ready to be published across multiple channels, such as an Ecommerce shop, desktop publishing software such as Adobe InDesign, etc.

Currently, the only publication channel available is our very own channel – Dynamicweb Ecommerce – but more channels are in the works.

From any of the view modes you can use the Publish to Ecom button (Figure 27.1) to publish parts of the product portfolio to your Ecommerce solution.

Figure 27.1 Publishing products to Ecommerce

You must:

  • Select one or more products using the checkboxes (not necessary in product edit mode)
  • Click Publish to Ecom to open the dialog (Figure 27.2)
  • Fold out the shop(s) you want to add the products to
  • Select one or more product groups to add the products to
  • Click Save and close
Figure 27.2 Selecting groups

The products will be added to the groups selected, and the product index defined on the warehouse/query/shop will be rebuilt.

To unpublish a product from a group:

  • Open the product edit mode
  • Click Publish to Ecom
  • Click the red x to remove an existing group relation (Figure 27.3)
  • Click OK
  • Confirm
  • Save the product

This removes the product from the Ecommerce groups – and the product index defined on the warehouse/query will be rebuilt.

Figure 27.3 Unpublishing a product from Ecommerce

Dynamicweb PIM contains an email notification system, which makes it possible to alert key people – e.g. translators – when their services are needed. Basically, you create a scheduled email which will be sent to a particular user or user group when a certain query contains results/more than X items, to let them know that there are products waiting to be enriched.

This makes it possible for you to create a basic workflow, where items move from query to query as they are enriched.

The Email Notification system can be accessed from the Email notifications node in the PIM tree (Figure 28.1)

Figure 28.1 The Email Notifications node

To create an email notification:

  • Click on the Email Notifications node
  • Click Add notification in the toolbar and configure the notification (Figure 28.2)
  • Provide a title and a subject
  • Select one or more users to email
  • Select a query
  • Select a rule for when the email should be triggered
  • Select an email template to use, and the max number of query items to include in the email
  • Specify which item fields to include in which placeholder column in the email
  • Click Save
Figure 28.2 Creating a notification

Help help, I am being spammed!

Currently, all email notifications are scheduled to be sent every hour.

To change this (and you want to change this) go to Settings > System > Scheduled Tasks and change the repeat interval for the Send PIM email notifications task to something sane, e.g. 1 day.