Ga verder naar de inhoud

Naar een efficiënt beheer van digitale assets

In 2021 schreef het DIVA museum een overheidsopdracht uit voor de ontwikkeling van een bidirectionele integratie van collectiebeheersysteem Qi en digital asset manegement system ResourceSpace. Deze opdracht werd in 2022 afgerond. Hiermee werden verschillende tijdsrovende processen, waaronder het manueel koppelen van beelden aan objectrecords en het metadateren van de digitale assets, grotendeels geautomatiseerd. Dit verslag deelt de opzet van het project alsook de werkwijze van de applicatie met de sector.

Auteurs

  • Vincent van Beek, collectieregistrator DIVA museum

Context

Begin 2013 schreef het museum, toen nog Zilvermuseum Sterckshof Provincie Antwerpen, een overheidsopdracht uit voor een nieuw collectiebeheersysteem. De opdracht werd gegund aan Keepthinking, het bedrijf achter het collectiebeheersysteem Qi. De overstap naar het nieuwe systeem in 2014 was de aanzet tot en de hoeksteen van een ambitieuze digitale strategie voor het nieuwe museum waarin, naast verschillende webapplicaties, ook een DAM-systeem een plaats zouden krijgen.

Het destijds gebruikte DAM-systeem voldeed echter niet meer aan de verwachtingen: als gevolg werd in 2017 een prijsvraag verstuurd voor een nieuw DAM-systeem voor DIVA, FOMU & MoMu. Montala, de ontwikkelaar van het DAM-systeem ResourceSpace, bleek de beste partij en het systeem werd in 2018 opgeleverd.

Begin 2021 bestonden bovengenoemde systemen los van elkaar, wat resulteerde in blokkades in de workflow. Als er bijvoorbeeld een nieuwe aanwinst werd fotografeerd, werden de beelden (inclusief embedded data) op ResourceSpace geüpload. De object-gerelateerde metadata, zoals het inventarisnummer, de maker van het afgebeelde item, trefwoorden ... moesten handmatig worden toegevoegd. Vervolgens werd van dat beeld een afgeleide gedownload die in het bijbehorende objectrecord in het CMS werd geüpload, waarna het in Qi’s mediabibliotheek werd opgeslagen. In deze omgeving moest de embedded data, waaronder de naam van de fotograaf of digitaliseringsfirma, nogmaals toegevoegd worden.

Wanneer metadata in één systeem werd aangepast, moest dit dus handmatig in het andere systeem worden gecorrigeerd. Deze twee asynchrone workflows tastte de integriteit van de data aan, maakten deze minder vindbaar en was gewoonweg niet efficiënt.

Doel

Het doel van deze aanbesteding is een volledige bidirectionele integratie van de systemen die bovenstaand proces stroomlijnen.

Het CMS is hierbij de ‘bron van waarheid’ voor alle metadata die met de objecten te maken heeft, zoals titel, kunstenaar, datering, beschrijving, … Het DAM-systeem is de ‘bron van waarheid’ voor gegevens die specifieker zijn voor de digitale assets, zoals fotograaf, licenties, gebruikte apparatuur, …

De broncode van het aangeleverde product moest zo ‘open’ en modulair mogelijk zijn. Concreet moest het museum de code achteraf zelf kunnen uitbreiden en wijzigen (bv. mapping) of dit door een andere partij naar keuze kunnen laten uitvoeren. Het product werd bij voorkeur open source aangeleverd en moest te hosten zijn door de opdrachtgever zelf op eigen infrastructuur, op een webservice in beheer van de opdrachtgever of op infrastructuur van de uitvoerende partij. Deze keuze lag bij het museum. Een goede documentatie (bv. op Github) was een bijkomende vereiste.

Opzet

Workflow

Taal

De applicatie werd ontwikkeld in PHP met behulp van het Symfony-framework. Dit biedt volgende voordelen:

  • PHP is een gekende, veel gebruikte en goed gedocumenteerde programmeertaal.
  • Symfony is een gekend, veel gebruikt, goed gedocumenteerd en robuust framework. Het maakt gebruik van Composer voor het beheer van packages. Er bestaat een zeer uitgebreide waaier aan kant-en-klare packages, waarmee in veel gevallen heel wat programmeertijd kan bespaard worden.
  • PHP is een platformneutrale taal die op elk besturingssysteem kan draaien.
  • Er zijn bestaande Symfony-applicaties die API-calls uitvoeren naar ResourceSpace en REST API’s (zoals MediaHaven van meemoo). Van deze applicaties kunnen op eenvoudige wijze delen hergebruikt worden, wat zorgt voor een grote besparing in implementatietijd.
  • Symfony kan op eenvoudige wijze configuratiebestanden in diverse formaten inladen en verwerken.

Hosting

De applicatie wordt gehost op een server van DigitalOcean. Er wordt een monitoring-systeem voorzien die automatisch een alarm verstuurt naar de verantwoordelijke mocht de applicatie stoppen met werken, zodat zij dit zo snel mogelijk kunnen verhelpen. De ontwikkelaar zorgt er tevens voor dat de software regelmatig up-to-date wordt gehouden, beveiligingsrisico’s tijdig worden aangepakt en zij voorzien in het eventueel ander

onderhoud van de software wanneer dit nodig blijkt, conform de onderling overeengekomen Service Level Agreement.

Openheid

Er werd zoveel mogelijk aandacht besteed aan het gebruik van een of meerdere configuratiebestanden zodat het museum zelf de nodige parameters of mappings kan aanpassen naargelang hun eigen wensen, zonder dat hiervoor enige kennis vereist is van de achterliggende applicatiecode. Dergelijke configuratie kan onder meer de volgende elementen omvatten:

  • ResourceSpace URL, API username en API key
  • URL en logingegevens van Qi
  • Welke metadatavelden in ResourceSpace en Qi moeten worden gesynchroniseerd
  • Welke afgeleide bestanden eventueel uit ResourceSpace moeten worden opgehaald

De applicatie wordt zo modulair mogelijk gemaakt, zodat afzonderlijke componenten desgewenst kunnen vervangen of aangepast worden met minimale impact op de rest van de applicatie.

De applicatie wordt als open broncode gepubliceerd op Github onder een GPLv3-licentie. In de bijhorende README.md zal documentatie staan over de algemene werking, installatie en gebruik van de applicatie. Daarnaast wordt ook zoveel mogelijk documentatie voorzien in zowel de code als de configuratiebestanden.

Uitdagingen

Documentatie

Organisatie

Licentie

  • CC0

Type

Deze pagina is laatst aangepast op 02 mei 2025

Deze pagina aanvullen of corrigeren?

Foutje gespot? Of heb je aanvullende inzichten? Deel je ervaringen via onderstaande knop.