novomind iPIM Connect

For the most up-to-date documentation, please visit docs.brix.ch

Novomind iPIM Connect is a CELUM extension which allows you to synchronize previews, IDs, URLs and asset metadata from CELUM to novomind iPIM.

In the other direction you can synchronize the product structure including attribute values from novomind iPIM to CELUM. This enables you to search for product assets in CELUM by PIM attributes like e.g. EAN, brand or color.

1. Requirements

  • novomind iPIM V4.4
  • CELUM 5.13.4

2. Installation

novomind iPIM

  • Create an API user and note down the credentials

CELUM

  • Place the provided novomind iPIM Connect jar file in home/appserver/lib/
  • Create a root node for the novomind iPIM product hierarchy. It is recommended to create a new node type for this.
  • Create a new text information field 'hierarchyIdentifier' and assign it to the node type of the product hierarchy root node.
  • Set at least the required properties (see section below) in home/appserver/conf/custom.properties
  • Restart CELUM appserver

3. Configuration

Properties

To be configured in {home}/appserver/conf/custom.properties

API Credentials

novomindConnector.api.baseUrl

type: String, required: yes, default: -

The REST API base URL of your novomind iPIM instance

e.g. novomindConnector.api.baseUrl=https://yourcompany-ipim.novomind.com/iPIM/rest/api

novomindConnector.api.clientId

type: String, required: yes, default: -

The client ID of the novomind iPIM API key

e.g. novomindConnector.api.clientId=1

novomindConnector.api.username

type: String, required: yes, default: -

The name of the novomind iPIM API user

e.g. novomindConnector.api.username=user_name

novomindConnector.api.password

type: String, required: yes, default: -

The password of the novomind iPIM API user

e.g. novomindConnector.api.password=password

Other mandatory properties

novomindConnector.license

type: String, required: yes, default: -

The license for Novomind Connect provided by brix cross media

e.g. novomindConnector.license=B3Kj3MbcupVIF/zHV2fn0uwmjRpaQ4YcynIjENCxA0l4ncLRYyUZwubIhXKpgW/+baPziK

novomindConnector.informationFieldId.hierarchyIdentifier

type: Number, required: yes, default: -

The ID of the newly created node information field (see above)

This is a technical information field for storing identifier data needed by the sync algorithm. It is recommended to hide it for all users (except super users) via role configuration.

e.g. novomindConnector.informationFieldId.hierarchyIdentifier=205

novomindConnector.hierarchySync.rootNodeId

type: Number, required: yes, default: -

The ID of the root node of the product hierarchy synchronized from novomind iPIM

e.g. novomindConnector.hierarchySync.rootNodeId=17362

Optional API properties

The provided default values should be fine for most cases.

novomindConnector.api.pageLimit

type: Number, required: no, default: 200

The maximum number of records returned per API request

e.g. novomindConnector.api.pageLimit=50

Consider decreasing this value if you experience request timeouts. The maximum value supported by the novomind iPIM API is 200.

novomindConnector.api.connectTimeout

type: Number, required: no, default: 10

Timeout in seconds for establishing a connection to the novomind iPIM API

e.g. novomindConnector.api.connectTimeout=10

novomindConnector.api.readTimeout

type: Number, required: no, default: 300 (5 minutes)

Timeout in seconds when reading data from the novomind iPIM API

e.g. novomindConnector.api.readTimeout=300

novomindConnector.api.writeTimeout

type: Number, required: no, default: 600 (10 minutes)

Timeout in seconds when writing data to the novomind iPIM API

e.g. novomindConnector.api.writeTimeout=600

Task Properties

novomindConnector.hierarchySync.taskGroup

type: String, required: no, default: Novomind Connect

The name of the CELUM task group for the synchronisation tasks.

e.g. novomindConnector.hierarchySync.taskGroup=novomind:connect

novomindConnector.hierarchySync.taskName.fullSync

type: String, required: no, default: Hierarchy Full Sync

The name of the CELUM task which synchronizes the novomind iPIM structure into CELUM (Full Sync).

e.g. novomindConnector.hierarchySync.taskName.fullSync=Full Synchronisation

novomindConnector.hierarchySync.taskCron.fullSync

type: String, required: no, default: -

A Quartz cron expression for scheduling the full sync task. If you leave this property empty, the task will only run when started manually via CELUM System Tasks.

e.g. novomindConnector.hierarchySync.taskCron.fullSync=0 0 6/12 * * ?

novomindConnector.hierarchySync.taskName.deltaSync

