Spis treści

Informacje ogólne


Proces migracji oprogramowania dLibra można podzielić na kilka etapów:

  • zabezpieczenie istniejącej instalacji
  • aktualizacja plików poszczególnych komponentów systemu dLibra
  • modyfikacja plików konfiguracyjnych oraz struktury bazy danych
  • wykonanie operacji za pomocą interfejsu administracyjnego JMX serwera dLibry (patrz punkt 2.1 dokumentacji serwera)

UWAGA

Do przeprowadzenia migracji niezbędne jest posiadanie zainstalowanej dLibry w wersji 4.0.24.

 

Pobieranie dystrybucji


Pakiet dystrybucyjny (migracyjny) dostępny jest w repozytorium dystrybucji. Pobieranie plików jest możliwe po podaniu nazwy użytkownika oraz hasła, które można uzyskać kontaktując się z pomocą techniczną zespołu dLibra.

 

Zawartość dystrybucji

Struktura katalogów dystrybucji systemu dLibra zawiera katalogi bezpośrednio związane z systemem dLibra:

  • binaries- zawiera wersje wykonywalne poszczególnych komponentów systemu. Poszczególne podkatalogi zawierają:
    • dlibra-client-publication-files-uploader - narzędzie służące do dodawania plików do publikacji planowanej.
    • dlibra-server - serwer systemu dLibra.
    • dlibra-webapp - aplikacja czytelnika (WWW).
  • install-sql - zawiera skrypty sql niezbędne do utworzenia i wstępnego wypełnienia struktury bazy danych w każdej ze wspieranych baz danych.
  • migrate-sql - skrypty zawierające polecenia SQL wykorzystywane do migracji struktury bazy danych do bieżącej wersji.

Równolegle w katalogu dystrybucyjnym znajdują się pliki i katalogi instalatora systemu dLibra:

  • lib - zawiera biblioteki pomocnicze instalatora.
  • resources - zawiera zasoby graficzne i tekstowe instalatora.
  • install.bat, install.sh - skrypty służące do uruchomienia instalatora odpowiednio w systemie Windows i Linux/Unix.
  • antinstall-config.xml, build.xml - pliki konfiguracyjne instalatora.

Dodatkowo w głównym katalogu pakietu instalacyjnego znajdują się następujące pliki:

  • sample-server.properties - szablon konfiguracji instalatora serwera systemu dLibra.
  • sample-webapp.properties - szablon konfiguracji instalatora Aplikacji Czytelnika.

 

Zabezpieczenie istniejącej instalacji


Zabezpieczenie bieżącej instalacji dLibry należy przeprowadzić w celu ochrony danych zgromadzonych w bibliotece cyfrowej. Polega ono na wykonaniu kopii zapasowych poszczególnych komponentów systemu oraz danych tworzonych i wykorzystywanych przez te komponenty. Do utworzenia kopii zapasowych należy wykorzystać zewnętrzne oprogramowanie odpowiednie do rodzaju kopii zapasowej. Jeśli któraś z kopii jest wykonywana cyklicznie w trakcie codziennego użytkowania biblioteki cyfrowej można ją pominąć.

UWAGA

Wszystkie operacje należy wykonywać przy wyłączonych aplikacji czytelnika i serwerze dLibry! Przed wyłączeniem serwera należy się upewnić, że zakończył on przetwarzanie wszystkich zdarzeń znajdujących się w bazie danych w tabeli EVE_EVENTS.

Podstawową czynnością jest wykonanie kopii zapasowej bazy danych. W tym celu można wykorzystać mechanizmy wbudowane w używany system zarządzania bazą danych.

W przypadku bibliotek cyfrowych z dużą ilością opublikowanych pozycji istotne jest również wykonanie kopii indeksów wyszukiwawczych znajdujących się w katalogu index (pełna ścieżka znajduje sie w pliku konfiguracyjnym serwera conf/lucene.properties w kluczu indexDirectory). Aby wykonać tą operację można posłużyć się dowolnym menadżerem plików i / lub programem archiwizującym. Tego samego oprogramowania można użyć przy wykonywaniu kopii zapasowej katalogu zawierającego treść publikacji (katalog files, do którego pełna ścieżka znajduje sie w pliku konfiguracyjnym serwera conf/cs/service.properties w kluczu contentDirectory).

Opcjonalnie można również wykonać kopie zapasowe katalogu serwera dLibry oraz aplikacji czytelnika.

 

Aktualizacja komponentów systemu dLibra


Aktualizacji podlegają wszystkie elementy systemu dLibra czyli serwer, aplikacja czytelnika i aplikacja redaktora / administratora. Aktualizacja aplikacji redaktora / administratora odbywa się w ramach aktualizacji aplikacji czytelnika.

 

Aktualizacja serwera dLibry


Wszystkie ścieżki do plików czy katalogów w poniższym opisie podane są względem lokalizacji pakietu aktualizacyjnego, który może znajdować się na dowolnym nośniku. Przykładowo jeśli pakiet aktualizacyjny znajduje się na płycie CD to ścieżka binaries\dlibra-server\bin liczona jest od głównego katalogu płyty CD.

Jeśli serwer umieszczony jest w katalogu zawierającym w nazwie numer wersji zalecana jest zmiana tej nazwy na taką, która będzie zawierać numer wersji 5.0. Pozwoli to uniknąć pomyłek podczas późniejszego używania serwera dLibry.

