2018.06 2019.06

MIR

Installation

Voraussetzungen

Neben den allgemein für MyCoRe-Anwendungen geltenden Systemanforderungen benötigen Sie für den Betrieb einer MIR-Anwendung noch die folgende Software:

  • bibutils

Download

Informationen zum aktuellen Release und ein Changelog befinden sich im Download-Bereich. Bei Sonatype kann die aktuelle MIR-Version (speichern als mir.war) heruntergeladen werden. Dieses kann mit dem Context 'mir' direkt in einen Servlet Container ausgeliefert (deployed) werden.

Für administrative Zwecke kann zusätzlich eine MIR-CLI in zwei verschiedenen Formaten heruntergeladen werden:

  1. ZIP archive (speichern als mir-cli.zip)
  2. tar.gz archive (speichern als mir-cli.tar.gz)

Solr-Installation

Für die Nutzung von MIR muss ein eigener Solr-Server aufgesetzt werden, sind weitere Informationen dazu in unserer Solr-Dokumentation zu finden. Für die MIR-Aunwendung sind darin zwei Kerne anzulegen. Nach der Grundinstallation von SOLR sind dann folgende Schritte notwendig, die Cores für die Metadaten und die Klassifikationen anzulegen.

1
2
3
4
5
6
7
8
 cd solr-7.7.1/server/solr/configset
 git clone https://github.com/MyCoRe-Org/mycore_solr_configset_classification.git
 git clone https://github.com/MyCoRe-Org/mycore_solr_configset_main.git
 
 cd solr-7.7.1/bin
 ./solr/create -d mycore_solr_configset_classification -c mir-class
 ./solr create -d mycore_solr_configset_main -c mir-main
        

Weitere Möglichkeiten der Konfiguration und mehr Informationen zur Solr-Installation finden sich in der Solr-Dokumentation.

Datenbank

MIR bringt H2 und HSQLDB als im-Speicher-laufende relationale Datenbanksysteme mit. Bei der Installation können diese beiden (neben verschiedenen anderen) gewählt werden. Dann ist nichts weiter zu tun. Soll eine andere Datenbank genutzt werden, so muss diese entsprechend im Wizard konfiguriert werden und ggf. weitere Anpassungen in der durch den Wizard angelegten hibernate.cfg.xml vorgenommen werden. Das zur Datenbank passende Treiber-Paket wird im lib-Verzeichnis abgelegt und muss ggf. ersetzt werden, sollte der Wizard kein passendes Paket finden können. Weitere Information zur Konfiguration sind auf in der Dokumentation zu Datenbank & Hibernate zusammengetragen.

bibutils

bibutils ist ein kleines Kommandozeilenwerkzeug, das zwischen verschiedenen gängigen Bibliotheksformaten konvertiert. Um die Exportschnittstelle bei MIR vollständig zu unterstützen, muss aus der Webanwendung heraus dieses Kommandozeilenwerkzeug ausgeführt werden können. Der Nutzer mit dem der ServletContainer läuft muss also beispielsweise den Befehl bib2xml ausführen können (konvertiert BibTeX nach MODS-XML).

Dokumentation, Download und Installationsanleitung zu den bibutils sind auf der Sourceforge-Projekt-Seite zu finden. Für Windows kann eine veraltete Version (3.4, aktuell ist 6.7 - Stand 2018-08-31) auf der ehemaligen bibutils-Homepage heruntergeladen werden.

Manuelle Installation

Wer nicht den unten beschriebenen MIR-Wizard für eine GUI-unterstützte Installation nutzen möchte, findet direkt in der README des MIR-Projektes auf Github eine aktuelle Installationsanleitung.

MIR-Wizard

Nachdem das mir.war durch den ServletContainer bereitgestellt (deployed) wurde, erreicht man über die entsprechende Anwendungs-URL den MIR-Wizard, mit dem die Installation abgeschlossen wird.

Wird Tomcat mit den Standard-Einstellungen genutzt, wäre das beispielsweise die URL http://localhost:8080/mir/.

Nach Aufruf dieser URL wird der MIR-Wizard gestartet, der wie Abb. 1 zeigt, ein Sicherheits-Token abfragt, das sich im Log des Servletcontainers (z.B. Tomcat-Log, siehe Abb. 2) befindet. Sucht man im Log nach "Login token", findet man die entsprechende Stelle recht schnell. Das Token - eine UUID - muss dann vollständig kopiert und eingefügt werden. Danach kann die Installation beginnen.

Tokenabfrage im MIR-Wizard

Abbildung 1: MIR-Wizard - Sicherheitsabfrage nach einem Token

Token-Logausgabe auf der Shell

Abbildung 2: MIR-Wizard - Token-Logausgabe auf der Shell

