Arthub Flanders

Open source tools

Arthub Flanders was designed and developed using a set of open source software libraries, frameworks and applications. The Flemish Art Collection, in close cooperation with meemoo (previously PACKED vzw), developed a set of tailor-made tools which cater to the specific requirements of this platform. The entire toolset is made available to the GLAM community under an open source license. Cultural organisations can use and adapt these tools in their own digital projects.

Page contents


Arthub Flanders is a public discovery interface. It is the visible part of the platform and provides direct, user-friendly access to the collection metadata. The platform is constructed as an architecture of loosely-coupled components that automatically exchange, transform and make collection metadata available via interfaces for humans or machines (API’s).

Project Blacklight

Blacklight is an open source Solr user interface discovery platform. You can use Blacklight to enable searching and browsing of your collections. Blacklight uses the Apache Solr search engine to search full text and/or metadata. Blacklight has a highly configurable Ruby on Rails front end. Blacklight is made public under an Apache 2.0 license.

Arthub Flanders is an instance of Project Blacklight tailored towards searching and browsing through cultural heritage objects. The code is made available through Github.

The Datahub

The Datahub is a web-based metadata aggregator. This application aggregates and stores collection metadata from one or more providers or sources, and publishes the aggregated metadata via web-based API’s.

The Datahub implements two API types. The application features a REST API which serves metadata in the JSON format. Metadata is also made available via an OAI-PMH API.

The Datahub front end was built using the Symfony Framework. Aggregated metadata is persistently stored in a MongoDB database.


Catmandu is a data processing toolkit that allows access and conversion of datasets from one format or data model into another.

The Catmandu framework is Perl based and features an ecosystem of pluggable modules which cater to a wide array of formats and use cases.

The Datahub Factory

The Datahub Factory is a tailor-made command line tool which makes it easier to configure and monitor complex ETL (Extract, Transform, Load) pipelines. This toolkit is Perl based and leverages Catmandu modules under the hood.

This command line tool is used to create ETL pipelines between collection registration systems, the Datahub and Arthub Flanders. The Datahub Factory is used to automatically transfer and transform collection metadata between these systems.

Open formats

Collection metadata is automatically exchanged between the various systems which are operational in the platform. Before collection metadata is exchanged, it is transformed to a single unified format: LIDO XML.

LIDO is an XML harvesting schema. The schema delivers metadata for use in a variety of online services, from an organisation’s online collections database to portals of aggregated resources, as well as showing, sharing and connecting data on the web.

Metadata harvested from a collection registration system is transformed to LIDO XML by the Datahub Factory. The transformed metadata is then aggregated by The Datahub. Records are transformed via scripts which are written in Catmandu’s Fix programming language.

A transformation script was created per institution. Each script defines a mapping between record fields provided by the collection registration system and the fields of the LIDO datamodel. The scripts also contain logic that determines when values are to be taken over into the LIDO record.

The scripts used by the Arthub Flanders platform are published on Github.

Community of developers

All components are made available on Github, a popular platform for sharing and collaborating on software. We invite third party developers to contribute to the components. There are several ways to contribute.

  • Bug reports, suggestions, questions and feedback can be submitted on a per component basis as separate issues. These issues can be submitted to the Github project issue tracker associated with the relevant component.
  • Contributors are free to fork the components, make changes such as fixing bugs and adding new features, and contributing these changes back to the projects as Github pull requests.

In order to contribute to the projects, you are required to have an account on Github.


Unless otherwise specified by the original authors, all software is made available as free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (GPL) v3 license.