Pimcore Data Director

The Link Between Pimcore and Your Data Sources

Pimcore Data Director Bundle

With Blackbit's Pimcore Data Director Bundle, you import XML, CSV, JSON and Excel files into Pimcore objects, assets and documents. You can also export feeds and create a REST API without any programming.

In the Pimcore adminpanel, you define which data should be extracted from the import source and assign them to the object fields of your Pimcore objects. All Pimcore data types are supported for the import. It is also possible to import assets and documents.
During the import, data can be modified and adapted to your data model. The Pimcore Data Director provides extensive functions and a comfortable user interface and is a proven basis for importing structured data into Pimcore objects, assets, and documents.

The Data Director reduces the effort for programming individual interfaces and shortens the time until your Pimcore project goes live.

How Importing Data With the Pimcore Data Director Works

The Data Director has proven itself in many e-commerce, PIM, and master data management projects and has been developed according to the requirements of our customers.

The aim of the Data Director is to import information from upstream systems into the objects of Pimcore, enrich it there with further information if necessary, and publish it via Pimcore itself or via a downstream system such as an online shop.

The import always takes place in two steps:

Step 1: Parse the Source File, Import the Data Into a Flat Database Table

In the first step, an intuitive user interface is used to determine which columns of a CSV file or which attributes of an XML are to be imported into Pimcore.

A preview shows directly whether the entries are correct. The import reads the data into an "intermediate table" so that the user can check here which data was imported from the upstream system before it is processed further in the next step.

Step 2: Mapping Attributes by Drag and Drop

In the second step, the information from the intermediate table is assigned to the object attributes of the customized classes defined in Pimcore using drag-and-drop.

For this purpose, all fields of the target class are listed in the attribute mapping panel. You can assign the raw data field to be used from step 1 to each field. 

This sets one or more key attributes so that the process can be repeated and the objects updated in Pimcore. If multiple fields are set as key fields, they are connected to UND, so that objects are only updated if all key fields match the assigned raw data fields.

In the settings of the data port panel under "advanced options" you can specify the import mode, available are

  • Create and edit objects
  • Create new objects, do not edit existing objects
  • Edit existing objects, do not create new objects

Attribute mapping also allows modifications to be made to the source data. For each field mapping, a callback function can be specified, which, for example, performs drawing operations and calculations also on the basis of several imported attributes or attributes already present in the current object.

Data Director Video

Here you can see the presentation of our Tribe Lead Jan Walther about the Pimcore Data Director on the occasion of the Pimcore Inspire 2021.

Pimcore Tutorials on the Data Director

In our Knowledge Base you will find a number of video tutorials that explain the possibilities of the Pimcore Data Director in detail.

Data Director Tutorials Data Director Tutorials

Try the Pimcore Data Director for Yourself

Request a free login to our Data Director Demo. Follow our video tutorials, test the Data Director with your own data. The demo installation is reset every 24 hours.

Advantages Over Own Import Implementation


Performance: data is only imported if nothing has changed since the last import; if an object has not changed during the import, it does not need to be saved

Flexibility: Imports are individually adaptable to the data source and your Pimcore data model;
Import of all Pimcore objects incl. data objects, object modules, field collections, assets, and documents

Minimization of programming effort: minimal programming is required only for data modifications from the data source

Convenience functions: e.g. optimization of inheritance, undoing of imports, replacement of placeholders

Up-to-dateness: benefit from the continuous further development of the Data Director through Bitbucket access (subject to a fee)

Further Highlights at a Glance

 

Data-Based Imports

(Monitoring of a directory and automatic import for new files), e.g. for:

  • automatic asset imports into Pimcore (e.g. from a network drive)
  • automatic assignment of assets to Pimcore objects based on the file name
     

Import of multiple files
(CSV, XML, Excel) from a source directory with automatic deduplication
 

Import from a URL as data source
 

Import of data from Pimcore objects:

  • Migration of data from one object field to another without data loss
  • dynamic mass data editing, which is not possible in the Pimcore grid (e.g. increase prices by 10%)

 

Import of documents (filling of editables)
 

Starting imports via REST-API
 

Generating response documents, e.g

  • Success status of imported objects
  • Record import errors
  • Calling another import that depends on the current import
  • Create CSV, XML, JSON documents that can be used by other systems as import source
  • Response documents for single-page applications/PWA frontend requests


Skip records from the import source
(e.g. if data is missing or of insufficient quality)
 

Simple import of relations

Import of object hierarchies/object trees

  • Specification of the parent element possible
  • Option to optimize inheritance (data is entered as high up in the object hierarchy as possible)
     

Translation of texts (via DeepL or AWS API)
 

Support of all Pimcore data types (incl. relations with metadata, object modules, field collections, etc.):

Optimized performance:

  • if the original data has not changed, the import of the data set can be skipped
  • if data of an object is not changed in the import, it does not need to be saved

Possibility to undo imports:

  • If an error has crept in during attribute mapping and as a result, several thousand objects may have been filled with incorrect data, the change can be rewound - in this case only the fields mapped in the import are rewound, only for the objects changed in the import - a great advantage over importing a complete backup

 


You can also see exactly how this all works in our documentation.