MelvilSnippet – Technische Dokumentation
MelvilSnippet ist ein Dienst für vascoda-Fachportale und andere Webangebote, die ihren Nutzern ein DDC-Browsing zur Verfügung stellen wollen, ohne den kompletten Dienst selbst implementieren zu müssen.
Der Dienst generiert den Portalbetreibern einen XHTML-Snippet, der in die Portaloberfläche eingebunden werden kann. Der Snippet umfasst eine Klassenhierarchie der DDC, in der mit Hyperlinks navigiert werden kann, sowie Links zu dem Katalog des Portalanbieters, mit denen eine Suche nach Ressourcen, die mit einer spezifischen DDC-Notation erschlossen sind, abgesetzt werden kann. Der Snippet kann über einen IFrame (was gewisse Begrenzungen hat) oder über die include-Anweisungen der meisten Skriptingsprachen in die Webseite eingefügt werden.
Der Portalbetreiber muss folgendes zur Verfügung stellen:
1. Eine Möglichkeit, die Anzahl der Treffer für eine bestimmte DDC-Notation abzufragen. Diese muss über eine Standardschnittstelle (SRU/SRW/Z39.50) oder über die von PICA-Systemen verwendete PSI-Schnittstelle erreichbar sein.
2. Einen URL-Template mit dessen Hilfe ein URL konstruiert werden kann, mit dem in den Katalog gewechselt wird und die Treffer für eine bestimmte DDC-Notation präsentiert werden.
3. Eine dynamische Webseite, die über eine URL die Browsingstruktur von Melvil (MelvilSnippet?) abfragen kann und die generierte Content einbinden.
Beispiel:
Das Fachportal Example (http://example.com) will DDC-Browsing über seine Datenbank anbieten. Die Datenbank verfügt über eine Z39.50-Schnittstelle, die das Attributeset Bib-1 unterstützt und für eine entsprechend formulierte Anfrage die Zahl der Treffer für eine bestimmte DDC-Notation zurückliefert (die konkreten Treffer werden nicht gebraucht). Weiter gibt es unter http://example.com/opac einen WebOPAC. Dort können die Dokumente, die mit einer bestimmten DDC-Notation erschlossen sind, aufgerufen werden mit einem URL http://example.com/opac/suche?ddc={notation}. Schließlich gibt es die Seite, wo das DDC-Browsing eingebaut werden soll. Diese Seite liegt unter http://example.com/ddc-browsing und durch den URL http://example.com/ddc-browsing?id={id} wird der Baum aufgeklappt mit der Systemstelle mit der angegebenen ID als Mittelpunkt. Die Verwendung einer semantisch bedeutungslosen ID statt der Notation ist eine von OCLC geforderte Schutzmaßnahme um die Kupplung zwischen Notation und Klassenbezeichnung möglichst zu verschleiern. Die KundenID »example«, die Zugangsdaten für die Z39.50-Schnittstelle sowie das URL-Template http://example.com/opac/suche?ddc={notation} werden in Melvil registriert. Es ist vorgesehen, dass die Fachportale zu einem späteren Zeitpunkt diese Daten selber administrieren sollen.
Wenn ein Benutzer die Seite http://example.com/ddc-browsing?id=1341343 (200 Religion) aufruft, geschieht folgendes:
- Der Webcontainer des Fachportals extrahiert die ID aus dem URL und baut sie in die URL
http://melvil.d-nb.de/melvilsnippet?bs=example&id=1341343ein. - Die URL wird mit einem »include«-Befehl in die Browsingseite des Portals eingebunden (z.B.
c:importaus JSTL, oder diereadfile-Funktion in PHP). - In Melvil wird eine HTML-Tabelle generiert, mit einer Zeile pro angezeigte DDC-Klasse. In der ersten Spalte wird die Notation, in der zweiten die Klassenbezeichnung dargestellt. Sofern diese nicht die verlangte Klasse (in diesem Fall 1341343) ist, ist die Klassenbezeichnung ein Hyperlink, der auf die relative URL
?id=nnnnnverweist. (Für Kompatibilität mit älteren Browsern wie Netscape 4 et. al. kann es notwendig sein, das Pathfragmentddc-browsingmitzugeben über den Queryteilpath=ddc-browsing, so dass die URL obenhttp://melvil.d-nb.de/melvilsnippet?bs=example.com&id=1341343&path=ddc-browsingwird.) In der dritten Spalte wird die Zahl der Treffer in genau der betreffenden Klasse angezeigt und in der letzten Spalte die Zahl der Treffer in der betreffenden Klasse und deren Unterklassen angezeigt. Die Trefferzahlen werden über eine Z39.50-Suche ermittelt und für bessere Performance vier Stunden in einem Cache gehalten. Werden für eine Klasse Treffer ermittelt, sind die Trefferzahlen Hyperlinks, die aufhttp://example.com/opac/suche?ddc=200bzw.http://example.com/opac/suche?ddc=200*(URL-Template 1) verweisen. - Die generierte Tabelle wird an die aufrufende Seite zurückgeliefert und dort durch den
includeeingebunden und angezeigt. Styling kann durch die id- und class-Attribute erfolgen.
Die erste Spalte der Tabelle (Notation) hat das ID MelvilSnippetNotation, die zweite (Klassenbenennung) MelvilSnippetCaption, die dritte (Treffer in dieser Klasse) MelvilSnippetHits1 und die vierte MelvilSnippetHits2. Über diese IDs kann ein CSS-Stylesheet die Tabelle entsprechend gestalten.
Zurück zum Bereich Melvil.
Letzte Änderung: 1.3.2012


