Matthias Vandermaesen
and 3 contributors


Datahub::Factory - A conveyor belt which transports data from a data source to a data sink.


dhconveyor [ARGUMENTS] [OPTIONS]


Datahub::Factory is a command line conveyor belt which automates three tasks:

Data is fetched automatically from a local or remote data source.
Data is converted to an exchange format.
The output is pushed to a data sink.

Datahub::Factory fetches data from several sources as specified by the Importer settings, executes a Fix and sends it to a data sink, set by Exporter. Several importer and exporter modules are supported.

Datahub::Factory contains Log4perl support to monitor conveyor belt operations.

Note: This toolset is not a generic tool. It has been tailored towards the functional requirements of the Flemish Art Collection use case.


Command line options

All commands share the following switches:


Set the log_level. Takes a numeric parameter. Supported levels are: 1 (WARN), 2 (INFO), 3 (DEBUG). WARN (1) is the default.


Selects an output for the log messages. By default, it will send them to STDERR (pass STDERR as parameter), but STDOUT (STDOUT) and a log file (logs/import_-date-.log) (STATISTICS) are also supported.



Documentation about command line options.

It is possible to provide either all importer and/or exporter options on the command line, or to create a pipeline configuration file that sets those options.

transport [OPTIONS]

Fetch data from a local or remote source, convert it to an exchange format and export the data.


Datahub::Factory uses a plugin-based architecture, making it easy to extend with new functionality.

New commands can be added by creating a Perl module that contains a file in the lib/Datahub/Factory/Command path. Datahub::Factory uses the Datahub::Factory::Command namespace and App::Cmd internally.

New Datahub::Factory::Importer, Exmporter and Fixer plugins can be added in the same way, in the lib/Datahub/Factory/Importer, Exporter or Fixer path. All plugins use the Datahub::Factory::Importer/Exporter/Fixer namespace and the namespace package as a Moose::Role.


Pieter De Praetere <>

Matthias Vandermaesen <>


Copyright 2016 - PACKED vzw, Vlaamse Kunstcollectie vzw


This library is free software; you can redistribute it and/or modify it under the terms of the GPLv3.