Auf der folgenden Konfigurationsseite des Wizards (Abb. 3) muss nun bekannt gegeben werden, wo die Solr-Kerne für die MIR-Anwendung zu finden sind. Läuft Solr im gleichen ServletContainer wie die MIR-Anwendung und wird die Default-Einstellung verwendet, muss hier nur ggf. der Port angepasst werden (z.B. auf 8080 bei Standard-Tomcat-Installtionen). Die SMTP-Konfiguration ist optional, wird diese leer gelassen, kann die Anwendung keine Mails versenden. Mit funktionierender SMTP-Konfiguration versendet die Anwendung Mails bei der Selbstregistrierung um die Mail-Adresse zu validieren und auch im Rahmen des Publikationsworkflows. Diese Konfiguration kann auch nachträglich erfolgen. Als Datenbank kann zu Testzwecken ersteinmal H2 oder HSQLDB ausgewählt werden. Für den produktiven Betrieb empfehlen wir jedoch keine imRAM-Datenbank zu nutzen.

Konfigurationsseite des MIR-Wizards

Abbildung 3: MIR-Wizard - Konfiguration der MIR-Anwendung

Anschliessend auf "Speichern" drücken. Nun werden Konfigurationsdateien erzeugt, Datenbanktreiber heruntergeladen, ein Solr-Home mit einem Solr-Kern für die MIR-Anwendung angelegt und Klassifikationen, Nutzer und Rechtedaten geladen. Es erscheint ein Listing der Konfiguration. Sind alle Schritte auf der nachfolgenden Seite erfolgreich abgeschlossen worden, muss als nächstes der ServletContainer einmal neu gestartet werden. Dazu kann man direkt den Knopf "Server Herunterfahren" am Ende der Seite verwenden. Wer nicht den gesamten ServletContainer neustarten möchte, kann auch nur die MIR-Anwendung neustarten. Erst mit diesem Neustart werden die neuen Konfigurationen gefunden und eingelesen. Dann steht unter http://localhost:8080/mir/ die Anwendung zur Verfügung und man kann sich mit dem Standardnutzer: "administrator" und dem Standardpasswort: "alleswirdgut" anmelden.

Im Rahmen der MIR-Installation wurde ein Konfigurationsverzeichnis angelegt. Dieses befindet sich typischer Weise unter:

  • Windows: c:\Users\<userName>\AppData\Local\MyCoRe\mir
  • Unix: ~/.mycore/mir

... wobei mir beispielhaft für den Context-Namen der Webanwendung steht. Diese Anleitung bezieht sich auf Tomcat als ServletContainer mit mir und solr als Anwendungen direkt unter localhost:8080. Sollte die eigene Umgebung davon abweichen, muss die Konfiguration entsprechend angepasst werden.

MIR-Wizard Automatisierung

Alternativ zu der oben beschriebenen Vorgehensweise, bei der MIR interaktiv über die Weboberfläche konfiguriert wird, kann der MIR-Wizard auch automatisiert ausgeführt werden. Dies ermöglicht eine script-gesteuerte Inbetriebnahme von MIR. Hierzu muss eine XML-Datei mit dem Namen wizard.xml im eben genannten Konfigurationsverzeichnis angelegt werden. Diese Datei stellt Werte für die ansonsten manuell ausgefüllten Formularfelder bereit. Ihr Inhalt muss folgendermaßen aufgebaut sein:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?xml version="1.0" encoding="UTF-8"?>
<wizard>
   <mcr-properties>
      <property name="MCR.Solr.ServerURL">http://localhost:8983</property>
      <property name="MCR.Solr.Core.main.Name">repo-main</property>
      <property name="MCR.Solr.Core.classification.Name">repo-classification</property>
      <property name="MCR.Mail.Server">smtp.mySmtpServer.de</property>
      <property name="MCR.Mail.NumTries">1</property>
      <property name="MCR.Mail.User">username</property>
      <property name="MCR.Mail.Password">password</property>
   </mcr-properties>
   <database>
      <driver>org.postgresql.Driver</driver>
      <url>jdbc:postgresql://postgres:5432/mir</url>
      <username>username</username>
      <password>password</password>
      <library>
        <url>https://jdbc.postgresql.org/download/postgresql-42.2.9.jar</url>
        <url>https://repo.maven.apache.org/maven2/org/postgresql/postgresql/42.2.9/postgresql-42.2.9.jar</url>
      </library>
      <extra_properties>
        <property name="schema">schema</property>
        <property name="catalog">catalog</property>
      </extra_properties>
   </database>
</wizard>

Im Bereich mcr-properties können dabei beliebig viele Konfigurationswerte angegeben werden. Das Beispiel zeigt Einträge für alle vom normalen MIR-Wizard verwendeten Eingaben. Von dieser Auswahl kann je nach Bedarf abgewichen werden.

Im Bereich database wird der Zugriff auf eine Datenbank konfiguriert. Im Bereich library muss hierzu mindestens eine URL konfiguriert werden, von der der zugehörige JDBC-Datenbanktreiber bezogen werden kann. Dies kann auch eine lokale Datei sein, z.B. <url>file:///home/user/.mycore/postgresql-42.2.9.jar</url> unter Unix. Die vom MIR-Wizard verwendete Liste von angebotenen Datenbanken kann beim Erstellen der wizard.xml-Datei hilfreich sein.

