Projekt Śląska Internetowa Biblioteka Zbiorów Zabytkowych współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Infrastruktura i Środowisko Szczegółowy opis zlecenia Plugin do oprogramowania dlibra Nazwa zlecenia: Szczegółowy opis zlecenia dla Pluginu do oprogramowania dlibra Adres obiektu: Biblioteka Śląska pl. Rady Europy 1, 40-021 Katowice Nazwy i kody: Zestawienie nazw i kodów zaprezentowano na stronie 3 Nazwa Zlecającego: Biblioteka Śląska pl. Rady Europy 1, 40-021 Katowice listopad 2012 Strona 1 z 16
Spis zawartości. Spis zawartości....2 1. Kody CPV....3 2. Baza pojęć i skrótów....4 3. Część opisowa....5 3.1 Opis ogólny zlecenia....5 3.2 Informacje ogólne....5 3.3 Opis wymagań Zlecającego w stosunku do opisu zlecenia....6 3.3.1 API dla Modułu dlibra Redaktor....6 3.3.1.1 Punkt rozszerzeń typu Tool....8 3.3.1.2 Punkt rozszerzeń typu DataSource....9 3.3.1.3 Punkt rozszerzeń typu ObjectPanel... 10 3.3.1.4 Punkt rozszerzeń typu EventListener.... 11 3.3.2 API dla Modułu dlibra Serwer.... 12 3.3.3 Minimalne parametry techniczne związane z funkcjonalnością, wydajnością i bezpieczeństwem PDOD.... 13 4. Część informacyjna.... 14 4.1 Przepisy prawne i dokumenty związane z projektowaniem i wykonaniem zamierzenia.... 14 4.2 Warunki udzielenia licencji.... 14 4.3 Gwarancja.... 14 5. Spis ilustracji.... 15 6. Spis załączników.... 16 Strona 2 z 16
1. Kody CPV. 72260000-5 Usługi w zakresie oprogramowania 72263000-6 Usługi wdrażania oprogramowania 72268000-1 Usługi dostawy oprogramowania 72265000-0 Usługi konfiguracji oprogramowania Strona 3 z 16
2. Baza pojęć i skrótów. PDOD - plugin do oprogramowania dlibra (punkty rozszerzeń oprogramowania dlibra). ŚIBZZ - Śląska Internetowa Biblioteka Zbiorów Zabytkowych. ŚBC - Śląska Biblioteka Cyfrowa stanowiącą regionalny zasób cyfrowy. Celem ŚBC jest prezentacja w Internecie kulturowego dziedzictwa regionu historycznego Śląska i obecnego województwa śląskiego w jego dawnej i współczesnej różnorodności, wspieranie działalności dydaktycznej i edukacyjnej oraz publikowanie naukowego dorobku regionu. JO - Jednostka Operacyjna, termin oznaczający zasób podlegający przetwarzaniu w ramach systemu ŚIBZZ, w przypadku czasopism opisany numerem (1 numer czasopisma), a w przypadku pozostałych (1 wolumin, 1 teka, 1 zdjęcie, 1 pocztówka) odpowiednią sygnaturą. Zatwierdzenie jednostki na danym etapie przetwarzania udostępnia ją kolejnemu etapowi. dlibra - oprogramowanie służące do budowy profesjonalnych repozytoriów obiektów cyfrowych pełniących rolę systemów takich jak: biblioteki cyfrowe, instytucjonalne repozytoria dokumentów lub cyfrowe archiwa. System dlibra jest systemem wielowarstwowym, w którym możemy wyróżnić główny moduł dlibra - Serwer oraz moduły aplikacji klienckich: dlibra Czytelnik i dlibra Redaktor. Moduł dlibra Serwer aplikacja serwerowa odpowiedzialna za całościowe działanie biblioteki cyfrowej opartej o system dlibra. Realizuje wszystkie wykonywane w systemie działania. Moduł dlibra Redaktor - aplikacja kliencka pozwalająca na podłączenie się uprawnionego użytkownika do modułu dlibra Serwer i pracę z biblioteką cyfrową. W tym celu wykorzystywany jest interfejs użytkownika oparty o GUI systemu operacyjnego, na którym uruchomiony jest moduł dlibra Redaktor. Moduł ten musi być zainstalowany na każdym komputerze, na którym ma być wykorzystywany. Workflow - system wspomagający digitalizację dzieł Biblioteki Śląskiej. Strona 4 z 16
3. Część opisowa. 3.1 Opis ogólny zlecenia. Przedmiotem zlecenia jest opracowanie PDOD w postaci API (interfejsu programistycznego) dla Modułu dlibra - Redaktor oraz API (interfejsu programistycznego) dla Modułu dlibra - Serwer, umożliwiającego wykonanie oprogramowania do integracji systemu dlibra z systemem Workflow wdrożonym w systemie informatycznym Biblioteki Śląskiej. 3.2 Informacje ogólne. Zgodnie z koncepcją architektury systemów informatycznych Biblioteki Śląskiej, dlibra oraz działająca na jej podstawie ŚBC stanowią system informatyczny odpowiedzialny za procesy katalogowania i prezentacji udostępnianych zbiorów. Zarówno system dlibra jak i Workflow udostępniają szereg metod w ramach swych interfejsów API dla realizacji komunikacji i wymiany danych pomiędzy tymi komponentami systemu. Przedmiotem zlecenia jest rozszerzenie obecnego API Modułu dlibra - Redaktor oraz Modułu dlibra Serwer o funkcje dodatkowe umożliwiającego wykonanie i wdrożenie produkcyjne oprogramowania do integracji Modułu dlibra - Redaktor z aplikacją Workflow. W tym celu należy przygotować API w postaci rozszerzeń do Modułu dlibra Redaktor oraz zbioru metod dla Modułu dlibra Serwer. W wyniku zrealizowania zamówienia na PDOD, muszą powstać punkty rozszerzeń w postaci API Modułu dlibra - Redaktor oraz Modułu dlibra Serwer z metodami i klasami umożliwiającymi wykonanie oprogramowania do integracji systemu dlibra z systemem Workflow zgodnie z wymaganiami Zlecającego. Zamieszczone dalej w niniejszym dokumencie ilustracje oraz interfejsy programistyczne mają charakter poglądowy. Strona 5 z 16
3.3 Opis wymagań Zlecającego w stosunku do opisu zlecenia. 3.3.1 API dla Modułu dlibra Redaktor. W efekcie realizacji niniejszego zlecenia API Modułu dlibra - Redaktor musi udostępniać cztery punkty rozszerzeń opisane poniżej. Udostępnienie tych punktów umożliwi wykonanie dodatkowych narzędzi (oprogramowania) do pełnej integracji systemu dlibra z systemem Workflow wdrożonym w Bibliotece Śląskiej. Wykonanie tych dodatkowych narzędzi nie wchodzi w zakres niniejszego zlecenia. W ramach zlecenia powstaną punkty rozszerzeń, które będą wykorzystane przy implementacji narzędzi integrujących. a) punkt rozszerzeń typu Tool umożliwiający utworzenie dowolnego narzędzia, które, wykorzystując API Modułu dlibra -Serwer (tryb tylko do odczytu), może pobierać dane z systemu dlibra. Implementujące ten punkt rozszerzeń narzędzie musi udostępnić własny interfejs użytkownika (GUI) z wykorzystaniem technologii Java Swing. Narzędzie takie może komunikować się z zewnętrznymi systemami informatycznymi, np. systemem Workflow w celu pobierania/zapisywania informacji, lub wyszukiwania publikacji powiązanych z JO, b) punkt rozszerzeń typu DataSource pozwalający na utworzenie specjalizowanego panelu do wskazywania plików publikacji. Implementujące ten punkt rozszerzeń narzędzie musi udostępniać własny interfejs użytkownika (GUI) z wykorzystaniem technologii Java Swing. Narzędzie takie może przykładowo prezentować panel pozwalający na wskazanie plików JO, c) punkt rozszerzeń typu ObjectPanel umożliwiający dodanie zakładki w interfejsie Modułu dlibra - Redaktor, prezentowanej po zaznaczeniu obiektu: publikacji lub wydania. Implementujące ten punkt rozszerzeń narzędzie musi udostępniać własny interfejs użytkownika (GUI) z wykorzystaniem technologii Java Swing. Narzędzie takie może wyświetlać dedykowane informacje, np. informacje o JO takie jak identyfikator, podgląd JO czy przycisk reklamacja, d) punkt rozszerzeń typu EventListener - pozwala nasłuchiwać na określone zmiany zachodzące w ramach Modułu dlibra - Redaktor, np. modyfikacja publikacji lub wydania. Implementujące ten punkt rozszerzeń narzędzie będzie mogło obsłużyć zdarzenie modyfikacji publikacji lub wydania w Module dlibra - Redaktor. Opisana powyżej koncepcja integracji systemów dlibra i Workflow została schematycznie zilustrowana na Rysunku 1. Poszczególne typy rozszerzeń wraz z przykładami opisane zostały w kolejnych podpunktach. Strona 6 z 16
Punkt rozszerzeń typu Tool Aplikacja redaktora systemu dlibra API Punkt rozszerzeń typu DataSource Punkt rozszerzeń typu ObjectPanel Dodatkowe narzędzia integracyjne Wymiana danych API System Workflow Punkt rozszerzeń typu EventListener Rysunek 1. Koncepcja integracji systemów dlibra i Workflow w oparciu o punkty rozszerzeń i wykorzystujące te punkty narzędzie integracyjne. Strona 7 z 16
3.3.1.1 Punkt rozszerzeń typu Tool. Punkt rozszerzeń typu Tool będzie wymagał, aby rozszerzenia typu Tool implementowały następujący interfejs: /** * This interface defines a tool which can be used within dlibra. */ public interface Tool extends ConfigurableExtension { public void perform(window parentwindow, AbstractServiceResolver serverinterface); } /** * @return UI name of this tool */ public String getname(); gdzie funkcja perform() jako parametry musi przyjmować: a) parentwindow - komponent typu java.awt.window, który musi być wykorzystany jako rodzic dla okna tworzonego narzędzia, b) serverinterface interfejs serwera dlibra, który musi być wykorzystany w celu pobierania danych z Modułu dlibra Serwer, natomiast funkcja getname() musi zwracać nazwę rozszerzenia typu Tool prezentowaną użytkownikowi Modułu dlibra Redaktor. Nazwa powinna być zwracana w języku, który aktualnie ustawiony jest w ramach ustawień regionalnych maszyny wirtualnej Javy (java.util.locale). Strona 8 z 16
Po włączeniu tego typu rozszerzenia do Modułu dlibra Redaktor musi pojawić się nowa pozycja w zaznaczonym poniżej (na czerwono) menu Modułu dlibra Redaktor. Rysunek 2. Ekran główny z zaznaczonym menu w ramach którego pojawi się nowa pozycja dotycząca rozszerzenia typu Tool. 3.3.1.2 Punkt rozszerzeń typu DataSource. Punkt rozszerzeń typu DataSource będzie wymagał aby rozszerzenia typu DataSource implementowały następujący interfejs: public interface DataSource extends ConfigurableExtension { public JPanel getpanel(component parentcomponent); } public EditionFiles getselectedfiles(); gdzie funkcja getpanel() musi przyjmować parametry parentcomponent (komponent typu java.awt.component, w ramach którego umieszczony zostanie zwrócony przez metodę panel), oraz zwracać obiekt typu javax.swing.jpanel, który będzie umieszczony w ramach ekranu kroku kreatora pozwalającego na wybór plików publikacji. Miejsce umieszczenia panelu zaznaczono na rysunku poniżej. Strona 9 z 16
Rysunek 3. Widok panelu. Z kolei funkcja getselectedfiles() musi zwracać pliki wskazane przez użytkownika na panelu. Obiekt zawierający informacje o plikach (EditionFiles) musi zawierać wszystkie informacje na temat plików publikacji (np. plik główny). Pliki te mogą być wskazane jako pliki na dysku lokalnym na komputerze redaktora, lub jako odnośniki URL (do zasobów www lub dysków sieciowych), które będą mogły być pobrane bezpośrednio przez Moduł dlibra - Serwer. 3.3.1.3 Punkt rozszerzeń typu ObjectPanel. Punkt rozszerzeń typu ObjectPanel będzie wymagał aby rozszerzenia typu ObjectPanel implementowały następujący interfejs: public interface ObjectPanel extends ConfigurableExtension { public JPanel getpanel(component parentcomponent, ElementId id, AbstractServiceResolver serverinterface); } gdzie funkcja getpanel() musi przyjmować parametry: a) parentcomponent komponent typu java.awt.component, w ramach którego umieszczony zostanie zwrócony przez metodę panel, b) id identyfikator obiektu (np. publikacji lub wydania), dla którego ma zostać zwrócony panel, c) serverinterface interfejs serwera dlibra, który może być wykorzystany w celu pobierania danych z Modułu dlibra - Serwer, Strona 10 z 16
oraz zwracać obiekt typu javax.swing.jpanel, który będzie widoczny jako dodatkowa zakładka dla obiektu o identyfikatorze przekazanym w parametrze id. Na ekranie poniżej zaznaczono miejsce w którym pojawi się nowa zakładka, na której umieszczony zostanie panel. Rysunek 4. Miejsce nowej zakładki. 3.3.1.4 Punkt rozszerzeń typu EventListener. Punkt rozszerzeń typu EventListener będzie wymagał aby rozszerzenia typu EventListener implementowały następujący interfejs: public interface ObjectPanel extends ConfigurableExtension { public void eventpushed(dlevent event, AbstractServiceResolver serverinterface); } gdzie funkcja eventpushed() musi przyjmować parametry: a) event informacje na temat zdarzenia, jakie zaistniało w ramach Moduł dlibra - Redaktor (np. modyfikacja wydania), b) serverinterface interfejs Modułu dlibra - Serwer, który może być wykorzystany w celu pobierania danych z Modułu dlibra - Serwer. Strona 11 z 16
3.3.2 API dla Modułu dlibra Serwer. API Modułu dlibra Serwer musi udostępniać takie metody niezbędne do integracji dlibry i Workflow, które pozwolą na pobranie opisu wydania (metadanych). Poniżej znajduje się przykładowy kod, który wykorzystuje dostarczony interfejs Modułu dlibra Serwer do pobrania metadanych (zbioru wartości atrybutów) wybranego wydania. try { AbstractServiceResolver serviceresolver = (AbstractServiceResolver) serverinterface; ElementMetadataManager metadatamanager = ((MetadataServer) serviceresolver.getservice(metadataserver.service_type, null)).getelementmetadatamanager(); AttributeValueSet attributevalueset = metadatamanager.getattributevalueset(editionid, AttributeValue.AV_ASSOC_ALL); Map<String, String> valuesmap = attributevalueset.getvaluesforindex(); // System.out.println(valuesMap); } catch (RemoteException e) { // exception handling } catch (DLibraException e) { // exception handling } Strona 12 z 16
3.3.3 Minimalne parametry techniczne związane z funkcjonalnością, wydajnością i bezpieczeństwem PDOD. a) PDOD musi pracować na systemie operacyjnym i środowisku uruchomieniowym na którym obecnie pracuje system dlibra, Strona 13 z 16
4. Część informacyjna. 4.1 Przepisy prawne i dokumenty związane z projektowaniem i wykonaniem zamierzenia. Projekt i wykonanie PDOD będącego niniejszym zleceniem jest ograniczony przez istniejące prawa i ustalenia obowiązujące na terenie RP. W szczególności mowa tu o: a) Rozporządzeniu Rady Ministrów z dnia 11 października (Dz. U. 2005 r. Nr 212 poz. 1766, z późn. zm.) w sprawie minimalne wymagania dla systemów teleinformatycznych, b) Ustawie z dnia 4 lutego 1994 roku o prawie autorskim i prawach pokrewnych (tekst jednolity ze zmianami), c) Specyfikacji funkcjonalnej systemu Śląskiej Internetowej Biblioteki Zbiorów Zabytkowych, d) Licencjach udzielonych zlecającemu na poszczególne podsystemy (i ich elementy) systemu ŚIBZZ, e) Licencjach udzielonych zleceniobiorcy na poszczególne narzędzia/środowiska użyte w celu zaprojektowania i wykonania zamierzenia, f) Dokumentacji użytkownika i dokumentacji technicznej systemu dlibra. 4.2 Warunki udzielenia licencji. Poza systemem w postaci wykonywalnej (ang. executable), Zleceniobiorca przekaże Zlecającemu w chwili odbioru oprogramowania pełną dokumentacje użytkownika i dokumentację techniczną oraz bezterminową licencję umożliwiającą rozbudowę o kolejne stanowiska. 4.3 Gwarancja. Zleceniobiorca musi udzielić przynajmniej 12-miesięcznej gwarancji liczonej od dnia następującego po dniu podpisania protokołu odbioru PDOD na prawidłowe ich funkcjonowanie. Przez prawidłowe funkcjonowanie PDOD Strony rozumieją zgodność działania PDOD oraz każdego jego elementu z osobna z wymogami określonymi Umową oraz dostarczoną dokumentacją w ramach wdrożenia PDOD. Ewentualne poprawki i modyfikacje oprogramowania PDOD w ramach gwarancji będą objęte zasadami bezterminowej licencji umożliwiającej rozbudowę o kolejne stanowiska oraz będą dostarczane i instalowane w ramach gwarancji. Strona 14 z 16
5. Spis ilustracji. Rysunek 1. Koncepcja integracji systemów dlibra i Workflow w oparciu o punkty rozszerzeń i wykorzystujące te punkty narzędzie integracyjne...7 Rysunek 2. Ekran główny z zaznaczonym menu w ramach którego pojawi się nowa pozycja dotycząca rozszerzenia typu Tool....9 Rysunek 3. Widok panelu... 10 Rysunek 4. Miejsce nowej zakładki.... 11 Strona 15 z 16
6. Spis załączników. Załącznik 1: Dokumentacja użytkownika systemu dlibra. Załącznik 2: Dokumentacja użytkownika systemu Workflow. Strona 16 z 16