Eine Node JS-Bibliothek zum Durchsuchen öffentlicher Bibliothekskataloge im Vereinigten Königreich. Dies wurde für die Verwendung in anderen Projekten entwickelt, die mehrere Bibliothekskataloge durchsuchen müssen.
Im Vereinigten Königreich gibt es etwa 200 öffentliche Bibliotheksdienste, von denen jeder über ein eigenes Bibliotheksverwaltungssystem und einen zugehörigen Online Public Access Catalog (OPAC) verfügt – abgesehen von einigen, die Systeme gemeinsam nutzen.
Obwohl es so viele gibt, gibt es relativ wenige Arten von Bibliothekssystemen und weniger Anbieter. Ziel dieses Projekts ist es, die Interaktionen mit jedem Webkatalogtyp zu definieren, um allgemeine Prozesse zu automatisieren. Zum Beispiel die Suche nach einem Buch.
Dies bietet Möglichkeiten zur Datenaggregation, z. B. die Möglichkeit, im gesamten Vereinigten Königreich nach der Verfügbarkeit eines bestimmten Buches zu fragen. Oder es könnte Funktionen zur Verwaltung des Kontos eines Benutzers über alle seine Bibliothekskonten hinweg bereitstellen, beispielsweise die Automatisierung von Buchverlängerungen.
Eine Liste der öffentlichen Bibliotheksbehörden des Vereinigten Königreichs ist in der Datei data.json enthalten. Darin sind der Name der Bibliotheksbehörde und die Art des Bibliotheksdienstes enthalten, zusammen mit spezifischen Daten, die zum Durchsuchen dieses Dienstes erforderlich sind, z. B. der Web-URL.
Es enthält den GSS-Code für jede Behörde. Dies ermöglicht die Kombination mit anderen Datensätzen, die möglicherweise an anderer Stelle veröffentlicht werden.
Zum Beispiel:
Name | Code | Typ | URL |
---|---|---|---|
Aberdeen-Stadt | S12000033 | Spydus | https://aberdeencity.spydus.co.uk/ |
Das Projekt verwendet Node Package Manager (NPM) für die Paketverwaltung. Beim Herunterladen einer Kopie des Projekts sollten die erforderlichen Abhängigkeiten installiert sein. Vorausgesetzt, Node ist bereits installiert, erstellen Sie Folgendes:
npm install
Führen Sie diese mit Jest aus. Für jeden Bibliotheksdienst sind in tests.json
fünf ISBNs definiert. Die Tests erfordern nur eine ISBN-Suche, um erfolgreich zu sein (da Bücher aus dem Verkehr gezogen werden können und wir nicht möchten, dass automatisierte Tests häufig aus nicht funktionsfähigen Gründen fehlschlagen).
Das Projekt implementiert die folgenden Methoden
Verfahren | Beschreibung |
---|---|
Dienstleistungen | Gibt gespeicherte Daten über Bibliotheksdienste (Behörden) zurück. |
Bibliotheken | Gibt Filial-/Standortinformationen aus dem Online-Katalog zurück. |
Verfügbarkeit | Gibt die Verfügbarkeit eines bestimmten Buchs zurück. |
Gibt ausgewählte Inhalte der data.json-Datei für jeden Dienst zurück. Dies kann nützlich sein, wenn ein Entwickler eine Schnittstelle erstellen möchte, die die Bibliotheksberechtigungen in einem Filter auflistet.
Verfahren | Beschreibung |
---|---|
.services(serviceFilter) | Gibt eine Liste der Bibliotheksautoritäten zurück. Der Dienstfilter filtert nach Name oder Code und ist optional. |
Gibt eine Liste der Bibliotheksdienstpunkte in jedem Bibliotheksdienst zurück. Dazu können mobile Bibliotheken und verschiedene Standorte innerhalb einzelner Gebäude gehören.
Verfahren | Beschreibung |
---|---|
.libraries(serviceFilter) | Gibt eine Liste von Bibliotheken für jeden Dienst zurück. Der Dienstfilter filtert nach Name oder Code und ist optional. |
Gibt Daten zurück, die die Anzahl der verfügbaren/nicht verfügbaren Exemplare des relevanten Titels an jedem Bibliotheksdienstpunkt für jeden Bibliotheksdienst zeigen.
Verfahren | Beschreibung |
---|---|
.availability(isbn, serviceFilter) | Ruft die Verfügbarkeit eines bestimmten Titels durch Übergabe der ISBN ab. Der Dienstfilter filtert nach Name oder Code und ist optional. |
Originalcode mit MIT-Lizenz lizenziert.