Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Content Zone
locationtop
typelist
separatorbrackets

Mechanizm rozszerzeń aplikacji czytelnika systemu dLibra

W Od 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 istnieją 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).oprogramowaniu kompatybilnym z HTML oraz na domyślnych rozwiązaniach przeglądarek internetowych.

Image AddedImage Removed

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:

  • 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.
  • 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. ${completeContentBaseUrlcompleteContentUrl} - 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/zoomifydjvu_html5. 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 zoomifydjvu_html5:

    Code Block
    xml
    xml
    
    #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>
    <link type="text/css" rel="stylesheet" href="${pathToHandler}/Djvu_html5.css">
    <script type="text/javascript" language="javascript"
    	src="${pathToHandler}/djvu_html5/djvu_html5.nocache.js"></script>
    <noscript>
    	<div
    		style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
    		Your web browser must have JavaScript enabled in order for this
    		application to display correctly.</div>
    </noscript>
    <div id="djvuContainer" file="${completeContentUrl}"></div>
    <script type="text/javascript">
    var DJVU_CONTEXT = {
    	parallelDownloads: 1,
    };
    </script>
    

    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.