Wprowadzenie
Rozszerzenia aplikacji redaktora i administratora bazują na Java Plugin Framework (JPF). Podstawowym elementem w tym mechanizmie jest plik opisujący plugin JPF:
Code Block |
---|
|
<?xml version="1.0" ?>
<!DOCTYPE plugin PUBLIC "-//JPF//Java Plug-in Manifest 0.4" "http://jpf.sourceforge.net/plugin_0_7.dtd">
<plugin id="pl.psnc.dlibra.app.extension" version="${pom.currentVersion}">
<extension-point id="metadata">
<parameter-def id="class"/>
<parameter-def id="name"/>
<parameter-def id="icon" multiplicity="none-or-one"/>
</extension-point>
<extension-point id="fileParser">
<parameter-def id="class"/>
</extension-point>
<extension-point id="interfaceLanguage">
<parameter-def id="class"/>
</extension-point>
<extension-point id="graphicProvider">
<parameter-def id="class"/>
</extension-point>
<extension-point id="sourceLocator">
<parameter-def id="class"/>
</extension-point>
<extension-point id="dictionaryManager">
<parameter-def id="class"/>
</extension-point>
<extension-point id="filesHandler">
<parameter-def id="class"/>
</extension-point>
<extension-point id="tool">
<parameter-def id="class"/>
</extension-point>
<extension-point id="miniatureProvider">
<parameter-def id="class"/>
</extension-point>
</plugin>
|
Jak widać plugin ten definiuje dziewięć możliwych rozszerzeń (punktów rozszerzeń) aplikacji redaktora i administratora opisanych w kolejnych sekcjach.
Note |
---|
|
Interfejsy programistyczne wyszczególnione w poniższych opisach znajdują się w bibliotece programistycznej dlproj |
---|
| os |
---|
1 | dlibra-app-extension-api |
---|
| os |
---|
|
|
.
Rozszerzenie metadata służy do poszerzania możliwości importujących i eksportujących metadane w aplikacji. Poprzez to rozszerzenie możemy dodać funkcję importowania lub/i eksportowania metadanych z/do zewnętrznego formatu.
Rozszerzenie przyjmuje dwa parametry:
- class - jest to nazwa klasy, która implementuje odpowiedni interfejs programistyczny tego rozszerzenia
- name - nazwa rozszerzenia
Interfejs programistyczny (język Java) dla tego rozszerzenia to
dljdoc |
---|
| os |
---|
1 | dlibra-app-extension-api |
---|
2 | pl.psnc.dlibra.app.extension.metadata.MetadataFinder |
---|
| os |
---|
|
. Szczegółowe informacje związane z tym interfejsem znajdują się w komentarzach metod i samego interfejsu (JavaDocs).
Lista domyślnie zainstalowanych rozszerzeń tego typu jest następująca:
- Import metadanych z formatu MARC (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-mf-marc |
---|
| os |
---|
|
). - Import metadanych z formatu XML (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-mf-xml |
---|
| os |
---|
|
). - Import metadanych z formatu BibTeX (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-mf-bibtex |
---|
| os |
---|
|
). - Eksport w formacie RDF - to rozszerzenie jest zintegrowane z aplikacją redaktora i administratora - nie jest zdefiniowane w odrębnym projekcie.
Opis konfiguracji poszczególnych rozszerzeń można znaleźć tutaj.
Rozszerzenie fileParser
Rozszerzenie to odnajduje dla określonego pliku powiązane z nim inne pliki. W aplikacji redaktora i administratora po wybraniu pliku głównego (np. w kreatorze publikacji) następuje automatyczne sprawdzenie jakie inne pliki są a nim powiązane. W tym celu wykorzystywane są rozszerzenia fileParser. Domyślnie w aplikacji zainstalowane są rozszerzenia HTML oraz DjVu. Jeśli dla wybranego pliku nie ma zdefiniowanego rozszerzenia to redaktor musi sam zdecydować o tym, jakie pliki będą stanowić zawartość publikacji.
Rozszerzenie to przyjmuje jeden parametr class
, który specyfikuje nazwę klasy implementującej interfejs programistyczny rozszerzenia. Interfejs programistyczny (język Java) dla tego rozszerzenia to
dljdoc |
---|
| os |
---|
1 | dlibra-app-extension-api |
---|
2 | pl.psnc.dlibra.app.extension.fileparser.FileParser |
---|
| os |
---|
|
. Szczegółowe informacje związane z tym interfejsem znajdują się w komentarzach metod i samego interfejsu (JavaDocs).
Lista domyślnie zainstalowanych rozszerzeń tego typu jest następująca:
- Format DjVu - rozszerzenie odnajduje pliki powiązane z danym plikiem w formacie DjVu (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-fp-djvu |
---|
| os |
---|
|
). - Format HTML - rozszerzenie odnajduje pliki powiązane z danym plikiem w formacie HTML (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-fp-html |
---|
| os |
---|
|
).
Rozszerzenie interfaceLanguage
Rozszerzenie to pozwala na dodawanie tłumaczeń interfejsu użytkownika aplikacji redaktora i administratora. Domyślnie w aplikacji zainstalowane są rozszerzenia dla języka polskiego, angielskiego i ukraińskiego. Poprzez to rozszerzenie można dodać tłumaczenie interfejsu w innych językach. Aby otrzymać listę fraz/słów do tłumaczenia prosimy o kontakt.
Rozszerzenie to przyjmuje jeden parametr class
, który specyfikuje nazwę klasy implementującej interfejs programistyczny rozszerzenia. Interfejs programistyczny (język Java) dla tego rozszerzenia to
dljdoc |
---|
| os |
---|
1 | dlibra-app-extension-api |
---|
2 | pl.psnc.dlibra.app.extension.language.InterfaceLanguage |
---|
| os |
---|
|
. Szczegółowe informacje związane z tym interfejsem znajdują się w komentarzach metod i samego interfejsu (JavaDocs).
Lista domyślnie zainstalowanych rozszerzeń tego typu jest następująca:
- Polski - rozszerzenie udostępnia wszystkie słowa/frazy interfejsu użytkownika w języku polskim (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-il-pl |
---|
| os |
---|
|
). - Angielski - rozszerzenie udostępnia wszystkie słowa/frazy interfejsu użytkownika w języku angielskim (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-il-en |
---|
| os |
---|
|
). - Ukraiński - rozszerzenie udostępnia wszystkie słowa/frazy interfejsu użytkownika w języku ukraińskim (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-il-uk |
---|
| os |
---|
|
).
Rozszerzenie graphicProvider
Rozszerzenie to pozwala na zmianę wyglądu elementów graficznych w aplikacji redaktora i administratora. Poprzez dodanie rozszerzenia tego typu można poprawić ikonki i obrazki widoczne w aplikacji tak, by lepiej pasowały do kontekstu (kulturowego lub technicznego), w którym będzie wykorzystywany system dLibra. Zalecane jest, aby w aplikacji zainstalowana była co najwyżej jedna wtyczka tego typu, ponieważ nie jest dostępny mechanizm wyboru kontekstu graficznego, analogiczny do wyboru języków.
W aplikacji domyślnie zainstalowana jest wtyczka zapewniająca domyślny wygląd (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-gp |
---|
| os |
---|
|
).
Rozszerzenie sourceLocator
Rozszerzenie to pozwala na lokalizację plików z metadanymi, które później będą importowane. Korzystając z tego rozszerzenia możliwe jest wprowadzenie nowej funkcji lokalizacji pliku metadanych.
Rozszerzenie to przyjmuje jeden parametr class
, który specyfikuje nazwę klasy implementującej interfejs programistyczny rozszerzenia. Interfejs programistyczny (język Java) dla tego rozszerzenia to
dljdoc |
---|
| os |
---|
1 | dlibra-app-extension-api |
---|
2 | pl.psnc.dlibra.app.extension.sourcelocator.SourceLocator |
---|
| os |
---|
|
. Szczegółowe informacje związane z tym interfejsem znajdują się w komentarzach metod i samego interfejsu (JavaDocs).
Lista domyślnie zainstalowanych rozszerzeń tego typu jest następująca:
- Z39.50 - pozwala na lokalizowanie plików metadanych przy użyciu serwerów Z39.50 (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-sl-z3950 |
---|
| os |
---|
|
).
Opis konfiguracji poszczególnych rozszerzeń można znaleźć tutaj.
Rozszerzenie dictionaryManager
Rozszerzenie to pozwala na importowanie i eksportowanie grup wartości atrybutów z i do zewnętrznych plików.
Rozszerzenie to przyjmuje jeden parametr class
, który specyfikuje nazwę klasy implementującej interfejs programistyczny rozszerzenia. Interfejs programistyczny (język Java) dla tego rozszerzenia to
dljdoc |
---|
| os |
---|
1 | dlibra-app-extension-api |
---|
2 | pl.psnc.dlibra.app.extension.dictionarymanager.DictionaryManager |
---|
| os |
---|
|
. Szczegółowe informacje związane z tym interfejsem znajdują się w komentarzach metod i samego interfejsu (JavaDocs).
Lista domyślnie zainstalowanych rozszerzeń tego typu jest następująca:
- Import grup wartości z plików MARC - pozwala na odczyt plików w formacie MARC-21 (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-dictcopy |
---|
| os |
---|
|
). Zapis do plików nie jest wspierany. - Import/export grup wartości z/do plików XML - pozwala na zapis i odczyt plików w postaci XML. Można je wykorzystać do kopiowania wartości atrybutów pomiędzy bibliotekami (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-dictcopy |
---|
| os |
---|
|
).
Opis konfiguracji poszczególnych rozszerzeń można znaleźć tutaj.
Rozszerzenie filesHandler
To rozszerzenie pozwala zdefiniować procedury, które będą realizowane po wybraniu pliku głównego w kreatorze nowej publikacji. Procedury te mogą obejmować przetwarzanie plików na dysku, wyświetlanie okien dialogowych i inne. Skutkiem działania procedury może być zmiana wybranego pliku głównego oraz pozostałych plików dodanych do wydania. Jeśli w aplikacji zainstalowanych jest więcej niż jedna wtyczka do tego rozszerzenia, są one odpytywane po kolei, aż do pierwszej wtyczki, która przetworzy pliki poprawnie (nie wyrzuci wyjątku).
Rozszerzenie to przyjmuje jeden parametr class
, który specyfikuje nazwę klasy implementującej interfejs programistyczny rozszerzenia. Interfejs programistyczny (język Java) dla tego rozszerzenia to
dljdoc |
---|
| os |
---|
1 | dlibra-app-extension-api |
---|
2 | pl.psnc.dlibra.app.extension.fileshandler.FilesHandler |
---|
| os |
---|
|
. Szczegółowe informacje związane z tym interfejsem znajdują się w komentarzach metod i samego interfejsu (JavaDocs).
Lista domyślnie zainstalowanych rozszerzeń tego typu jest następująca:
- Prezentacje JPG - jeśli wybrano folder zawierający pliki .jpg, ta wtyczka pozwala na zdefiniowanie kolejności obrazków i przypisanie opisu do każdego obrazka. Informacje te są zapisywane w pliku PresentationData.xml, który jest oznaczany jako plik główny (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-fh-jpg |
---|
| os |
---|
|
).
To rozszerzenie pozwala dodać nowe elementy do menu Narzędzia w aplikacji administratora.
Rozszerzenie to przyjmuje jeden parametr class
, który specyfikuje nazwę klasy implementującej interfejs programistyczny rozszerzenia. Interfejs programistyczny (język Java) dla tego rozszerzenia to
dljdoc |
---|
| os |
---|
1 | dlibra-app-extension-api |
---|
2 | pl.psnc.dlibra.app.extension.tool.Tool |
---|
| os |
---|
|
. Szczegółowe informacje związane z tym interfejsem znajdują się w komentarzach metod i samego interfejsu (JavaDocs).
Lista domyślnie zainstalowanych rozszerzeń tego typu jest następująca:
- Lista publikacji w publikacji grupowej - zapisuje publikacje należące do wybranej publikacji grupowej w pliku html (
dlproj |
---|
| os |
---|
1 | dlibra-app-extension-tl-leafslist |
---|
| os |
---|
|
). - Narzędzie do czyszczenia słownika atrybutu - pozwala usunąć ze słownika wartości, które nie są przypisane do żadnej publikacji. To rozszerzenie jest zintegrowane bezpośrednio z aplikacją administratora - nie jest zdefiniowane w odrębnym projekcie.
Rozszerzenie miniatureProvider
To rozszerzenie pozwala na automatyczne generowanie miniatur dla dodawanych publikacji na podstawie plików wybranych do wydania. Możliwe jest wygenerowanie kilku miniatur dla publikacji, z których redaktor będzie mógł wybrać jedną.
Rozszerzenie to przyjmuje jeden parametr class
, który specyfikuje nazwę klasy implementującej interfejs programistyczny rozszerzenia. Interfejs programistyczny (język Java) dla tego rozszerzenia to
dljdoc |
---|
| os |
---|
1 | dlibra-app-extension-api |
---|
2 | pl.psnc.dlibra.app.extension.miniatureprovider.MiniatureProvider |
---|
| os |
---|
|
. Szczegółowe informacje związane z tym interfejsem znajdują się w komentarzach metod i samego interfejsu (JavaDocs).
Domyślnie zainstalowaną wtyczką, która implementuje to rozszerzenie, jest wtyczka tworząca prezentacje na podstawie plików jpg (zobacz opis rozszerenia filesHandler). Poza tym, w aplikacji redaktora zintegrowano wtyczki pozwalające na generowanie miniatur z następujących plików:
- najpopularniejsze formaty graficzne (jpg, png, gif)
- pliki djVu
- pliki pdf