You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Note

For a better understand the mechanism of retrieving metadata through the Z39.50 extension, the information from the chapter about importing metadata in the bibliographic description editor will be useful, as well as acquaintance with the Z39.50 protocol.

Note

The programming library for that extension is dlibra-app-extension-sl-z3950.

Many library systems make metadata available through the Z39.50 protocol. The Editor Application extension discussed here makes it possible to retrieve metadata from systems which make them available through the Z39.50 protocol. The Z39.50 protocol is a very complex standard for sending metadata in various formats. The extension in question only allows metadata retrieval from the MARC 21 communication format (specifically, the USMARC format). The metadata retrieved with the use of that extension can be imported by means of an extension for importing files in the MARC format.

In order to retrieve metadata with the use of the Z39.50 protocol:

  1. W edytorze metadanych na panelu Import/Eksport metadanych wybrać przycisk Importuj..., który wyświetli okno importu metadanych (rysunek poniżej). Na oknie importu metadanych znajduje się opcja Z39.50, którą należy wybrać. Opcja ta determinuje wykorzystanie rozszerzenia Z39.50 w celu wyboru pliku metadanych do zaimportowania.

    Okno importu metadanych
  2. Aby wybrać metadane, które mają być zaimportowane należy wybrać przycisk Wybierz.... Pojawi się okno wyszukiwania metadanych (rysunek poniżej). W oknie tym użytkownik może wybrać serwer oraz bazę do której będą skierowane zapytania wyszukiwawcze. Zapytanie wyszukiwawcze budowane jest na podstawie trzech wartości/fraz, które wprowadzane są przez użytkownika do pól znajdujących się na panelu Szukaj. To jakie atrybuty będą przeszukiwane może być dostosowane przez użytkownika poprzez wybór odpowiedniego atrybutu z listy rozwijanej. Na przedstawionym rysunku ( Rysunek B.2.) wybrane do wyszukiwania atrybuty to autor, tytuł oraz wydawca. Aby rozpocząć wyszukiwanie należy wybrać przycisk Szukaj. Po zakończeniu procesu wyszukiwania możliwe jest przeglądanie wyników przy użyciu przycisków Poprzednia i Następna, które przechodzą odpowiednio do poprzedniej lub następnej strony wyników wyszukiwania. Redaktor może również wybrać bezpośrednio określoną stronę wyników wyszukiwania używając listy rozwijanej, która znajduje się pomiędzy przyciskami Poprzednia i Następna.

    Okno wyszukiwania metadanych poprzez protokół Z39.50
  3. Aby wybrać metadane należy zaznaczyć konkretną pozycję na liście wyników wyszukiwania a następnie wybrać przycisk Wybierz. Plik zostanie pobrany na lokalny dysk komputera, okno wyszukiwania Z39.50 zostanie zamknięte, a w oknie importu metadanych zostanie automatycznie wprowadzona ścieżka do pobranego pliku metadanych. Kolejne kroki należy wykonać zgodnie z informacjami zawartymi w sekcji import metadanych (w najprostszym przypadku wystarczy wybrać przycisk Importuj na oknie importu metadanych).

Rozszerzenie Z39.50 może być dostosowane do potrzeb konkretnej instalacji poprzez odpowiednią jego konfigurację. Konfiguracja rozszerzenia znajduje się w pliku konfiguracyjnym z3950_servers.xml. Plik ten definiuje m. in. serwery oraz bazy danych w których redaktor będzie mógł wyszukiwać metadane, atrybuty po jakich redaktor będzie mógł przeszukiwać konkretny serwer oraz operator logiczny jaki będzie użyty do połączenia zapytań z poszczególnych pól wyszukiwawczych. Poniżej przedstawiono domyślny plik konfiguracyjny rozszerzenia Z39.50.

