Skip to main content

Ten years of the inventory

· 6 min read
Koen Van Daele
Onroerend Erfgoed

Since May 13, a brand new inventory has been live at https://inventaris.onroerenderfgoed.be. It looks very different, but anyone who knew the previous version will recognise a lot: the data is still the same heritage Flanders is rich in. Behind the scenes, though, plenty changed — the underlying technology was rewritten from scratch. Today we look back at ten years of technological evolution behind the inventory.

What was new then is old now​

The new inventory follows the technological principles and architecture Flanders Heritage Agency has used since 2014, following the merger of the Flemish Institute for Immovable Heritage (VIOE) and the Ruimte en Erfgoed agency. At the time, the agency had a very diverse technology landscape, and it was quickly decided to move to a new technology stack.

VIOE already had a strong preference for open source software, and that choice was kept: on the systems side we stuck with *nix servers (Debian or Ubuntu), and on the database side PostgreSQL remained the obvious choice — no licensing cost, ample capacity for our volumes, and with the PostGIS plugin, an excellent GIS engine.

The biggest change was the choice of programming language. Where VIOE had developed in PHP and Ruimte en Erfgoed worked with Java and .NET, the new agency settled on Python. Of the three major Python web frameworks available at the time (Django, Flask and Pyramid), we ultimately went with Pyramid. Elasticsearch was added for fast search over large datasets, and Redis for caches and queues handling asynchronous jobs.

Our frontends have since used a CSS framework like Foundation, and like many other web developers, we made the move to Single Page Applications (SPAs) — web applications running largely on JavaScript, talking to the backend continuously through REST services. We use those heavily for management environments and complex applications like our geoportal; for public-facing pages we deliberately keep things functional with minimal JavaScript, so they work well on older devices and index cleanly for search engines. Our first SPAs used Dojo; more recent applications use Aurelia.

Where the old inventory started out on classic HTML forms and HTTP POST requests, it evolved over the past decade toward a system built around REST services. In the new inventory, as in all our current applications, we followed that through fully: we built a Resource Oriented Architecture, moving from a few large, monolithic applications to a network of smaller, more focused applications each with their own specialisation. The new inventory is now the central component of that network.

Deployment and operations changed just as much: ten years ago we made manual changes on a handful of servers in a single data centre; today we run automated deploys across two data centres, using Ansible for base server setup, fabric for rolling out applications, and Alembic for managing version-controlled database schemas.

It's not just the technology that changes​

Technology wasn't the only thing that changed — the content and focus evolved just as much. When we launched the inventory in 2009, the Flemish Institute for Immovable Heritage had just been founded as a scientific institution that, for the first time, brought together research into archaeology, built heritage and landscapes. Several inventories and information systems (databases, but also books like Bouwen door de Eeuwen Heen) came under shared management for the first time. Since those systems each had their own angle, the first version of the Flanders Heritage Inventory was conceived as a portal: one look and feel, but each inventory kept its own data model. At launch in May 2009, the portal held the built-heritage inventory and the WWI heritage inventory, plus supporting modules for images, events and thesaurus terms.

Between 2009 and 2015, new modules were added: organs, archaeological zones, historic gardens and parks, heritage trees and woody plantings, landscape anchor points, and maritime heritage. It quickly became clear that despite methodological differences (a building gets demolished, a tree gets felled), these inventories were essentially doing the same thing: describing what heritage exists where, documented with images, descriptions and thesaurus terms. Every new module was therefore built as an adapted version of the built-heritage inventory, the main remaining difference being the location component: precise address data for small elements versus larger heritage ensembles for the other modules.

When VIOE merged with the Ruimte en Erfgoed agency in 2012, the protected-heritage database came along with it. It turned out to hold mostly legal data and little content, so it was folded into the inventory as a separate module that largely shared the same data model. This eventually became the designation objects dataset (see Heritage objects and designation objects), made public in June 2016.

As the inventory evolved, it became clear that all these different inventories weren't actually that different, and we started treating them more as one integrated inventory — which also led to more communication and collaboration between heritage researchers. Alongside the launch of designation objects, we also introduced the term "heritage objects": every object from the scientific inventories got its own heritage object with a unique URI. In 2016 this was still largely cosmetic — the various detail pages were merged into one, but underneath they remained separate datasets with their own data model. At that point it became clear the old inventory had been pushed as far as it could go within its original design.

So preparations began for what eventually became the new inventory — partly because our view of the scientific inventories had shifted, from separate silos to one large inventory of heritage objects, and partly because the underlying technology was due for replacement. Now that the new inventory is here, we keep refining it until it does everything we want within its current capabilities.

Want to know more about the inventory? A few other posts worth reading:

The IT world keeps evolving fast. Our core business may be the past, but we want to manage that past in a forward-looking way — with a continuous, adaptive approach that stays open to new insight, both into our own subject matter and into the technology we use to manage and share it. Questions about any of this are always welcome — get in touch.