Research Library

Een Drupal-catalogus voor lezingen, boeken, artikelen en kaarten: elk item geclassificeerd volgens standaardschema's, afgestemd met een audittrail, en doorbladerbaar op onderwerp.

 

## Wat het is

Research Library is een Drupal-subsuite met drie modules, `classification_x`, `library_x` en `research_library`, die externe inhoud zoals lezingen, boeken, onderzoeksartikelen en kaarten catalogiseert in een register met betrouwbaarheidsscores, elk item classificeert volgens bibliografische en onderwerpsclassificatieschema's, en bezoekers een pagina met facetten biedt om het resultaat te bekijken.

Het bouwt voort op de [External Entities](/nl/producten/external-entities)-suite van MADDev: in plaats van zelf inhoud op te halen, registreert het waar een item zich bevindt en welke processormodule al weet hoe deze op te halen.



 

 





 

## In één oogopslag

Modules`classification_x`, het classificatiesubsysteem; `library_x`, de catalogushub; `research_library`, de openbare browse-laagDrupal core11VereistCore Field, Options, Taxonomy, Datetime, Text en Media; de module `key`; de bijgedragen module `external_entities` en het eigen `entities_ext` van MADDevCatalogustypen`lecture`, `book`, `research_paper` en `map`, elk een in code gedefinieerde `library_item`-bundelVeldtype`classification`, een generiek veldtype: een tuple van schema, code en label, waarbij meer dan één schema op hetzelfde veld kan staanWerkt metElke geregistreerde External Entities-processormodule, bijvoorbeeld `species_ext`, `wikipedia_ext`, `publications_ext` of `entity_ext`StatusIn ontwikkeling. Gebouwd en geverifieerd in juni 2026 met een eerste collectie van 20 lezingen en 11 boeken voor [The Neville Goddard Library](/nl/projecten/neville-goddard-library); de deduplicatie- en samenvoegengine volgde. Nog niet op een openbare site.

 

 





 

## Wat bezoekers zien

De `/library`-pagina biedt facetten voor de catalogus op itemtype, collectie en classificatieschema, met een zoekvak voor titels.

Het openen van een item toont de detailpagina: titel, datum, bronnen, classificatiechips en, waar een exemplaar is gespiegeld, de eigen bodytekst van het item.



 

 





 

## Wat het toevoegt aan een Drupal-site

### Entiteitstypen

`library_item`: het catalogusrecord, in vier door code gedefinieerde bundels: `lecture`, `book`, `research_paper` en `map`. `library_source`: één rij per vertrouwde upstream-repository, met de eigen trustsubscores van die bron.

### Velden en taxonomie

- `classification`: een generiek veldtype dat een schema, code en label bevat; meer dan één schema kan op hetzelfde veld staan
- `library_collection`: een taxonomievocabulaire om items in een project of collectie te groeperen
- Vier basisvelden op `library_item` bevatten het reconciliatiepatroon van de suite: `field_classification`; `field_local_copy`, een verwijzing naar een gecorrigeerde lokale kopie die latere harvesting niet zal overschrijven; `field_duplicate_of`, een zachte link naar het canonieke item; en `field_merge_provenance`, een JSON-audittrail van hoe een samenvoegingsbeslissing tot stand kwam

### Plugintypen

- `@ClassificationScheme`: één klasse per classificatieschema; een nieuwe verschijnt in het instellingenformulier en de schema-dropdown van de veldwidget zonder enige wijziging aan schema of configuratie
- `@LibraryItemType`: een catalogusbundel zoals `lecture` of `map`
- `@LibraryMergeStrategy`: hoe twee catalogusitems met elkaar worden verzoend; de meegeleverde strategieën zijn `soft_merge` (de standaard), `confidence` en `provenance`

### Pagina's

