05. Zmiany w konfiguracji Aplikacji Czytelnika

Zmiany w konfiguracji Aplikacji Czytelnika

Konfiguracja aplikacji czytelnika

W niniejszym rozdziale znajdują się instrukcje związane z konfiguracją niektórych mechanizmów związanych z działaniem aplikacji czytelnika.

Opis konfiguracji rozproszonej platformy uwierzytelniania

Począwszy od dLibry 4.0 dostępna jest funkcjonalność rozproszonej platformy uwierzytelniania oraz sieciowy profil uzytkownika. Domyślnie mechanizmy te są wyłączone poniżej znajduję się szczegółowa instrukcja postępowania pozwalająca na uruchomienie tej funkcjonalności. Najważniejsze pojęcia związane z ideą rozproszonej platformy uwierzytelniania oraz sieciowym profilem użytkownika nie są przedmiotem tego podręcznika

Uruchomienie rozproszonego uwierzytelniania

Aby móc uaktywnić logowanie poprzez rozproszoną platformę uwierzytelniania należy upewnić się że plik templates.properties zawiera library.id, korzystanie z rozproszonej platformy będzie możliwe tylko wtedy gdy library.id z templates.properties zostanie dodane do serwisu WAYF. Jeżeli nie wiadomo czy identyfikator został wprowadzony do rejestru WAYF należy skontaktować się z pomocą techniczną aplikacji czytelnika.

  1. Należy wyłączyć serwer aplikacji w ramach którego uruchomiona jest aplikacja czytelnika.
  2. Wykonać kopie zapasową katalogów : dlibra-webapp/WEB-INF/guanxi-idp, dlibra-webapp/WEB-INF/guanxi-engine, dlibra-webapp/WEB-INF/guanxi-guard
  3. W pliku dlibra-webapp/WEB-INF/periodic.xml odkomentować znajdujące się na koncu 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>
Instrukcja dla wersji <4.0.9

4. W pliku dlibra-webapp/WEB-INF/conf/resources-managers.xml należy odkomentować sekcje znajdującą się na końcu pliku chodzi o deskryptory identyfikatorach: guanxi i sso.

<pl.psnc.dlibra.web.fw.resources.ResourceInfo>
  <id>guanxi</id>
  <depends>dlibra</depends>
  <data>guanxi.properties</data>
</pl.psnc.dlibra.web.fw.resources.ResourceInfo>    

<pl.psnc.dlibra.web.fw.resources.ResourceInfo>
  <id>sso</id>
  <depends>authentication</depends>
  <data>sso.properties</data>
</pl.psnc.dlibra.web.fw.resources.ResourceInfo>

5. W pliku dlibra-webapp/WEB-INF/web.xml należy odkomentować fragment na końcu pliku zawierające :

&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>
<init-param>
 <description>Name of the file with list of periodic tasks.</description>
 <param-name>periodic.list</param-name>
 <param-value>periodic-list.txt</param-value>
</init-param>
</servlet>
Instrukcja dla wersji >=4.0.9

4. W pliku dlibra-webapp/WEB-INF/conf/resources-managers.xml należy odkomentować sekcje znajdującą się na końcu pliku chodzi o deskryptor 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>    

4a. W pliku dlibra-webapp/WEB-INF/conf/user-providers.xml odkomentować sekcje:

  <!--
  <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>  
  -->

Wpisy w pliku user-providers.xml opisują dostępne dla użytkowników sposoby logowania. Znacznik <loginPagePosition> określa pozycje na której dany dostawca tożsamości znajduję się na stronie z wyborem sposobu logowania. Jeżeli jest zdefiniowany tylko jeden dostawca tożsamości dLibra automatycznie przekieruje użytkownika na stronę z formularzem logowania. Jeżeli nie chcą Państwo aby dany dostawca tożsamości był wyświetlany na liście z wyborem sposobu logowania należy dla danego dostawcy usunąć zawartość znacznika <loginPage>.

Rozważmy następujący przykład, w aplikacji czytelnika zdefiniowane są dwa sposoby logowania:

  • logowanie na konta lokalne - umożliwiające dostęp do panelu administracyjnego,
  • sieciowego profilu użytkownika - umożliwiające dostęp do sieciowego profilu użytkownika.