Konfiguration

Aufbau des Konfigurationsverzeichnisses

MIR-Konfigurationsverzeichnis

Abbildung 4: MIR-Konfigurationsverzeichnis

Properties

mycore.properties
enthält alle eigenen Properties, z.B. die URL zum verwendeten Solr-Core
mycore.active (nicht bearbeiten!)
listet alle verfügbaren (aktiven) Properties inkl. Kommentaren dazu und kann somit als Vorlage zur Übernahme in die eigenen Properties dienen
mycore.resolved (nicht bearbeiten!)
die aufgelösten Properties, wie sie in der laufenden Anwendung genutzt werden

Anpassungen

Alle Anpassungen am Layout, Webseiten-Inhalten, Erfassungsmasken etc. werden im Verzeichnis %MCR.datadir%/save/webpages hinterlegt. Beim Starten des Servlet-Containers wird der Inhalt dieses Verzeichnisses über das ausgepackte webapp-Verzeichnis im Servlet-Container kopiert und somit die default-Inhalte des mir.war überschrieben. Die nachstehende Abbildung gibt einen Überblick über typische Anpassungen bei einer eigenen MIR-Anwendung.

MIR-Webseitenverzeichnis

Abbildung 5: MIR-Webseitenverzeichnis

Als Vorlage können dafür die Dateien in den MIR-Komponenten verwendet werden. Dateien, die an der gleichen Stelle liegen (unterhalb von webpages == unterhalb von resources in den MIR-Komponenten) und den gleichen Namen haben wie in einer MIR-Komponente werden dann durch die eigene Angabe überschrieben. Alle Inhaltsseiten, Erfassungsmasken und Stylesheets zur MIR-Anwendung liegen in mir-module/src/main/resources/. Für Layoutanpassungen kann eine eigene css-Datei hinterlegt werden, die im Verzeichnis css wie in der obigen Abbildung dargestellt abzulegen ist. Sollte das Basis-HTML angepasst werden sollen, so stehen hierfür die beiden XSL-Dateien mir-flatmir-layout.xsl und mir-flatmir-layout-utils.xsl in mir-flatmir-layout/src/main/resources/xsl/ zur Verfügung.

Sollten diese Möglichkeiten zur Layoutanpassung nicht genügen, so empfehlen wir (auch in Hinblick auf Migrierbarkeit), ein eigenes Layoutmodul analog zum mir-flatmir-layout anzulegen. Diese jar-Datei kann dann im mir/libs-Verzeichnis bereitgestellt und über das Property MCR.LayoutTransformerFactory.Default.Stylesheets eingebunden werden.

1
2
        MCR.LayoutTransformerFactory.Default.Stylesheets=xsl/mir-myapp-layout.xsl
      

Aktivierung der Selbst-Registrierung

Um als Alternative zur Anmeldung auch eine Selbstregistrierung anzubieten, kann dies in der realms.xml im Verzeichnis data konfiguriert werden. Dazu muss der nachstehende Code ergänzt werden (siehe dazu auch die hier verfügbare vollständige realms.xml).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
  <realm id="registerUser" setable="false">
    <label xml:lang="de">Registrierung</label>
    <label xml:lang="en">Register</label>
    <login url="../authorization/new-author.xed" redirectParameter="url">
      <label xml:lang="de">Neue Benutzerkennung anlegen</label>
      <label xml:lang="en">Create new User ID</label>
      <info>
        <label xml:lang="de">
          Neuen Benutzer für die Anwendung registrieren.
        </label>
        <label xml:lang="en">
          Register new user for application.
        </label>
      </info>
    </login>
  </realm>

MIR bringt bereits entsprechende Formulare und Logik mit. Um Spam zu vermeiden nutzen diese das Google-Captcha, für das entsprechend ein Schlüsselpaar registriert und in der MyCoRe-Konfiguration eingetragen werden muss. Details zur Registrierung finden Sie auf den entsprechenden Google-Seiten. Wenn Sie das Schlüsselpaar registriert haben, tragen Sie dieses in die mycore.properties wie folgt ein:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
          ##############################################################################
          #                                                                            #
          # Google - ReCaptcha (https://www.google.com/recaptcha)                      #
          # registered for: www.mycore.de                                              #
          #                                                                            #
          ##############################################################################

            MIR.ReCaptcha.secret.key=1234hierkommtdannderprivateschluesselhin4321
            MIR.ReCaptcha.site.key=5678undhierderoeffentlicheschluessel8765
        

Diese Konfiguration ist so auch auf mycore.org/mir/ aktiv und kann dort getestet werden.

Aktualisierung

Für die Aktualisierung werden im Normalfall nur das mir.war und ggf. die solr-Konfigurationsdateien solrconfig.xml und schema.xml ausgetauscht und danach die Webanwendung inkl. Solr neu gestartet. Sollten Konfigurationen angepasst oder Daten migriert werden müssen, werden entsprechende Informationen an dieser Stelle bereitgestellt.