W celu przeprowadzenia aktualizacji przechodzimy do katalogu serwera i wykonujemy kolejne podane niżej kroki.

  • katalogi bin, logs pozostawiamy bez zmian
  • katalog binaries\dlibra-server\bat kopiujemy do katalogu serwera
  • zastępujemy skrypt uruchamiający serwer jego nową wersją z pakietu aktualizacyjnego
  • usuwamy zawartość katalogu extensions i kopiujemy tam zawartość katalogu binaries\dlibra-server\extensions z pakietu aktualizacyjnego
  • usuwamy zawartość katalogu lib i kopiujemy tam zawartość katalogu binaries\dlibra-server\lib z pakietu aktualizacyjnego

 

Modyfikacja plików konfiguracyjnych i struktury bazy danych

 

Modyfikacja plików konfiguracyjnych serwera


W celu przeprowadzenia migracji plików konfiguracyjnych przechodzimy do katalogu conf i wykonujemy następujące czynności:

  • katalog cs pozostawiamy bez zmian
  • katalog em pozostawiamy bez zmian
  • kopiujemy katalog binaries\dlibra-server\conf\me do bieżącego katalogu
  • w katalogu ms wykonujemy następujące czynności:
    • plik quartz.properties pozostawiamy bez zmian
    • plik jobs.xml zastępujemy plikiem binaries\dlibra-server\conf\ms\jobs.xml; jeśli plik jobs.xml w wersji 4.0 był dostosowywany do potrzeb biblioteki cyfrowej podobne zmiany należy wykonać w jego nowej wersji
    • plik service.properties zastępujemy plikiem binaries\dlibra-server\conf\ms\service.properties
    • w pliku service.properties modyfikujemy wartości kluczy publicDirectoryId i wwwPublicationsAllowed tak, by pierwszy z nich wskazywał na identyfikator katalogu publicznego a drugi informował czy dodawanie publikacji z poziomu aplikacji czytelnika jest możliwe (więcej informacji na temat konfiguracji mechanizmu self archiving można uzyskać tutaj)
    • jeśli plik dc-export.properties nie był modyfikowany zastępujemy go plikiem binaries\dlibra-server\conf\ms\dc-export.properties; w przeciwnym wypadku należy nowy plik dc-export.properties zmodyfikować w taki sposób, by uwzględniał zmiany dokonane dla wersji 4.0
    • pozostałe pliki binaries\dlibra-server\conf\ms/*.properties kopiujemy do katalogu ms
  • katalog mx pozostawiamy bez zmian
  • katalog oh kasujemy
  • w katalogu pp nadpisujemy plik jobs.xml plikiem binaries\dlibra-server\conf\pp\jobs.xml
  • kopiujemy katalog binaries\dlibra-server\conf\is do bieżącego katalogu i wykonujemy poniższe czynności:
    • plik service.properties modyfikujemy w taki sposób, aby klucze, które pokrywają się z kluczami pliku se\service.properties miały te same wartości
    • dla kluczy pl.psnc.dlibra.index.VersionIndexer.indexCollections, pl.psnc.dlibra.index.AVSEditionIndexer.indexCollections, pl.psnc.dlibra.index.AVSPublicationIndexer.indexCollections, pl.psnc.dlibra.index.DCEditionIndexer.indexCollections, pl.psnc.dlibra.index.DCPublicationIndexer.indexCollections należy ustawić taką wartość jak w pliku se\service.properties dla odpowiadających im kluczy pl.psnc.dlibra.search.server.index.VersionIndexer.indexCollections, pl.psnc.dlibra.search.server.index.AVSEditionIndexer.indexCollections, pl.psnc.dlibra.search.server.index.AVSPublicationIndexer.indexCollections, pl.psnc.dlibra.search.server.index.DCEditionIndexer.indexCollections, pl.psnc.dlibra.search.server.index.DCPublicationIndexer.indexCollections

      UWAGA

      Należy zwrócić uwagę na zmianę wartości domyślnych dla kluczy związanych z indeksowaniem informacji o kolekcjach. W wersji 4.0 dLibry domyślną wartością jest true natomiast w wersji 5.0 false. Oznacza to, że jeśli w poprzedniej wersji określone klucze były zakomentowane używając wartości domyślnej, w obecnej wersji należy usunąć komentarz i ustawić wartość true.

    • jeśli plik se\jobs.xml w wersji 4.0 był dostosowywany do potrzeb biblioteki cyfrowej podobne zmiany należy wykonać w pliku jobs.xml jednak nie jest możliwe nadpisanie tego pliku poprzednią wersją z uwagi na zmiany nazw parametrów
  • w katalogu se wykonujemy poniższe czynności:
    • kopiujemy plik binaries\dlibra-server\conf\se\searchConfig.properties do bieżącego katalogu
    • plik service.properties należy nadpisać plikiem binaries\dlibra-server\conf\se\service.properties
    • w pliku service.properties wartości kluczy związanych z indeksowaniem informacji o kolekcjach należy zmodyfikować w taki sposób, aby pokrywały się z odpowiadającymi im kluczami znajdującymi się w pliku is\service.properties

      WAŻNE

      Jeśli wartości kluczy związanych z indeksowaniem informacji o kolekcjach ustawione dla usługi wyszukującej nie będą pokrywały się z odpowiadającymi im kluczami w usłudze indeksującej może to skutkować brakiem wyników wyszukiwania lub też wyniki będą niepoprawne.

    • plik jobs.xml zastępujemy plikiem binaries\dlibra-server\conf\se\jobs.xml; jeśli plik jobs.xml był w wersji 4.0 modyfikowany należy naniesione wcześniej zmiany przenieść do nowego pliku jobs.xml
  • katalog ss pozostawiamy bez zmian
  • katalog us pozostawiamy bez zmian
  • przechodzimy do katalogu wrapper i wykonujemy następujące czynności:
    • plik base.conf pozostawiamy bez zmian
    • plik java.conf zastępujemy plikiem binaries\dlibra-server\conf\wrapper\java.conf
    • kopiujemy pliki binaries\dlibra-server\conf\wrapper*-yajsw.conf do bieżącego katalogu, przy czym w pliku base-yajsw.conf należy ustawić parametry javy takie jak w base.conf (wiecej na temat uruchamiania serwera w środowisku 64-bitowym w dokumentacji)
    • pozostałe pliki pozostawiamy bez zmian
  • plik log4j.properties zastępujemy plikiem binaries\dlibra-server\conf\log4j.properties; jeśli plik log4j.properties był w wersji 4.0 modyfikowany należy naniesione wcześniej zmiany przenieść do nowego pliku log4j.properties
  • plik lucene.properties zastępujemy plikiem binaries\dlibra-server\conf\lucene.properties; jeśli plik lucene.properties był w wersji 4.0 modyfikowany należy naniesione wcześniej zmiany przenieść do nowego pliku lucene.properties (należy zwrócić uwagę na ścieżki do katalogu z plikami indeksów wyszukiwawczych i katalogu z kopią zapasową indeksów wyszukiwawczych)
  • plik server.xml zastępujemy plikiem binaries\dlibra-server\conf\server.xml modyfikując jednocześnie parametry serverPort i systemServicesUrl tak, by zawierały te same wartości, które były w poprzedniej wersji; jako wartość parametru serverHostnależy podać adres IP serwera lub jego nazwę domenową

    Adres IP/nazwa domenowa zawarty w parametrze _serverHost_

    Adres IP/nazwa domenowa zawarty w parametrze serverHost jest wykorzystywany przez serwer do komunikacji z aplikacjami klienckimi. Tak więc powinien tam być zawarty taki adres, który będzie mógł być wykorzystany przez aplikacje klienckie znajdujące się na innych maszynach. W związku z tym nie należy używać np. adresu 127.0.0.1.

    • Jeśli w skopiowanym pliku server.xml w parametrze password dla poszczególnych usług znajdują się wpisy typu  (SS_PASSWD) (zamiast SS może być skrót dotyczący konkretnej usługi) należy podmienić je odpowiednimi wartościami z pliku server.xmlz poprzedniej wersji

      Hasła usług w pliku _server.xml_

      Hasła wpisane w parametrach password muszą odpowiadać hasłom dla odpowiednich usług w tabeli SYS_SERVICES w bazie danych.

      Jeśli w skopiowanym pliku server.xml znajdują się wpisy @WS_COMMENT_START@ i @WS_COMMENT_END@, należy je zmienić na początek (<!--) i koniec (-->) komentarza xml.

  • pozostałe pliki konfiguracyjne zastępujemy ich nowszymi wersjami z katalogu binaries\dlibra-server\conf, przy czym zawsze należy uwzględnić zmiany, które były wprowadzane ręcznie w plikach w wersji 4.0

 

Modyfikacja struktury bazy danych

 

Typ bazy danych

W podanych poniżej ścieżkach do skryptów sql użyto parametru dbtype, w miejsce którego należy wstawić wartość odpowiednią do używanej bazy danych:

  • derby - dla bazy danych Derby,
  • mysql - dla bazy danych MySQL,
  • oracle - dla bazy danych Oracle,
  • postgresql - dla bazy danych PostgreSQL.


W katalogu migrate-sql\dbtype znajdują się katalogi odpowiadające poszczególnym usługom. Każdy katalog zawiera skrypty sql opatrzone numerami kolejnych wersji wydanych w ramach wersji 5.0. Polecenia zawarte w skryptach należy wykonać po kolei zaczynając od skryptu o najmniejszym numerze. Dodatkowo należy do tabeli z usługami dodać wpisy dla nowych usług Message Server i Index Server. W tym celu należy:

  • przejść do katalogu install-sql/dbtype/ss
  • z pliku dlibra-server-ss-5.0.0-dbtype-data-init.sql.templateskopiować polecenie (przykład dla bazy Oracle):

    insert into SYS_SERVICES
    (SER_ID, SER_TYPE, SER_DESCRIPTION,
     SER_VERSION, SER_CONNECTED, SER_PASSWORD,
     SER_HOST, SER_PORT)
    values
    (SYS_SERVICES_SER_ID_SEQ.NEXTVAL, 'me', 'Message server',
     '@SERVER_VERSION@', 0, '@ME_PASSWD@',
     '@SERVER_HOSTNAME@', @SERVER_PORT@);
    
    insert into SYS_SERVICES
    (SER_ID, SER_TYPE, SER_DESCRIPTION,
     SER_VERSION, SER_CONNECTED, SER_PASSWORD,
     SER_HOST, SER_PORT)
    values
    (SYS_SERVICES_SER_ID_SEQ.NEXTVAL, 'is', 'Index server',
     '@SERVER_VERSION@', 0, '@IS_PASSWD@',
     '@SERVER_HOSTNAME@', @SERVER_PORT@);
    
  • w poleceniu wstawiającym nową usługę zmienić:
    •  (SERVER_VERSION) na 5.0
    •  (ME_PASSWD) i  (IS_PASSWD) na hasła podane w odpowiedniej sekcji pliku server.xml (patrz punkt Modyfikacja plików konfiguracyjnych serwera)

      Nowe hasła usług w pliku _server.xml_ i w bazie danych

      Jeśli w pliku server.xml sekcje dotyczące nowych usług nie maja ustawionego parametru password należy utworzyć nowe hasła wpisując je zarówno w pliku server.xml jak i w poleceniach SQL tworzących wpisy dla tych usług.

    •  (SERVER_HOSTNAME) na nazwę hosta, na którym będzie uruchomiona odpowiednia usługa Message Server i / lub Index Server (typowo będzie to ten sam host, na którym uruchomione są pozostałe usługi)
    •  (SERVER_PORT) na numer portu, na którym jest uruchomiony serwer dLibry, który zawiera usługi Message Server i / lub Index Server
  • wykonać polecenie sql.

 

System licencji dLibra


W wersji 5 systemu dLibra do uruchomienia serwera nie jest niezbędne posiadanie pliku licencji. W takim przypadku serwer zostanie uruchomiony z ograniczeniami uniemożliwiającymi utworzenie więcej niż trzech publikacji oraz trzech kont użytkowników. Jeżeli w systemie dLibra istnieją już obiekty (publikacje lub użytkownicy), których liczba przekracza ustalone limity, system zostanie uruchomiony lecz nie będzie można dodawać nowych obiektów.
Aby uruchomić serwer bez ograniczeń, należy dostarczyć stosowny plik licencji. Taki plik należy wygenerować samodzielnie korzystając z Panelu użytkownika. Dostęp do Panelu użytkownika możliwy jest po podaniu nazwy użytkownika i hasła, identycznego jak w przypadku dostępu do repozytorium dystrybucji. Dane dostępowe można uzyskać kontaktując się z pomocą techniczną zespołu dLibra.

Więcej informacji na temat licencji znajdziesz w rozdziale 02. Uruchamianie serwera systemu dLibra.

Uruchamianie serwera


Serwer systemu dLibra może działać w dwóch trybach: w trybie usługi lub w trybie wyświetlania komunikatów na konsolę. Jeśli do tej pory działał w trybie usługi a system operacyjny zainstalowany na maszynie to Windows należy przed uruchomieniem serwera dLibry w nowej wersji wyrejestrować usługę w wersji 4.0. Można to zrobić uruchamiając serwer dLibry z parametrem remove. Następnie należy zarejestrować usługę w wersji 5.0 uruchamiając serwer z parametrem install.

 

Wykonanie operacji JMX


Przed wykonaniem operacji JMX należy uruchomić serwer dLibry. Następnie należy:

  • uruchomić aplikację jconsole (instalowana razem z JDK)
  • podłączyć się do serwera dLibry
  • rozwinąć węzeł MBeans/dlibra Server ver.5.0.x/Content Server/VariuosTasks/Operations
  • uruchomić funkcję recreateContents podając następujące wartości parametrów:
    • dla versions wartość false
    • dla collections wartość true

 

Migracja aplikacji czytelnika

Przed przystąpieniem do aktualizacji systemu należy zabezpieczyć : istniejącą aplikacje czytelnika, katalog roboczy aplikacji czytelnika.

W dalszej części tej instrukcji będziemy posługiwać się następującymi nazwami katalogów:

  1. 4.0- katalog główny aplikacji czytelnika w wersji 4.0,
  2. 5.0- katalog główny aplikacji czytelnika w wersji 5.0.

Proces migracji praktycznie sprowadza się do porównywania zawartości plików oraz katalogów między wersją 4.0 a 5.0 Aplikacji Czytelnika, stąd przydatnym w tej sytuacji może być odpowiednie narzędzie wspomagające ten proces. Jednym z takich narzędzi jest oprogramowanie
Total Commander.

Przenoszenie konfiguracji z wersji 4.0 do 5.0

Jeśli jakiś plik konfiguracyjny nie został uwzględniony w tej instrukcji, oznacza to, iż jego struktura nie uległa zmianie w stosunku do wersji 4.0. Jeśli administrator wprowadzał w nim własne zmiany, powinny one być przeniesione do pliku w wersji 5.0 Aplikacji Czytelnika.

Katalog główny:

  • Zawartość katalogu 4.0/exlibris skopiować do katalogu 5.0/exlibris.
  • Katalog 4.0/stats skopiować w całości do katalogu 5.0.
  • Plik 4.0/robots.txt skopiować do katalogu 5.0.

Katalog /styles:

Jeśli w ramach danej biblioteki cyfrowej zmieniane były pliki graficzne specjalnie na jej potrzeby, wówczas można przekopiować te pliki graficzne i nadpisać istniejące. Pozostałe pliki graficzne, tj. te które były dostarczone z wersją 4.0 nie powinny być kopiowane do wersji 5.0.

Podmiana tematów graficznych

Istniejące w wersji 5.0 tematy graficzne zostały zmienione i uzupełnione o nowe pliki .css, nowe wartości w plikach .css, nowe pliki graficzne. Jeśli administratorzy systemu utworzyli własny temat graficzny bądź zmienili istniejący wówczas wymagane będzie porównanie plików z wersji 4.0 i 5.0 z uwzględnieniem zmian dodanych w nowej wersji.
Wprowadzenie tego może być niezbędne do prawidłowego funkcjonowania aplikacji czytelnika.

Pomocne mogą okazać się następujące narzędzia:

Katalog /WEB-INF:

  • ignored_agents.txt – w najnowszej wersji Aplikacji Czytelnika konfiguracja pobierana jest ze zdalnego adresu (domyślnie: http://dlibra.psnc.pl/ignored_agents.txt), za pomocą zadania okresowego IgnoredAgentsUpdatingTask. W przypadku, gdyby pobranie pliku ze wspomnianego adresu było niemożliwe, zadanie okresowe wczyta dane z pliku umieszczonego w danej aplikacji czytelnika. Jeśli administrator preferuje użycie własnego pliku ignored_agents.txt wówczas może nadpisać plik w wersji 5.0 tym z wersji 4.0 i usunąć deklarację zadania okresowego IgnoredAgentsUpdatingTask z pliku periodic.xml.
  • ignored_ips.txt – nadpisać nowy plik z wersji 5.0 plikiem z wersji 4.0.
  • templates.properties – porównać zawartość plików z wersji 4.0 oraz 5.0 i wartości parametrów istniejących w wersji 4.0 wstawić jako wartości tych samych parametrów w wersji 5.0.
  • components.xml– dla linii:

    <!ENTITY exhibitionId "xxx">
    <!ENTITY recommendedId "yyy">
    

    wstawić w miejsce 'xxx' oraz 'yyy' odpowiadające im wartości z wersji 4.0 pliku. W przypadku braku wartości parametru recommendedId w wersji 4.0, należy wstawić tutaj wartość -1. Znaczenie tego parametru opisane zostało w końcowej części tej instrukcji, w sekcji "Na co warto zwrócić uwagę po migracji?". Poza tym dla tych parametrów komponentów, których wartości domyślne w wersji 4.0 były zmieniane w celu dostosowania interfejsu danej biblioteki cyfrowej, należy stosowne zmiany wprowadzić ponownie w wartościach tych parametrów w wersji 5.0.

    • UWAGA: Wyjątkiem jest tutaj wartość parametru "main.app.jar.name" komponentu JnlpComponent, dla którego powinno się pozostawić wartość z wersji 5.0.
    • UWAGA 2: W przypadku wątpliwości co do tego, które wartości należy przenieść z wersji 4.0 do 5.0, gdyż zostały zmodyfikowane w stosunku do postaci instalacyjnej przydatne może okazać się porównanie posiadanych plików z postacią dystrybucyjną. Taka postać pliku components.xml dla wersji 4.0.24 znajduje się tutaj, a dla wersji 5.0.0 tutaj. Do pobrania tych plików niezbędny jest dostęp do repozytorium dystrybucji systemu dLibra, który powinien być przyznany przy zakupie licencji/aktualizacji.
  • pages.xml - Zalecane jest zachowanie pliku pochodzącego z wersji 5.0 i ewentualne ponowne wprowadzenie zmian wykonanych w wersji 4.0 np. w celu dostosowania wyglądu interfejsu Aplikacji Czytelnika. Przy wprowadzaniu zmian w pliku pages.xmlw wersji 5.0 na podstawie pliku z wersji 4.0 należy mieć na uwadze następujące zmiany:
    • W wersji 5.0 usunięte zostały elementy XML (oznaczone znacznikami <page>) odpowiadające stronom: doccontent, doccontent2, content-top, content-sidebar, admin-doctype-edit oraz admin-doctype-list oraz account-moderation.
    • Usunięte zostały również następujące komponenty (oznaczone znacznikami <component>) występujące w definicjach stron zawartych w pliku pages.xml: DocTypesListComponent, SingleDoctypePageComponent, AddPublicTagComponent, AccountTagsComponent.
  • periodic.xml - W zadaniu okresowym JCRBackupTask, w pliku z wersji 5.0, upewnić się, że w parametrze ?jcr.backup.dir" podana jest ścieżka do istniejącego katalogu, który ma być wykorzystywany do składowania kopii zapasowych JCR. Więcej na temat mechanizmu kopii zapasowych JCR tutaj.
  • web.xml - Wszystkie nowe wpisy z wersji 5.0 powinny zostać nienaruszone. Manualne zmiany wprowadzone przez administratorów do wersji 4.0 pliku powinny być przeniesione do wersji 5.0, przy czym poza wyjątkowymi przypadkami nie powinny być edytowane inne elementy pliku web.xml, niż wartości wewnątrz znacznika <param-value> znajdującego się w znaczniku <context-param>.

Katalog /WEB-INF/components/templates

Jeśli katalog ten zawiera pliki nadpisujące domyślne szablony komponentów lub makra systemu dLibra, wówczas koniecznym może się okazać ponowne porównanie tych plików z pierwowzorami z wersji 5.0. W najnowszej wersji aplikacji czytelnika część szablonów komponentów oraz makr uległa bowiem istotnym zmianom. Szczególną uwagę należy zwrócić na plik custom_library.vm. Jeśli plik ten zawiera deklaracje nadpisujące makra istniejące w pliku makr domyślnych component_library.vm, wówczas koniecznym może się okazać przerobienie kodów makr nadpisujących. W najnowszej wersji aplikacji czytelnika wiele makr domyślnych uległo zmianie.

Katalog /WEB-INF/components/resources/

Jeśli katalog ten zawiera pliki .xml etykiet, nadpisujące domyślne pliki etykiet komponentów, wówczas koniecznym może się okazać ponowne porównanie tych plików z pierwowzorami z wersji 5.0 – w najnowszej wersji aplikacji czytelnika część plików etykiet uległa bowiem istotnym zmianom.

Jeśli w katalogu z wersji 4.0 zostały zdefiniowane pliki w innych wersjach językowych (prócz angielskiej i polskiej), wówczas należy przenieść te pliki do katalogu wersji 5.0. Powinno się również uwzględnić w tych plikach tłumaczenia nowych kluczy etykiet z wersji 5.0 aplikacji.

Katalog /WEB-INF/conf/

  • cache.properties - w wersji 5.0 pliku zmianie uległ parametr ?class.name", pozostałe wartości mogą zostać zastąpione wartościami z wersji 4.0 pliku.
  • contentHandlers.properties – w pliku w wersji 5.0 uległa zmianie wartość ?class.name", dodany został parametr ?mimetype.icons.path"; pozostałe parametry: ?format.handlers.conf" oraz ?show.browser.plugin.as.first" można zastąpić wartościami z wersji 4.0;
  • jcr.properties – dodane zostały dwa nowe parametry ?jcr.backup.restorer.class" oraz ?jcr.restore.dir", z których ten ostatni powinien wskazywać na konkretny katalog, z którego odczytywane będą pliki kopii zapasowych. Więcej na temat kopii zapasowych JCR tutaj. Parametr ?jcr.working.dir" zastąpić wartością z wersji 4.0 pliku.
  • users.properties – w wersji 5.0 zmianie uległa wartość atrybutu ?class.name", dla pozostałych atrybutów można przyjąć wartości z 4.0.
  • resource-managers.xml – należy uwzględnić fakt, iż w wersji 5.0 pliku usunięty został wpis dotyczący multipleManager. Jeśli wpis dotyczący guanxi był odkomentowany w wersji 4.0 pliku, należy to uwzględnić w wersji 5.0 pliku.

Katalog /WEB-INF/layout/resources/

Należy porównać pliki z wersji 4.0 z wersją z 5.0 i dla wszystkich jednakowych kluczy uwzględnić etykiety z wersji 4.0. W przypadku istnienia plików w innych wersjach językowych, niż tylko w języku angielskim i polskim, należy przekopiować je do katalogu w wersji 5.0. Powinno się również uwzględnić w tych plikach tłumaczenia nowych kluczy etykiet.

Katalog /WEB-INF/layout/templates/

Jeśli pliki w wersji 4.0 były zmieniane przez administratora (np. w celu wstawienia kodu Google Analytics w stopce każdej ze stron WWW), może on je porównać z tymi z wersji 5.0 i przenieść ewentualne zmiany, mając na uwadze nowe wpisy.

Czynności do wykonania po przeniesieniu konfiguracji z wersji 4.0 do 5.0

Po wykonaniu opisanych powyżej kroków powinno być możliwe uruchomienie Aplikacji Czytelnika. Po uruchomieniu należy sprawdzić, czy wygląd i funkcjonalność stron biblioteki cyfrowej są zgodne z oczekiwaniami. Ponadto należy wykonać następujące czynności:

  • W panelu administracyjnym (dostępnym pod adresem <główny adres biblioteki cyfrowej>/dlibra/admin), w sekcji "Strony pomocy" należy kliknąć w znajdujący się u góry strony link "Importuj z XML". Następnie należy wskazać plik migrate-help-pages.xml znajdujący się w katalogu 5.0/WEB-INF/defaults, zaznaczyć opcję ?zastąp istniejące strony nowymi" i kliknąć ?Zatwierdź". Operacja ta spowoduje dodanie nowych, nie dostępnych wcześniej stron informacyjnych oraz uaktualnienie informacji o oprogramowaniu dLibra.

Migracja konfiguracji rozproszonej platformy uwierzytelniania

Operacja opcjonalna

Instrunkcje opisane w tym fragmencie instrukcji należy wykonać tylko w przypadku, gdy w wersji 4.0 systemu dLibra rozproszona platforma uwierzytalniania była uruchomiona. W przeciwnym przypadku należy pominąć ten rozdział.

Na potrzeby tej instrukcji przyjmujemy, że [dlibra-webapp-4.0] oznacza katalog główny aplikacji czytelnika w wersji 4.0, natomiast [dlibra-webapp-5.0] - wersji 5.0.

  1. z pliku [dlibra-webapp-4.0]/WEB-INF/templates.propeties przenieść do pliku [dlibra-webapp-5.0]/WEB-INF/templates.properties wartość library.id
  2. plik [dlibra-webapp-5.0]/WEB-INF/conf/guanxi.properties zastąpić plikiem [dlibra-webapp-4.0]/WEB-INF/conf/guanxi.properties
  3. pliki keystore.jks i truststore.jks skopiować z katalogu [dlibra-webapp-4.0]/WEB-INF do katalogu [dlibra-webapp-5.0]/WEB-INF
  4. pliki guanxi_idp.jks i guanxi_idp_cert.txt skopiować z katalogu [dlibra-webapp-4.0]/WEB-INF/guanxi_idp/keystore do [dlibra-webapp-5.0]/WEB-INF/guanxi_idp/keystore
  5. plik [dlibra-webapp-5.0]/WEB-INF/guanxi_idp/config/idp.xml zastąpić plikiem [dlibra-webapp-4.0]/WEB-INF/guanxi_idp/config/idp.xml

    Aktualizacja ścieżek do plików

    Jeżeli katalog aplikacji czytelnika zmienił lokalizację, zaktualizować w pliku [dlibra-webapp-5.0]/WEB-INF/guanxi_idp/config/idp.xml ścieżkę do pliku [dlibra-webapp-5.0]/WEB-INF/guanxi_idp/keystore/guanxi_idp.jks

  6. plik [dlibra-webapp-4.0]/WEB-INF/guanxi_sp_engine/keystore/samlengine.jks skopiować do katalogu [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_engine/keystore
  7. plik [dlibra-webapp-4.0]/WEB-INF/guanxi_sp_engine/truststore/samlengine.jks skopiować so katalogu [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_engine/truststore
  8. plik [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_engine/config/guanxi-sp-engine.xml zastąpić plikiem [dlibra-webapp-4.0]/WEB-INF/guanxi_sp_engine/config/guanxi-sp-engine.xml

    Aktualizacja ścieżek do plików

    Jeżeli katalog aplikacji czytelnika zmienił lokalizację, należy zaktualizować w pliku [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_engine/config/guanxi-sp-engine.xml ścieżki do plików
    [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_engine/keystore/samlengine.jks, [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_engine/truststore/samlengine.jks, [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_engine/config/wayf.xml, [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_engine/config/guard_template.zip i katalogów [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_engine/config/metadata/guards, [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_engine/config/metadata/idp

  9. zawartość katalogu [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_engine/config/metadata zastąpić zawartością katalogu [dlibra-webapp-4.0]/WEB-INF/guanxi_sp_engine/config/metadata

    Aktualizacja ścieżek do plików

    Jeżeli katalog aplikacji czytelnika zmienił lokalizację, należy zaktualizować w pliku [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_engine/config/metadata/guards/[library.id]/[library.id].xml wartość gxmeta:Keystore, odpowiadającą ścieżce do pliku jks; [library.id] oznacza nazwę katalogu identyczną z wartością library.id.

  10. plik [dlibra-webapp-4.0]/WEB-INF/guanxi_sp_guard/keystore/guard.jks skopiować do katalogu [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_guard/keystore
  11. plik [dlibra-webapp-4.0]/WEB-INF/guanxi_sp_guard/truststore/guard.jks skopiować do katalogu [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_guard/truststore
  12. plik [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_guard/config/guanxi-sp-guard.xml zastąpić plikiem [dlibra-webapp-4.0]/WEB-INF/guanxi_sp_guard/config/guanxi-sp-guard.xml

    Aktualizacja ścieżek do plików

    Jeżeli katalog aplikacji czytelnika zmienił lokalizację, należy zaktualizować w pliku [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_guard/config/guanxi-sp-guard.xml ścieżki do plików [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_guard/keystore/guard.jks oraz [dlibra-webapp-5.0]/WEB-INF/guanxi_sp_guard/truststore/guard.jks

  13. upewnić się, że w pliku [dlibra-webapp-5.0]/WEB-INF/periodic.xmlodkomentowane są znajdujące się na końcu definicje zadań okresowych:

    <periodic-task logicClass="pl.psnc.dlibra.web.guanxi.engine.periodic.IdpMetadataDownloaderTask"
           executeOnStart="no">
      <description></description>
      <expression>0 0/5 * * * ?</expression>
    </periodic-task>
    <periodic-task logicClass="pl.psnc.dlibra.web.guanxi.engine.periodic.MetadataLoaderTask"
           executeOnStart="no">
      <description></description>
      <expression>15 0/5 * * * ?</expression>
    </periodic-task>
    <periodic-task logicClass="pl.psnc.dlibra.web.guanxi.idp.periodic.IdPConfigurationReloadingTask"
           executeOnStart="no">
      <description></description>
      <expression>30 0/5 * * * ?</expression>
    </periodic-task>
    <periodic-task logicClass="pl.psnc.dlibra.web.guanxi.idp.periodic.SPListDownloadingTask"
           executeOnStart="no">
      <description></description>
      <expression>45 0/5 * * * ?</expression>
    </periodic-task>
    <periodic-task logicClass="pl.psnc.dlibra.web.guanxi.sec.TruststoreDownloadingTask"
           executeOnStart="no">
      <description></description>
      <expression>60 0/5 * * * ?</expression>
    </periodic-task>
    <periodic-task logicClass="pl.psnc.dlibra.web.guanxi.idp.register.IdentityConfigurator"
           executeOnStart="no">
      <description></description>
      <expression>0 0 0 29 2 ?</expression>
    </periodic-task>
    
  14. upewnić się, że w pliku [dlibra-webapp-5.0]/WEB-INF/conf/resources-managers.xml odkomentowana jest sekcja znajdującą się na końcu pliku o identyfikatorze: guanxi.

    <pl.psnc.dlibra.web.fw.resources.ResourceInfo>
      <id>guanxi</id>
      <depends>dlibra</depends>
      <data>guanxi.properties</data>
    </pl.psnc.dlibra.web.fw.resources.ResourceInfo>
    
  15. upewnić się, żw w pliku [dlibra-webapp-5.0]/WEB-INF/conf/user-providers.xmlodkomentowana jest sekcja:

      <pl.psnc.dlibra.web.guanxi.resources.GxUserInformationProvider>
        <loginPage>${homepage}gx?url=${homepage}&amp;action=RewritePodAction</loginPage>
        <logoutPage>${homepage}gxlogout?action=GuardLogoutAction</logoutPage>
        <loginPagePosition>3</loginPagePosition>
        <methodNameResourceKey>uip.gx.name</methodNameResourceKey>
      </pl.psnc.dlibra.web.guanxi.resources.GxUserInformationProvider>
    
  16. upewnić się, że w pliku [dlibra-webapp-5.0]/WEB-INF/web.xmlnależy odkomentowany jest na końcu pliku następujący fragment:

       &guanxi_idp;
       &protectedapp;
       &samlengine;
    
     <servlet>
       <servlet-name>tasksServlet</servlet-name>
       <servlet-class>
          pl.psnc.dlibra.web.guanxi.resources.StartupTasksServlet
       </servlet-class>
       <load-on-startup>11</load-on-startup>
     </servlet>
    
  17. (jeżeli migrujemy do wersji 5.0.0) w pliku [dlibra-webapp-5.0]/WEB-INF/web_guard.xmlfragment

    <url-pattern>/${servletName}/gx/*</url-pattern>
    

    zmienić na

    <url-pattern>/&mainServletName;/gx/*</url-pattern>
    

Na co warto zwrócić uwagę po migracji?

 

Indeksowanie i wyszukiwanie

 

  • Jeśli w bibliotece cyfrowej występuje problem wydajności podczas indeksowania / wyszukiwania publikacji można wykorzystać możliwość rozdzielenia indeksów wyszukiwawczych. Zmiana taka poprawia dostępność indeksów dla usług Index Server i Search Server a tym samym pozytywnie wpływa na szybkość wyszukiwania. Warto równocześnie skonfigurować według własnych potrzeb mechanizm synchronizacji indeksów. Więcej o konfiguracji tego mechanizmu można znaleźć w dokumentacji.

 

  • Wersja 5.0 dostarcza nowego mechanizmu konfiguracji informacji przedstawianych w wynikach wyszukiwania. Jeśli domyślne informacje nie są wystarczające dla czytelników warto skorzystać z tej możliwości i dostosować je do ich wymagań. Szczegóły tego mechanizmu znajdują się w dokumentacji.

 

Kolejność kolekcji

Istotną funkcją dodaną w wersji 5.0 jest kolejność kolekcji. W poprzednich wersjach kolekcje były zawsze wyświetlane w kolejności alfabetycznej według nazw w aktualnie wybranym języku. Teraz kolejność musi być ustalona wprost. Proces migracji nie ustawia kolejności kolekcji, dlatego powinien to zrobić administrator, aby kolekcje nie były wyświetlane w przypadkowy sposób. Operacja ta powinna być bardzo prosta dla średnio doświadczonego użytkownika Aplikacji Administratora, a w razie wątpliwości można skorzystać z pomocy.

Jeśli do tej pory kolejność wyświetlania kolekcji w bibliotece cyfrowej była wymuszana przy pomocy specjalnych przedrostków w ich nazwach (np. wszystkie nazwy zaczynają się od liczby porządkowej), po migracji przedrostki przestaną pełnić swoją funkcję, stąd zalecane jest ich usunięcie po ustawieniu docelowej kolejności kolekcji.

 

"Zdalna" konfiguracja aplikacji redaktora

Nowa wersja biblioteki pozwala łatwo zmienić domyślną konfigurację aplikacji redaktora. Do tej pory, każdy redaktor musiał samodzielnie wskazać plik konfiguracyjny, na dysku lokalnym komputera lub w Internecie. Teraz system można skonfigurować tak, aby odpowiednia konfiguracja była pobierana automatycznie przy każdym uruchomieniu aplikacji redaktora, co ułatwia zarządzanie, gdy w bibliotece pracuje wielu redaktorów. Szczegóły na temat konfiguracji znajdują się tutaj.

 

Widoki atrybutów

W związku z opracowaniem nowego schematu metadanych, do którego wdrożenia serdecznie zapraszamy, w aplikacji redaktora dodano mechanizm widoków atrybutów, który pozwala redaktorom na pracę z wybranymi atrybutami i ukrycie pozostałych. Mechanizm ten jest domyślnie dostosowany do proponowanego nowego schematu, dlatego w bibliotekach, które go nie będą stosowały, być może administratorzy będą chcieli lepiej dostosować widoki atrybutów do potrzeb redaktorów, ewentualnie usunąć niepotrzebne widoki. Opis, jak to zrobić, znajduje się tutaj. Wspomniana wyżej możliwość łatwej konfiguracji aplikacji u wszystkich redaktorów będzie w tym kontekście szczególnie przydatna.

 

Uruchamianie dLibry w 64-bitowym środowisku Windows

Od wersji 5.0 serwer dLibra można uruchomić w 64-bitowym środowisku Windows. Wiecej informacji można znaleźć w dokumentacji.

 

Konfiguracja miniatur – inna niż domyślna


Miniatury pojawiające się w Aplikacji Czytelnika, w wersji systemu dLibra 4.0, przekazywane były przez serwer w formie niezmienionej w stosunku do tych wprowadzonych przez redaktorów. W wersji 5.0 systemu miniatury zwracane są przez serwer w postaci przeskalowanej, tak aby przy jednocześnie optymalnej jakości miniatur, zwiększyć prędkość ich przesyłania. Istnieje możliwość konfigurowania pewnych atrybutów automatycznego przetwarzania miniatury przed udostępnieniem, tj. rozdzielczości, formatu pliku, sposobu kadrowania miniatury oraz jakości kompresji. Warto na to zwrócić uwagę, gdy po migracji do wersji 5.0 jakość miniatury prezentowanej na stronie z opisem publikacji będzie niezadowalająca.
Więcej na ten temat można znaleźć w dokumentacji.

 

Konfiguracja podpowiedzi z opisem publikacji


Na głównej stronie w sekcjach ?Ostatnio dodane" oraz ?Najczęściej czytane" po najechaniu myszką na wybrany tytuł publikacji pojawia się podpowiedź przedstawiająca dodatkowe metadane publikacji. Administratorzy mają możliwość skonfigurowania przedstawianych w ramce elementów opisu. Więcej na ten tematu w sekcji dokumentacji.

 

Integracja z serwisem społecznościowym Facebook


W najnowszej dLibrze zostały dodany komponent, który umożliwia rejestrowanie fanów danej instytucji czy biblioteki cyfrowej. Więcej na ten temat można znaleźć w dokumentacji.

 

Komponent - Polecane


Niejednokrotnie w zbiorach naszej biblioteki cyfrowej pojawiają się publikacje, których obecność chcielibyśmy wyróżnić naszym czytelnikom. Ciekawym w tym wypadku rozwiązaniem może być komponent "Polecane", który w losowy sposób, z domyślnej lub wskazanej przez administratora kolekcji, wybiera publikacje i prezentuje je w formie pokazu slajdów.
Więcej na temat konfiguracji komponentu można się dowiedzieć z sekcji dokumentacji.

  • No labels