Chcemy aby zwykli użytkownicy używali tylko profilu sieciowego, aby tego dokonać należy usunąć zawartość znacznika loginPage w sekcji konfigurującej DlibraUserInformationProvider. W tym momencie jedynym dostawcą strony logowania będzie GxUserInformationProvider i użytkownicy zostaną automatycznie przekierowani na stronę usługi WAYF. Administrator chcący się zalogować do panelu administracyjnego będzie musiał wpisać adres strony logowania bezpośrednio do przeglądarki np. http://www.dlibra.psnc.pl/biblioteka/dlibra/login a następnie ze strony z opisem konta przejść do panelu administracyjnego.

Jeżeli chcą Państwo zmienić sposób w jaki dany dostawca tożsamości jest nazywany należy w nadpisać (w LoginSelectionComponent_xx.xml) wartość etykiety tekstowej, której nazwa znajduje się w methodNameResourceKey.

5. W pliku dlibra-webapp/WEB-INF/web.xml należy odkomentować fragment na końcu pliku zawierające

<!--
   &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>
 -->
Końcowe kroki

6. Uruchomić serwer aplikacji w ramach którego działa aplikacja czytelnika.

Po uruchomieniu aplikacji czytelnika po kliknięciu w odnośnik "Logowanie" powinno pojawić się okno dialogowe z wyborem sposobu logowania. Jeżeli próba logowania za pomocą systemu jednokrotnego logowania zakończy się powodzeniem oznacza, że mechanizm został poprawnie skonfigurowany i uruchomiony.

Podczas pierwszego uruchomienia usługi rozproszonego logowania inicjalizowane są pliki konfiguracyjne znajdujące się w katalogach guanxi-engine, guanxi-guard, guanxi-guard. W sytuacji gdy pierwsze uruchomienie zakończy się niepowodzeniem można przywrócić pierwotną zawartość katalagów i spróbować ponownie.

Konfiguracja usługi CAS

Instrukcja ta jest poprawna dla wersji >=4.0.9.

dLibra umożliwia wykorzystanie centralnego systemu logowania stworzonego za pomocą serwera CAS i usługi katalogowej LDAP. CAS jest dostępny jako kolejny dostawca tożsamości w pliku dlibra-webapp/WEB-INF/conf/user-providers.xml. Należy odkomentować fragment poniższy fragment:

 <pl.psnc.dlibra.web.comp.user.CasUserInformationProvider>
    <loginPage>http://dlibra.psnc.pl/cas/login?service=${prevpage}</loginPage>
    <logoutPage>${homepage}main?action=LogoutAction</logoutPage>
    <loginPagePosition>2</loginPagePosition>
    <methodNameResourceKey>uip.cas.name</methodNameResourceKey>
    <ldapConfiguration>WEB-INF/conf/ldap.properties</ldapConfiguration>
    <userAttributesDefaults>
      <property name="givenName" value="dLibra"/>
      <property name="cn" value=""/>
      <property name="mail" value=""/>
    </userAttributesDefaults>
    <emailAttributeName>mail</emailAttributeName>
  </pl.psnc.dlibra.web.comp.user.CasUserInformationProvider>

Następnie należy:

  • zmienić zawartość znacznika loginPage tak aby wskazywał na stronę logowania wykorzystywanego serwera CAS.
  • W znaczniku userAttributesDefaults wpisać nazwy atrybutów, które mają być wykorzystywane przy tworzeniu dynamicznych grup właściwości w aplikacji Zarządacy systemu dLibra. Wartość atrybutu value każdego znacznika property określa wartość domyślną dla danego atrybutu.
  • Jeżeli w wykorzystywanym rejestrze LDAP każdy użytkownik posiada adres email wyspecyfikowany jako wartość konkretnego atrybutu, nazwę tego atrybutu można wpisać w znacznik emailAttributeName. Wówczas dLibra będzie w stanie wykorzystać informacje o adresie email użytkowników.
  • Jeżeli chcą Państwo zmienić sposób w jaki dany dostawca tożsamości jest nazywany należy w nadpisać (w WEBAPP_xx.xml) wartość etykiety tekstowej, której nazwa znajduje się w methodNameResourceKey.

Następnie należy uzupełnić zawartość plik dlibra-webapp/WEB-INF/conf/ldap.properties - zawiera on parametry umożliwiające wykorzystanie usługi katalogowej LDAP.