<?xml version="1.0" encoding="UTF-8"?>
<servers>
	<server>
		<name>Library of Congress</name>
		<name lang="en">Library of Congress</name>
		<name lang="pl">Biblioteka Kongresu Stanów Zjednoczonych</name>
		<host>z3950.loc.gov</host>
		<port>7090</port>
		<databases>
			<database>Voyager</database>
		</databases>
		<recordencoding>MARC-8</recordencoding>
		<queries>
			<attrset>@attrset bib-1</attrset>
			<operator>@and</operator>
			<query>
				<name>Author</name>
				<name lang="pl">Autor</name>
				<name lang="en">Author</name>
				<searchquery>@attr 1=1003 $1</searchquery>
			</query>
			<query>
				<name>Title</name>
				<name lang="pl">Tytuł</name>
				<name lang="en">Title</name>
				<searchquery>@attr 1=4 $1</searchquery>
			</query>
			<query>
				<name>Publisher</name>
				<name lang="pl">Wydawca</name>
				<name lang="en">Publisher</name>
				<searchquery>@attr 1=1018 $1</searchquery>
			</query>
			<query>
				<name>Everywhere</name>
				<name lang="pl">Wszędzie</name>
				<name lang="en">Everywhere</name>
				<searchquery>@attr 1=1035 $1</searchquery>
			</query>
		</queries>
	</server>
</servers>

Plik konfiguracyjny zapisany jest w formacie XML. Głównym węzłem w pliku jest <servers>, w którym znajdują się definicje serwerów Z39.50 (liczba serwerów nie jest ograniczona). Każdy serwer zdefiniowany jest w ramach znacznika <server> w którym znajdować się powinny następujące informacje w poszczególnych znacznikach:

  • <name> - jest to nazwa serwera wyświetlana redaktorowi w oknie wyszukiwania metadanych. Nazwę można wprowadzić dla konkretnego języka poprzez zastosowanie w znaczniku <name> atrybutu lang. Wartością atrybutu lang powinien być dwuliterowy symbol języka (zgodnie ze standardem ISO 639), w którym specyfikowana jest nazwa serwera. Domyślna nazwa serwera określana jest w znaczniku <name>, który nie posiada atrybutu lang. Proszę zauważyć, że poszczególne nazwy definiowane są w odrębnych znacznikach <name>.
  • <host> - jest to adres internetowy serwera Z39.50 (adres IP lub adres domenowy).
  • <port> - jest to port serwera Z39.50.
  • <user> - nazwa użytkownika, jeśli serwer wymaga uwierzytelniania
  • <password> - hasło użytkownika, jeśli serwer wymaga go do uwierzytelniania
  • <databases> - w tym znaczniku znajdują się nazwy baz danych, które redaktor może przeszukiwać. Poszczególne nazwy powinny być wprowadzane w znacznikach <database>.
  • <recordencoding> - jest to kodowanie rekordów metadanych, które udostępnia definiowany serwer Z39.50.
  • <queryencoding> - jest to kodowanie, w jakim mają być wysyłane frazy w zapytaniach do serwera. Znacznik jest opcjonalny, domyślnie stosowane jest kodowanie US-ANSI.
  • <setname> - jest to nazwa zbioru właściwości, który ma być zwrócony dla każdego znalezionego elementu. Jest to znacznik opcjonalny, domyślnie przyjmuje wartość F (od full - pełen zbiór). Często jest też używana wartość B (od brief - skrócone). Jeśli nazwa zbioru nie jest poprawnie ustawiona, pobieranie danych zakończy się błędem, a w konsoli Java pojawi się komunikat: Z3950SearchTask - Non surrogate diagnostics [25].
  • <queries> - jest to węzeł w którym definiuje się informacje związane z panelem wyszukiwawczym. Wszystkie wartości, które rozpoczynają się od znaku @ związane są z językiem zapytań stosowanym w bibliotece JZKit 2 (http://jzkit.org/). I tak:
    • <attrset> - określa zestaw atrybutów jaki jest używany do wyszukiwania.
    • <operator> - określa operator logiczny, który będzie używany do łączenia specyfikowanych wartości/fraz w polach wyszukiwawczych.
    • <query> - specyfikuje nazwę atrybutu po którym możliwe będzie wyszukiwanie oraz zapytanie wyszukiwawcze związane z tym atrybutem. Nazwa atrybutu podobnie jak w przypadku nazwy serwera może być wprowadzona w wielu językach (użycie atrybutu lang). Domyślna nazwa atrybutu to wartość zawarta w znaczniku <name>, który nie posiada atrybutu lang. Zapytanie wyszukiwawcze specyfikuje się w znaczniku <searchquery>, gdzie w miejsce znacznika $1 wstawiana jest wartość z odpowiedniego pola wyszukiwawczego.

Aby zmienić konfigurację rozszerzenia Z39.50 należy postępować zgodnie z informacjami zawartymi w sekcji konfiguracja aplikacji.

  • No labels