Research Library
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-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-laag- Drupal core
- 11
- Vereist
- Core Field, Options, Taxonomy, Datetime, Text en Media; de module
key; de bijgedragen moduleexternal_entitiesen het eigenentities_extvan MADDev - Catalogustypen
lecture,book,research_paperenmap, elk een in code gedefinieerdelibrary_item-bundel- Veldtype
classification, een generiek veldtype: een tuple van schema, code en label, waarbij meer dan één schema op hetzelfde veld kan staan- Werkt met
- Elke geregistreerde External Entities-processormodule, bijvoorbeeld
species_ext,wikipedia_ext,publications_extofentity_ext - Status
- In ontwikkeling. Gebouwd en geverifieerd in juni 2026 met een eerste collectie van 20 lezingen en 11 boeken voor The 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 staanlibrary_collection: een taxonomievocabulaire om items in een project of collectie te groeperen- Vier basisvelden op
library_itembevatten 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; enfield_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 zoalslectureofmap@LibraryMergeStrategy: hoe twee catalogusitems met elkaar worden verzoend; de meegeleverde strategieën zijnsoft_merge(de standaard),confidenceenprovenance
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 & 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.
Ontwerpbeslissingen
- Strikte eenrichtingsgelaagdheid.
classification_xis van niets daarboven afhankelijk;library_xis naar beneden afhankelijk vanclassification_x;research_libraryis naar beneden afhankelijk vanlibrary_xen 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 inresearch_libraryneemt 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.