Konfiguracja importu wiadomości

Aplikacja czytelnika pozwala na publikowanie na stronie głównej różnego rodzaju wiadomości. Wiadomości te można dodawać za pośrednictwem panelu administracyjnego aplikacji czytelnika bądź wykorzystując mechanizm importu wiadomości z kanału RSS. Poniżej omówiona został sposób w jaki import taki można przeprowadzić.

Aby zaimportować wiadomości z dostępnego w sieci kanału RSS należy w pliku periodic.xml odkomentować znacznik periodic-task zawierający konfigurację klasy
NewsImportTask.

<periodic-task logicClass="pl.psnc.dlibra.web.comp.periodic.NewsImportTask"
	 executeOnStart="yes">
 <description>Checks feed url given in configuration, and imports news from that feed.</description>
 ....
</periodic-task>

Konfiguracja tego zadania składa się z następujących parametrów:

  • feed.url - adres kanału RSS/Atom zawierającego importowane wiadomości.
  • add.post.link.to.blog - jeżeli wartość tego parametru zostanie ustawiona na true do każdej wiadomości zostanie dodany odnośnik do strony na której wiadomość była pierwotnie publikowana.
  • full - który element wpisu w kanale RSS ma zostać użyty jako pełny tekst wiadomości. W przypadku kanałów RSS przeważnie będzie to element description, jednak dla kanałów w formacie Atom oprócz istnieją dwa znaczniki zawierające treść wpisu: content i sumarry. Dopuszczalne wartości to : feed_description, feed_content.
  • short - który element kanału ma zostać zaimportowany jako skrót wiadomości. Dopuszczalne wartości to : feed_description, feed_content.
  • publish.in.all.languages - jeżeli parametr ten będzie miał wartość true wiadomość zostanie zaimportowana we wszystkich zainstalowanych w aplikacji czytelnika językach interfejsu.
  • blog.language - język w jakim napisane są importowane wiadomości.
  • start.date - zostaną zaimportowane tylko wpisy opublikowane po wpisanej tu dacie (data w formacie dd.MM.YYYY)

Zadanie to jest domyślnie wykonywane raz na dobe. Gdy tylko aplikacja czytelnika wykryje, że w kanale RSS pojawiła się nowa wiadomość zaimportuje przy najbliższym wykonaniu tego zadania.

Dodawanie exlibrisów

Procedura dołączania exlibrisu wygląda następująco:

  1. W katalogu dlibra-webapp-4.0/exlibris umieścić plik graficzny z ekslibrisem
  2. Następnie w pliku dlibra-webapp-4.0/WEB-INF/exlibris.xml odnaleźć wpis dotyczący komponentu:
    pl.psnc.dlibra.web.comp.pages.components.EditionMetadataComponent
  3. Powinien on zawierać przykładowy wpis :
    <!-- 
       note that changes here are not loaded 
       at runtime (you have to reload components.xml)
    -->
    <property>
     <name>rdf.name.for.exlibris</name>
     <value>Rights</value>
    </property>
    <!-- exlibris definitions -->
    <property>
     <name>exlibris:Biblioteka Uniwersytecka w Poznaniu</name>
     <value>bu-poznan.png</value>
    </property>
    <property>
     <name>link:Biblioteka Uniwersytecka w Poznaniu</name>
     <value>http://lib.amu.edu.pl/</value>
    </property>
    
  4. Mechanizm wyświetlania ekslibrisów działa w tym wypadku tak:
    1. jeżeli dana publikacja posiada wartość atrybutu, którego "Nazwa RDF" jest równa Rights,
    2. wartość ta jest równa "Biblioteka Uniwersytecka w Poznaniu" pod opisem tej publikacji zostanie wyświetlony obrazek, który znajduje się w pliku dlibra-webapp-4.0/exlibris/bu-poznan.png,
    3. obrazek ten będzie linkiem do strony http://lib.amu.edu.pl/

Ponieważ od wersji 4.0 plik exlibris.xml został wydzielony z components.xml, aby zmiany w exlibris.xml były widoczne należy przeładować plik components.xml. Najprostszym sposobem jest ponowny zapis pliku components.xml na dysk.

Wprowadź etykiety do dodania na tej stronie:
Please wait 
Szukasz etykiety? Zacznij wpisywać.