Dieses Dokument beschreibt die benötigten technischen Komponenten zur Umsetzung der Anforderungen für themenspezifische Zugänge im Archivportal-D sowie für das Zugehörige Schlagworttool. Als Grundlage dienten die Konzepte und Mockups des Themenportals Weimar.

Funktionsblöcke und Technische Implementierung

Zuordnungstool-Backend 

Das Zuordnungstool-Backend ist eine Serverkomponente, die mittels HTTP-REST-Aufrufen angesprochen wird und die das Anlegen und Bearbeiten von Systematiken, Schlagwörtern, nutzerspezifischen Merklisten, Bestandsselektionen und Schlagwortzuordnungen ermöglicht. Die Endpunkte werden vom Zuordnungstool und vom APD-Frontend verwendet.

Bevor Schlagwörter Objekten zugeordnet werden können, müssen die Systematiken und Schlagwörter ins System geladen werden. Die Systematiken/Schlagwörter werden dazu mit dem Werkzeug xTree erzeugt und als RDF in das System hochgeladen. Die oberste Hierarchie der Systematik ist das Themenportal. Die Hierarchie darunter enthält die Wurzelknoten der Systematiken mit dem Namen der Systematik (z.B. "Schlagwörter" oder "Regionen"). Auf der dritten Hierarchiestufe beginnen dann die eigentlichen Hierarchien der jeweiligen Systematiken.

Systematiken können geändert werden. Dazu muss immer der komplette Systematik/Schlagwort-Baum neu ins System geladen werden. Wenn dann im Baum Schlagwörter fehlen die schon Objekten zugeordnet wurden dann wird der geänderte Systematik-Baum nicht im System. abgespeichert.

Themenportal und Systematikknoten werden mit internen Primärschlüsseln im System abgespeichert, bei Schlagwörtern ist die xTree-Uri der Primärschlüssel. Die xTree-URI muss bei Schlagwörtern eindeutig und stabil sein!


Beschreibung eines Zuordnungs-Workflows:

Endpunkte

Assignment-Tool-Backend Endpoints

Sekundäre Datenhaltung, Tabellenstruktur der Datenbank

Assignment-Tool-Backend Database

Schlagwort-App

Die Schlagwort-App ordnet anhand von Schlagwortvorschlägen Schlagwörter zu. Die Schlagwortvorschläge werden automatisch erzeugt und als RDF abgelegt. Die Schlagwort-App liest die automatisch erzeugten RDF-Triples ein und ruft mit den Informationen den Endpunkt des Zuordnungstool-Backends auf, um die Schlagwörter in der Tabelle objects_keywords mit dem Status "AUTOSUGGESTED" zu speichern.

Themenportal-Frontend

Im Themenportal bewegen sich Nutzende in der Regel browsend, d.h. sie schränken die Liste der angezeigten Objekte über Schlagwort-Facetten ein. Achtung: eine Einschränkung über die Systematik-Facetten ist nicht vorgesehen. Es soll auch möglich sein, alle Objekte einer Kategorie zu finden, egal auf welcher Hierarchiestufe sich die Kategorie befindet. Technisch wird das über eine Einschränkung auf alle Schlagwörter umgesetzt, die sich in der Hierarchie unterhalb der ausgewählten Kategorie befinden.

Achtung: Dieselben Schlagwörter können zusätzlich noch in einem anderen Teilbaum verortet sein. Daher werden auch Objekte gefunden, denen das Schlagwort durch Auswahl dieses anderen Teilbaums zugeordnet wurde.

Im Themenportal-Frontend werden auch Kategorien angezeigt, denen keine Objekte zugeordnet sind (also keine Schlagwörter aus der darunter liegenden HIerarchie des Teilbaums zugeordnet bekommen haben).

Zusätzlich können Objekte über einen Suchschlitz gesucht und anschließend das Suchergebnis über Facetten eingeschränkt werden. DIe geforderte gleichzeitige Freitext-Suche und Einschränkung auf Schlagwort-Facetten bedingt, dass die Facetten im normalen Suchindex der DDB enthalten sein müssen. Die Suche wird im Themenportal dann immer eingeschränkt auf die top-level category_id erfolgen.

Verknüpfung von Kategorien und Images:

Im Themenportal-Frontend werden die Kategorien der 2. Ebene mit Bildern angezeigt. Diese Bilder sollen über die Drupal-Adminoberfläche der Kategorie zugeordnet werden.

Dazu muss der Nutzer in Drupal das Bild hochladen und dann mit Drupal-Bordmitteln dafür sorgen dass das Bild mit einem festen Link verknüpft wird der nicht den Namen oder Dateinamen etc des Bildes enthält sondern mit <themenportalId>/<categoryId> endet. (Genaues Vorgehen wird hier noch dokumentiert). Dieser Link kann dann vom Themenportal-Frontend durch Einfügen der categoryId generiert werden. Dieser Link ist stabil. Über Drupal kann das Bild das hinter dem Link liegt geändert werden.

Backend-Zugriffe

Das Themenportal-Frontend greift zu auf:

Neue Indexfelder im DDB Suchindex

Indexierung der Schlagwörter im Suchindex

Schlagwörter werden von der IngestApp mit in die zu indexierenden Daten geschrieben. Dazu wird für das Themenportal ein neuer Worker in den IngestApp-Workflow integriert, der für die prozessierte ddbId die zugeordneten Schlagwörter aus den Datenbanktabellen des Schlagwort-Backends liest und in die zu indexierenden Daten schreibt. Dadurch wird sichergestellt, dass die Schlagwörter auch dann neu indexiert werden, wenn das Objekt über die Dash-Oberfläche neu geladen wird.

Für zukünftige zusätzliche Themenportale lassen sich weitere Worker in den IngestApp-Workflow integrieren. Die Schlagwörter aus der Tabelle objects_keywords werden in regelmäßigen Abständen per cronjob mit einem neu zu erstellenden Job prozessiert (z.B. zweimal täglich).