type: String, required: no, default: Hierarchy Delta Sync

The name of the CELUM task which synchronizes the novomind iPIM structure into CELUM (Delta Sync).

e.g. novomindConnector.hierarchySync.taskName.deltaSync=Delta Synchronisation

novomindConnector.hierarchySync.taskCron.deltaSync

type: String, required: no, default: -

A Quartz cron expression for scheduling the delta sync task. If this property is left empty, the task will only run when started manually via CELUM System Tasks.

e.g. novomindConnector.hierarchySync.taskCron.deltaSync=0 0 0-5,9-17,21-23 * * ?

novomindConnector.hierarchySync.errorMailRecipients

type: List of Strings (comma-separated), required: no, default: -

List of e-mail addresses which will receive an error report in case of failure of a synchronisation task.

e.g. novomindConnector.hierarchySync.errorMailRecipients=marketing@example.com,it@example.com

Export Properties

novomindConnector.export.triggerOnDirectAssignment

type: Boolean, required: no, default: true

Whether to trigger exports to novomind iPIM when an asset is directly assigned to an novomind iPIM hierarchy node.

e.g. novomindConnector.export.triggerOnDirectAssignment=false

novomindConnector.export.triggerFieldId

type: Number, required: no, default: -

The ID of a node-referencing information field which refers to the synchronized novomind iPIM product hierarchy.

If this property is set, exports to novomind iPIM are triggered when the configured information field is updated on an asset.

e.g. novomindConnector.export.triggerFieldId=235

novomindConnector.export.clearTriggerFieldOnMoveToTrashbin

type: Boolean, required: no, default: true

Whether to clear the configured trigger information field when an asset is moved to the trash bin

By default no metadata is removed when an asset is moved to the trashbin. With this property set to true, the configured trigger field is cleared when an asset is moved to the trashbin, which will consequently trigger removal of the exported asset data from novomind iPIM.

e.g. novomindConnector.export.clearTriggerFieldOnMoveToTrashbin=true

novomindConnector.export.considerAssetAvailability

type: Boolean, required: no, default: false

Whether to consider asset availability status for exports

If this property is set to true, exports to novomind iPIM will only be triggered if the availability status of the asset is 'active'. Furthermore, an already exported asset will be removed from novomind iPIM when its availability status changes to 'inactive'.

e.g. novomindConnector.export.considerAssetAvailability=true

Example Configuration

#### novomind iPIM Connector ####
novomindConnector.license={provided by brix}

# API credentials
novomindConnector.api.baseUrl=https://yourcompany-ipim.novomind.com/iPIM/rest/api
novomindConnector.api.clientId=1
novomindConnector.api.username=celum_api
novomindConnector.api.password=secure_password!!!11

# ID of the node information field for storing the hierarchy identifier
novomindConnector.informationFieldId.hierarchyIdentifier=301

# ID of the root node of the product hierarchy synchronized from novomind iPIM
novomindConnector.hierarchySync.rootNodeId=1736

# run full sync every saturday at 1 am
novomindConnector.hierarchySync.taskCron.fullSync=0 0 1 ? * SAT

# run delta sync every 4 hours
novomindConnector.hierarchySync.taskCron.deltaSync=0 0 0/4 * * ?

# send error report on sync task failure
novomindConnector.hierarchySync.errorMailRecipients=marketing@example.com,it@example.com

# don't trigger exports when an asset is directly assigned to an product node
novomindConnector.export.triggerOnDirectAssignment=false

# trigger exports when a product node is assigned via node referencing field with ID 195
novomindConnector.export.triggerFieldId=195

# clear this information field when an asset is moved to the trash bin
novomindConnector.export.clearTriggerFieldOnMoveToTrashbin=true

# only export 'active' assets to novomind iPIM and remove 'inactive' ones
novomindConnector.export.considerAssetAvailability=true

4. Usage

  • Login into CELUM
  • Start the hierarchy synchronisation task
  • The configured structure will be set up in CELUM
  • Add assets to the product hierarchy
  • The information will be synchronized to novomind iPIM

5. Recommended

brix extension Carbon Copy

If there are mappings of data from novomind iPIM to CELUM, they will be written on the information field of the product node. To copy them from the node to all assigned assets, we recommend using our extension Carbon Copy.

brix extension Asset Marker

If you like to see in general which assets are used in novomind iPIM, we recommend using our extension Asset Marker.

Compatibility Matrix

CELUM novomind iPIM Novomind Connect
5.13.4 - 6.6 4.4 coming soon

Release Notes

coming soon...