320 likes | 456 Views
Ein Toolkit zur Präsentation von hierarchischen Bibliotheksdaten Andres von Arx UB Basel, August 2006. Das Problem:. lange, unübersichtliche Listen im Webopac Indexlisten Kurztitellisten. Mögliche Lösungen:. Relevance Ranking. Mögliche Lösungen:. Relevance Ranking Gruppieren
E N D
Ein Toolkit zur Präsentation von hierarchischen BibliotheksdatenAndres von ArxUB Basel, August 2006
Das Problem: • lange, unübersichtliche Listen im Webopac • Indexlisten • Kurztitellisten
Mögliche Lösungen: • Relevance Ranking
Mögliche Lösungen: • Relevance Ranking • Gruppieren • Zusammenfassen gleichartiger Einheiten • FRBR
Mögliche Lösungen: • Relevance Ranking • Gruppieren • Zusammenfassen gleichartiger Einheiten • FRBR • Hierarchisieren • Anzeige in Baumstruktur
Anzeige der Hierarchie in HTML Baumstruktur:Anzeige eines Element im Kontext
Anzeige der Hierarchie in DHTML Baumstruktur:Anzeige nach Bedarf durch „Explode and Collapse“
Die hierarchische Anzeige empfiehlt sich überall, wo bibliographische Daten selbst eine hierarchische Struktur haben: • BIB-BIB Verknüpfungen • Band- und Reihenübersichten, Analytica • Archivaufnahmen nach ISAD • Handschriften / AMREM • FRBR • AUT-AUT Verknüpfungen • Thesauri
Die hierarchische Anzeige kann derzeit nur ausserhalb des Bibliothekssystems Aleph realisiert werden. Aleph Webopac Externe Website
Realisierungen Guido Badalamenti, Università di Siena(dynamischer Zugriff mit CGI auf Aleph Oracle Tabelle z103)
Realisierungen • Toolkit UB Basel • für statische Webseiten • funktioniert unabhängig vom Bibliothekssystem • verwendet XML-Standardformate und OpenSource Tools (Perl, XSLT)
Komponenten Bibliothekssystem WebsiteXML / HTML
Komponenten Bibliothekssystem WebsiteXML / HTML Selektion, Extraktion MARC21 Slim XML
Komponenten Bibliothekssystem WebsiteXML / HTML Selektion, Extraktion MARC21 Slim XML Hierarchie XML Sortieren, Hierarchisieren
Komponenten Bibliothekssystem WebsiteXML / HTML Selektion, Extraktion Formatieren MARC21 Slim XML Hierarchie XML Sortieren, Hierarchisieren
Komponenten Bibliothekssystem WebsiteXML / HTML Session-Link Selektion, Extraktion Formatieren MARC21 Slim XML Hierarchie XML Sortieren, Hierarchisieren
Komponenten Bibliothekssystem WebsiteXML / HTML Session-Link Selektion, Extraktion Formatieren MARC21 Slim XML Hierarchie XML Sortieren, Hierarchisieren
Selektion, Extraktion • Aleph X-Services • Perl: Download von XML Records mit CCL • XSLT: Konversion in MARC 21 XML • Aleph Sequential • Aleph GUI: ret-03, print-03 • Perl: Konversion in MARC 21 XML
Komponenten Bibliothekssystem WebsiteXML / HTML Session-Link Selektion, Extraktion Formatieren MARC21 Slim XML Hierarchie XML Sortieren, Hierarchisieren
Sortieren, Hierarchisieren • Ziel: Generierung einer XML-Datei, welche die natürliche Hierarchie abbildet • XSLT: extrahiert die Felder, die für den Nachbau der Hierarchie nötig sind • Perl: rekonstruiert die Verknüpfungen • Zweck: Erleichterung der Formatierung
Sortieren, Hierarchisieren • Das Verfahren ist abhängig von der Datenstruktur • In UNIMARC / IDS-MARC enthält das Feld 490 die Systemnummer des Uplinks: • Die Hierarchie kann über die 490 Felder rekonstruiert werden (Bottom-Up oder Top-Down) • In USMARC AUT sind Verknüpfungen implizit: • Oberbegriffe, Unterbegriffe, Verweisungen müssen aus dem Inhalt der Daten rekonstruiert werden
Komponenten Bibliothekssystem WebsiteXML / HTML Session-Link Selektion, Extraktion Formatieren MARC21 Slim XML Hierarchie XML Sortieren, Hierarchisieren
Formatierung • mit XSLT • Ordnung aus Hierarchie XML • beliebige Inhalte aus MARC XML • Output • Webseiten (oder Teile davon): • XML, XHTML, HTML • JavaScript Codelemente für DHTML • ...
Komponenten Bibliothekssystem WebsiteXML / HTML Session-Link Selektion, Extraktion Formatieren MARC21 Slim XML Hierarchie XML Sortieren, Hierarchisieren
Sessionlink • Das Problem • Jeder Aufruf von Aleph über eine URL öffnet eine neue Session • Die Lösung • Deep-Linking zu Aleph mit Wiederverwendung einer Session
Sessionlink 1. Ein Aufruf der lokalen Webseite ohne eine Session in der URL wird umgeleitet auf eine Seite auf dem Aleph Webserver. aleph='http://aleph.unibas.ch/F?func=file&' + 'file_name=api-session-rebus.html'; if ( window.location.search=='' ) window.location.replace(aleph);
Sessionlink 2. Der Aleph Webserver leitet zurück auf die Webseite und gibt eine Sessionsnummer mit. <html> <head> <meta http-equiv="refresh" content="0; URL=http://www.ub.unibas.ch/ibb/api/ rebus/index.html?&session"> </head> </html>
Sessionlink 3. Die lokale Webseite ergänzt die folgenden Aufrufe von Aleph durch die Session, die jetzt in der eigenen URL steckt. session=window.location.search.substring(1); function bib(recno) { myurl='http://aleph.unibas.ch/F/' + session + '?func=find-b' + '&find_code=SYS' + '&local_base=dsv05' + '&request=' + recno; alephwin=window.open(myurl,"DSV"); }
Link Beispielanwendungen, Dokumentation, Toolkit http://www.ub.unibas.ch/ibb/api/test