Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Wprowadzenie

Mechanizm rozszerzeń serwera dLibra bazuje na bibliotece Java Plugin Framework (JPF). Podstawowym elementem w tym mechanizmie jest plik opisujący plugin JPF:

Code Block
xml
xml
<?xml version="1.0" ?>
<!DOCTYPE plugin PUBLIC "-//JPF//Java Plug-in Manifest 0.7" "http://jpf.sourceforge.net/plugin_0_7.dtd">
<plugin id="pl.psnc.dlibra.content" version="$Revision: 1.2 $"
	vendor="PSNC">
	<extension-point id="extraction.TextualContentExtractor">
		<parameter-def id="class" />
		<parameter-def id="order" />
	</extension-point>
</plugin>

Powyższy plik definiuje tylko jeden punkt rozszerzenia serwera opisane poniżej.

Note
titleUwaga

Interfejsy programistyczne wyszczególnione w poniższych opisach znajdują się w bibliotece programistycznej

dlproj
os
1dlibra-server-extension-api
os

.

Punkt rozszerzenia extraction.TextualContentExtractor

Zestaw rozszerzeń extraction.TextualContentExtractor służy do ekstrakcji tekstu z plików z treścią publikacji. Dzięki temu możliwe jest indeksowanie treści publikacji niezależnie od jej formatu. Dla tekstowych formatów dokumentów, takich jak na przykład HTML, dostęp do tekstu jest niemal natychmiastowy. W przypadku innych formatów pliki muszą być w odpowiedni sposób przygotowane, żeby ekstrakcja tekstu była możliwa. Tylko wówczas rozszerzenia będą w stanie taki tekst uzyskać i przekazać do indeksacji.

Opisywane rozszerzenie przyjmuje dwa parametry:

  • class - nazwa klasy, która implementuje interfejs programistyczny tego rozszerzenia
  • order - parametr odpowiadający za kolejność wybierania danego rozszerzenia (pozwala to na ustalenie, które z rozszerzeń będzie użyte w przypadku, gdy jest więcej niż jedno rozszerzenie obsługujące dany format treści)

Interfejs programistyczny (język Java) dla tego rozszerzenia to

dljdoc
os
1dlibra-server-extension-api
2pl.psnc.dlibra.content.extraction.TextualContentExtractor
os
. Bardziej szczegółowe informacje na temat jego działania znajdują się w dokumentacji programistycznej (JavaDocs).

Serwer dLibry dostarczany jest z preinstalowanym zestawem rozszerzeń tego typu. Należą do nich:

  • Ekstrakcja tekstu z prostych formatów takich jak CHM, HTML, RTF, TXT (
    dlproj
    os
    1dlibra-server-extension-tce-basic
    os
    ).
  • Ekstrakcja tekstu z formatu DjVu (
    dlproj
    os
    1dlibra-server-extension-tce-djvu
    os
    ).
  • Ekstrakcja tekstu z formatów obsługiwanych przez zewnętrzny mechanizm LIUS (
    dlproj
    os
    1dlibra-server-extension-tce-lius
    os
    ).
  • Ekstrakcja tekstu z formatu PDF - (
    dlproj
    os
    1dlibra-server-extension-tce-pdf
    os
    ).

Rozszerzenia te opisano pokrótce poniżej.

Rozszerzenie basic

Rozszerzenie to posiada zestaw klas implementujących interfejs

dljdoc
os
1dlibra-server-extension-api
2pl.psnc.dlibra.content.extraction.TextualContentExtractor
os
i pozwalających wyciągać tekst z plików w następujących formatach:

  • CHM - klasa
    dljdoc
    os
    1dlibra-server-extension-tce-basic
    2pl.psnc.dlibra.content.extraction.CHMTextualContentExtractor
    os
  • HTML - klasa
    dljdoc
    os
    1dlibra-server-extension-tce-basic
    2pl.psnc.dlibra.content.extraction.HTMLTextualContentExtractor
    os
  • RTF - klasa
    dljdoc
    os
    1dlibra-server-extension-tce-basic
    2pl.psnc.dlibra.content.extraction.RTFTextualContentExtractor
    os
  • TXT - klasa
    dljdoc
    os
    1dlibra-server-extension-tce-basic
    2pl.psnc.dlibra.content.extraction.TXTTextualContentExtractor
    os

Rozszerzenie djvu

Rozszerzenie to pozwala wyciągnąć tekst z warstwy tekstowej plików w formacie DjVu (jeśli posiadają taką warstwę). Jest to realizowane przez klasę

dljdoc
os
1dlibra-server-extension-tce-djvu
2pl.psnc.dlibra.content.extraction.DjVuTextualContentExtractor
os

Rozszerzenie lius

Rozszerzenie to wykorzystuje zewnętrzną bibliotekę LIUS (Lucene Index Update and Search), która umożliwia m.in. wyciąganie tekstu z plików w następujących formatach: MsWord, MsExcel, MsPowerPoint, RTF, PDF, XML, HTML, TXT, OpenOffice, ZIP, MP3, VCard, Latex i JavaBeans. Klasa rozszerzenia, która realizuje wyciąganie tekstu z wyżej wymienionych formatów plików to

dljdoc
os
1dlibra-server-extension-tce-lius
2pl.psnc.dlibra.content.extraction.LIUSTextualContentExtractor
os
.

Rozszerzenie pdf

Wyciąganie tekstu z plików w formacie PDF oparte jest o zewnętrzną bibliotekę PDFBox. Klasa implementująca interfejs

dljdoc
os
1dlibra-server-extension-api
2pl.psnc.dlibra.content.extraction.TextualContentExtractor
os
i realizująca ekstrakcję tekstu z tego typu plików to
dljdoc
os
1dlibra-server-extension-tce-pdf
2pl.psnc.dlibra.content.extraction.PDFTextualContentExtractor
os
.