- `/library`: de openbare gefacetteerde bladerpagina, op itemtype, collectie en classificatieschema, met een zoekopdracht op titel
- `/library/item/{id}`: de detailpagina van een item, met de titel, datum, bronnen, classificatiechips en, waar een kopie is gespiegeld, de hoofdtekst
- `/admin/config/content/classification`: instellingen voor classificatieschema's
- `/admin/content/library/duplicates`: deduplicatiecuratie
- `/admin/config/library/merge-policy`: configuratie van samenvoegingsbeleid

### Diensten

`library_x.dedup` vindt waarschijnlijke dubbele items op basis van genormaliseerde titel binnen dezelfde bundel en collectie. `library_x.classifier` voorziet items van tags volgens schema's zoals LCC, Dewey en Wikipedia-categorieën met behulp van Claude, uitgevoerd vanaf Drush in plaats van automatisch. `classification_x.iconclass_motif_bridge` slaat op zachte wijze een brug van een Iconclass-notatie naar een folkloremotiefentiteit, en doet niets wanneer die andere module afwezig is.

### Drush-commando's

`lxin` registreert in bulk een eerste deel van catalogusvermeldingen uit CSV. `lxmir` spiegelt vertrouwde items: het haalt de inhoud op, maakt een beheerd bestand en een documentmedia-item aan, en koppelt dit aan het catalogusitem.

### Permissie

De route `/library` vereist *Gepubliceerde bibliotheekitems bekijken*, een permissie die wordt gedefinieerd door `library_x`.



 

 





 

## Databronnen en licenties

Alleen `classification_x` bereikt een externe bron, en dan nog slechts in beperkte mate. Labels voor Getty's Art &amp; Architecture Thesaurus worden opgezocht in de Linked Open Data-woordenlijstdienst van Getty wanneer de `data_ext`-module van MADDev is geïnstalleerd, en vallen terug op de kale code wanneer dat niet het geval is.

Bijschriften van de Dewey Decimal Classification zijn OCLC-gelicenseerd, dus `classification_x` slaat standaard de kale code op en toont die, en toont de bijschrifttekst pas zodra een licentiesleutel is geconfigureerd in de `key`-module. MADDev past dezelfde discipline toe op het niveau van hele werken, niet alleen catalogusmetadata, via [Copyrights Guard](/nl/producten/copyrights-guard).



 

 





 

## Ontwerpbeslissingen

- **Strikte eenrichtingsgelaagdheid.** `classification_x` is van niets daarboven afhankelijk; `library_x` is naar beneden afhankelijk van `classification_x`; `research_library` is naar beneden afhankelijk van `library_x` en definieert zelf geen entiteit. Geen van beide lagen voedt terug naar boven.
- **Nieuwe classificatieschema's vereisen geen schemawijziging.** Eén nieuwe `@ClassificationScheme`-klasse toevoegen is voldoende: deze verschijnt vanzelf in het instellingenformulier en de schema-dropdown van de veldwidget.
- **Catalogusbundeltypen zijn code, geen configuratie.** Een nieuw `library_item`-type is een `@LibraryItemType`-plugin, en de browsepagina in `research_library` neemt het automatisch op in haar facetten, zonder eigen UI-code.
- **Reconciliatie behoudt het record, niet alleen de samenvoeging.** Een catalogusitem kan verwijzen naar een lokaal gecorrigeerde kopie die latere harvesting niet zal overschrijven, gemarkeerd worden als duplicaat van een ander item, en een JSON-audittrail bevatten van hoe die beslissing tot stand kwam, onder een van de drie inplugbare samenvoegstrategieën.
- **Een benoemd upgradepad, geen herschrijving.** De browsepagina filtert voorlopig in PHP, een keuze die past bij een eerste deel van de collectie; een op Search API gebaseerde versie is de geplande vervanging naarmate de collectie groeit.



 

 





## Start een project.

Vertel ons over de inhoud die u wilt laten catalogiseren en classificeren, en hoe u wilt dat bezoekers deze doorbladeren.



[Neem contact op →](/nl/contact)