Page tree
Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

Version 1 Current »

Rozszerzenia aplikacji czytelnika

Mechanizm rozszerzeń aplikacji czytelnika systemu dLibra

W wersji 5.0 systemu dLibra wprowadzono mechanizm rozszerzeń prezentacji treści publikacji. Niektóre formaty dokumentów wymagają od użytkownika instalacji odpowiednich rozszerzeń dla przeglądarki np. format DjVu. W aplikacji czytelnika systemu dLibra w wersji 5.0 zostały zawarte mechanizmy pozwalające na prezentacje niektórych typów plików w formie przyjaznej dla użytkowników. Mechanizmy te bazują na wykorzystaniu ogólnie znanych wtyczek do przeglądarek takich jak Adobe Flash, Java lub korzystają z funkcjonalności oferowanej przez system operacyjny zainstalowany na komputerze użytkownika (Windows Media Player).

Aplikacja czytelnika na podstawie typu i nazwy głównego pliku publikacji określa czy dostępne są rozszerzenia sposobu prezentacji dla danej publikacji. Jeżeli tak, przed wyświetleniem treści prezentuje użytkownikowi listę dostępnych rozszerzeń (por. rysunek). Użytkownik może skorzystać z odtwarzacza wbudowanego w dLibrę lub pozostawić obsługę przeglądarce (jeżeli posiada już zainstalowaną wtyczkę).

Standardowo w aplikacji czytelnika dostępne są rozszerzenia dla następujących formatów: zdjęcia w formacie Zoomify, DjVu, MP3, MP4, AVI, FLV, WMV. Poniżej zestawiono listę typów MIME, które zostały przyporządkowane poszczególnym rozszerzeniom:

format

typ MIME

djvu

image/x.djv

avi/wmv

video/x-msvideo, video/x-ms-wmv

mp3

audio/mpeg, audio/x-mpeg, audio/mp3, audio/x-mp3, audio/mpeg3, audio/x-mpeg3, audio/mpg, audio/x-mpg, audio/x-mpegaudio, video/x-flv, flv-application/octet-stream

mp4

application/mp4, video/mp4, audio/mp4

zoomify

text/xml (plik o nazwie ImageProperties.xml)

Aby aplikacja czytelnika mogła poprawnie dobrać rozszerzenia prezentacji treści konieczne jest przypisanie plikowi głównemu właściwego (dla danego formatu) typu MIME.

Budowa i sposób działania rozszerzeń prezentacji treści.

Każde z rozszerzeń używanych do prezentacji treści składa się z dwóch części. Plików widocznych przez WWW np. skryptów JavaScipt, arkuszy CSS, apletów Java lub Flash. Pliki te znajdują się w katalogu dlibra-webapp-5.0/formats/nazwa-rozszerzenia. Plików z konfiguracją rozszerzeń np. ustawienia związane z tym jakie formaty dane rozszerzenie jest w stanie wyświetlać, szablony VTL używane do generowania kodu HTML rozszerzenia, tekst wyświetlanego ostrzeżenia. Pliki te znajdują się w katalogu dlibra-webapp-5.0/WEB-INF/formats/nazwa-rozszerzenia.
Poniżej przedstawione zostanie rozszerzenie wykorzystywane do prezentacji obrazów w formacie Zoomify. Składa się on z następujących plików:

  1. część widoczna przez strony WWW:
    dlibra-webapp-5.0/formats/zoomify/zoomifyViewer.swf - jest to skompilowany skrypt Adobe Flash, który otrzymawszy odpowiednie argumenty (jak adres pod którym znajduje się główny plik publikacji) jest w stanie wyświetlić obraz w formacie Zoomify.
  2. pliki konfiguracyjne:
  • settings.xml - konfiguracja rozszerzenia.
  • message_pl.xml, message_en.xml - etykiety tekstowe wyświetlane w treści ostrzeżenia.
  • content.vm, message.vm - szablony kodu HTML i szablon ostrzeżenia.
    Każde rozszerzenie prezentacji treści musi posiadać wymienione wyżej 5 plików, część widoczna od strony WWW jest opcjonalna.

Plik settings.xml zwiera najważniejsze ustawienia związane z działaniem rozszerzenia, są to między innymi:

  • handled.mime.types - lista oddzielonych przecinkami typów MIME obsługiwanych przez dane rozszerzenie. W przypadku omawianego rozszerzenia jest to tylko jeden typ text/xml.
  • handles.secured - parametr może mieć wartość true albo false. Jeżeli dane rozszerzenie potrafi zabezpieczyć treść publikacji przed kopiowaniem wartość tego parametru można ustawić na true, w przypadku rozszerzenia zoomify parametr ten ma wartość false.
  • handles.normal - parametr może mieć wartość true albo false. Jeżeli dana publikacja obsługuje prezentacje normalnych (nie zabezpieczonych) publikacji parametr ten ma wartość true (tak jest w przypadku omawianego rozszerzenia).
  • handled.filenames - parametr ten jest opcjonalny, należy tu podać oddzielone przecinkami dopuszczalne nazwy pliku głównego publikacji. Plik główny publikacji w formacie zoomify to prosty dokument XML aby odróżnić go od innych formatów, które również posiadają XML jako plik główny można wprowadzić wymóg zgodności nazwy pliku głównego. W omawianym przypadku wartość tego parametru to: ImageProperties.xml.

W momencie gdy użytkownik wybierze rozszerzenie jakiego chce użyć do prezentacji treści, aplikacja czytelnika generuje ostrzeżenie dotyczące formatu - renderowana jest zawartość pliku message.vm przy użyciu etykiet tekstowych z plików messages_pl.xml i messages_en.xml. Następnie użytkownik przechodzi do treści, aplikacja czytelnika wyświetla wyrenderowany szablon content.vm. W szablonie tym określone są odwołania do widocznych od strony WWW elementów rozszerzenia formatu prezentacji treści oraz do pliku z treścią publikacji. Z poziomu szablonu content.vm tworzący rozszerzenia prezentacji treści ma do dyspozycji dwie zmienne:

  1. ${completeContentBaseUrl} - kompletny odnośnik do głównego pliku publikacji
  2. ${pathToHandler} - adres WWW wskazujący na katalog danego rozszerzenia w przykładowo http://dlibra.psnc.pl/dlibra/formats/zoomify. W tym katalogu znajdują się skrypty danego rozszerzenia.

W przypadku prezentowanego rozszerzenia zoomify strona wyrenderowana podczas wyświetlania treści publikacji zawiera wywołanie skryptu zoomifyViewer.swf gdzie w argumentach podawana jest ścieżka do pliku głównego publikacji. Poniżej zawartość szablonu content.vm dla rozszerzenia zoomify:

#set ( $width = "100%" )
#set ( $height = "100%" )

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="${width}" height="${height}" id="theMovie">
      <param name="FlashVars" value="zoomifyImagePath=${completeContentBaseUrl}">
      <param name="menu" value="false">
      <param name="src" value="${pathToHandler}/zoomifyViewer.swf">
      <embed FlashVars="zoomifyImagePath=${completeContentBaseUrl}" src="${pathToHandler}/zoomifyViewer.swf" menu="false" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"  width="${width}" height="${height}" name="theMovie"></EMBED>
</object>

Domyślny sposób prezentacji treści

W katalogu dlibra-webapp-5.0/WEB-INF/formats znajdują się trzy pliki (message_pl.xml, message_en.xml i settings.xml) jest to konfiguracja domyślnej obsługi prezentacji formatów. Wszelkie zmiany w tych plikach mogą spowodować, że aplikacja czytelnika nie będzie działać poprawnie.

  • No labels