Skip to main content
Version: 2024.4

Basics

General settings

add-configadd-configadd-config

  • Active: Enable/Disable the configuration.
  • Description: Provide a description for the configuration.

Schema definition

schema-definitionschema-definitionschema-definition

  • Configure the exported data with drag & drop as it you do it in the regular grid column definition in Pimcore.
  • Optionally define image / video thumbnails if you are going to export assets - if no thumbnail is selected, the original asset path is used.
  • Make sure your column names are unique and if you use JSON or XML as export format the column names have to be valid for that type. To rename a field, you can use the Operator Alias.
  • If you use exporter settings where the data has to be read (e.g. File name conflict = Overwrite or Trigger for delivery = Deliver directly on save) - you have to export the ObjectId field as id because it is used as identifier.

Workspace definition

schema-definitionschema-definitionschema-definition

  • Workspaces - restrict the export to specific folders.
  • Custom export service - define a custom export service which should execute the export - default is pimcore.datahub.fileExport.exporter.file. If you define your own service, please make sure it is public, shared and tagged as in the sample below:
    app.datahub.my-exporter:
class: AppBundle\DataSyndicator\Exporter\File
public: true
shared: false
tags:
- { name: "pimcore.datahub.fileExport.exporter"}
  • If you want to filter further items you can use the pimcore.datahub.fileExport.isValidExportItem event or overwrite the getQueryCondition() of the exporter service.

Delivery destination

trigger-for-deliverytrigger-for-deliverytrigger-for-delivery

  • File Type: The export format to use.
  • Filename: The name of the target file.
  • Delivery Type: Where the data should be delivered.
  • File name conflict:
    • Overwrite: Always creates a new file with just the changed data. Be careful when using Delivery directly on save with this option as the data will be overwritten.
    • Update current file: Add all data to the same file. If data exists the new data from the object is added or updated.
    • Automatic file increment: If a file exists a new one is created (filename with a numeric suffix). The created file contains only new data.

Delivery Trigger and Execution

trigger-for-deliverytrigger-for-deliverytrigger-for-delivery

The trigger for delivery defines, when the data should be exported:

  • Disabled: The export ist just done by the export command in the ProcessManger (more details later on). Each export is a full export.
  • Deliver directly on save: When the data object is saved, the data of this particular data object is directly written to the target destination. This should only be used if you have simple objects and inheritance is not enabled, because of possible save performance impacts.
  • Populate to queue: When an object is saved, only a queue item is created. The export ist done later on (asynchronously). So there is no performance drawback when you save the object because the "heavy work" is done in the background later on.

For details about the execution settings, see Export Setup.

Storage

By default, Pimcore stores the generated the temporary file on local path: 'document_root/var/tmp/data-hub/file-export' and the output file on local path: 'document_root/var/tmp/data-hub/file-export'.

It is possible to customize the storage type and location by defining Flysystem config in config.yaml:

flysystem:
storages:
pimcore.dataHubFileExport.storage:
adapter: 'local'
visibility: private
options:
directory: '%kernel.project_dir%/var/data-hub/file-export/'

pimcore.dataHubFileExport.temp.storage:
adapter: 'local'
visibility: private
options:
directory: '%kernel.project_dir%/var/tmp/data-hub/file-export/'