VIVO-Handbuch/Anpassen von VIVO

Aus Handbuch.io

Autor: Gabriel Birke

Kontributor: Katja Schelper

Stand: 09.06.2015

Anpassen von VIVO

Dieses Kapitel erläutert, wie Sie das Aussehen und die Sprach-Dateien von VIVO anpassen.

Grundsätzlich nehmen Sie sämtliche Änderungen auf dem Server im Quellcode-Ordner (im folgenden VIVO-Ordner genannt) vor und rufen dann auf der Kommandozeile des Servers das Built-Tool Ant auf. Dieses Tool kopiert dann die Dateien in den richtigen Ordner für den Tomcat-Webserver.

Aussehen verändern

Das Aussehen von VIVO wird über sog. "themes" bestimmt. Ein Theme besteht aus

  • HTML-Templates, die das HTML-Grundgerüst der Seite bilden. Die Templates sind in der Template-Sprache Freemarker gehalten und haben die Endung .ftl Diese Dateien müssen nur geändert werden, wenn andere Inhalte auf den VIVO-Seiten zu sehen sein sollen. Die Templates im Theme-Ordner sind eher allgemein gehaltene Layout-Templates. Um das Aussehen spezifischer Seiten und Funktionen zu bearbeiten, müssen Sie ggf. Templates aus folgenden Ordnern in den neuen Theme-Ordner kopieren: Vitro/webapp/web/templates/freemarker, VIVO/productMods/templates/freemarker.

Beispiel: Die verschiedenen Kästen und Statistiken auf der Startseite sind im Template VIVO/productMods/templates/freemarker/lib/lib-home-page.ftl codiert. Kopieren Sie das Template in den templates-Ordner Ihres Themes, um die Kästen anzupassen und/oder neue hinzuzufügen.

  • Übersetzbare Text-Schnipsel (die Templates selbst enthalten nur die Platzhalter für die Text-Schnipsel). Dateiname: all.properties
  • CSS-Dateien zum Styling des HTML
  • Bilder, z.B. für das Logo im Kopfbereich.

Die Themes liegen in eigenen Ordnern im themes-Ordner. Um ein neues Theme zu erstellen, wechseln Sie in den themes-Ordner, kopieren ein bestehendes Theme in einen neuen Ordner und ändern die relevanten Dateien.

Um das neue Theme zu installieren, setzen Sie im VIVO-Ordner folgenden Befehl ab

   ant deploy -Dskiptests=true

und starten danach den Webserver (Tomcat) neu. Melden Sie sich im VIVO mit Administrator-Rechten an und wählen Sie die Links "Site Admin -> Site information". Auf der nun angezeigten Einstellungsseite können Sie das neue Theme auswählen.

Wenn Sie für ein installiertes Theme nur die CSS- und Bilddateien aktualisieren möchten, reicht es aus, den ant Befehl erneut auszuführen, der Webserver muss nicht neu gestartet werden.

Achtung: Da jedes Theme einzeln übersetzt wird, müssen Sie beim Erstellen von Übersetzungen dafür sorgen, dass die Sprach-Dateien (z.B. de_DE_all.properties) und Bilder (z.B. Flaggen) für jedes Theme im i18n-Ordner vorhanden sind. Wenn Sie in Ihrem Theme die Sprach-Datei nicht verändert haben, können Sie den i18n-Ordner des Ursprungs-Ordners einfach duplizieren.

Institutionelle Personen/Organisationen von Co-Autoren und externen Organisationen trennen

Die Listen im VIVO zeigen standardmäßig alle Individuen (Personen/Organisationen/Publikationen) an. Wenn Sie - beispielsweise für ein institutionelles VIVO - zwischen internen und externen Daten unterscheiden möchten, gehen Sie wie folgt vor:

  1. Legen Sie im Bereich "Site Admin -> Ontology list" mit dem Button "Add new Ontology" eine neue Ontologie an. Dabei ist es, wichtig, dass die URL der Ontologie im selben Namensraum wie die Individuen ist! Beispiel: Die Individuen sind im Namensraum http://vivo.mydomain.edu/individual/, die URL der Ontologie muss analog dazu http://vivo.mydomain.edu/ontology/NameDerOntologie sein. Den genauen Namen können Sie auch erfahren, indem Sie vor dem Anlegen der Ontologie den Bereich "Site Admin -> Institutional internal class" auswählen. Wenn noch keine interne Ontologie angelegt ist, wird dann dort die benötigte URL angezeigt.
  2. Nutzen Sie den Button "Hierarchy of Classes Defined in this Ontology" um die (noch leere) Auflistung der Klassen der Ontologie zu sehen.
  3. Wählen Sie den Button "Add New Class" und legen Sie eine neue Klasse an. Diese Klasse wird später zum Kennzeichnen der internen Daten genutzt. Benennen Sie die Klasse entsprechend, z.B. "Internal".
  4. Gehen Sie in den Bereich "Site Admin -> Institutional internal class". Wählen Sie aus der Auswahlliste die im vorigen Schritt angelegte Klasse aus.
  5. Weisen Sie die neue Klasse allen internen Daten zu: Gehen Sie dazu zum jeweiligen Datensatz, wählen Sie "Edit Individual" und auf der folgenden Seite "Add Type".
  6. Gehen Sie in den Bereich "Site Admin -> Page Management". Wählen Sie das "Bearbeiten"-Icon neben der Klasse aus, bei der Sie nur die institutionellen Daten anzeigen lassen möchten.
  7. Wählen Sie das Plus-Zeichen neben der Überschrift "Browse Class Groups" aus - die Liste der angezeigten Klassen wird angezeigt. Kreuzen Sie das Feld "Only display ... within my institution" an und speichern Sie mit den Button "Save this content".

Sprache anpassen und übersetzen

Dieser Absatz gibt nur eine Kurzanleitung. Eine detailliertere (englische) Dokumentation zu den Lokalisierungs-Features von VIVO finden Sie im Duraspace-Artikel "VIVO support for languages other than English".

Neue Übersetzung hinzufügen

Um eine neue Übersetzung für eine Sprache hinzuzufügen, müssen Sie vor der Erst-Installation folgende Veränderungen vornehmen:

  1. Erstellen Sie einen neuen Ordner in languages. Benennen Sie ihn nach dem gewünschten Locale, z.B. de_DE oder de_AT. Kopieren Sie die übersetzten Dateien hinein (Ordnerstruktur beachten).
  2. Ändern Sie in der Datei build.properties die Einstellung languages.addToBuild und fügen Sie das neue Sprachkürzel hinzu. Achten Sie dabei auf Groß- und Kleinschreibung! Wenn Sie mehr als ein Sprachkürzel haben, trennen Sie die Sprachkürzel mit einem Komma.
  3. Ändern Sie im Daten-Verzeichnis von VIVO die Datei runtime.properties die Einstellung languages.selectableLocales und fügen Sie das neue Sprachkürzel hinzu. Achten Sie dabei auf Groß- und Kleinschreibung! Wenn Sie mehr als ein Sprachkürzel haben, trennen Sie die Sprachkürzel mit einem Komma.

Aufbau von Übersetzungen

Eine Übersetzung besteht aus verschiedenen Dateien, die in drei Ordnern abgelegt sind:

  • rdf enthält einzelne RDF-Dateien mit Labels für verschiedene in VIVO verwendete RDF-Klassen und -Properties. Die Übersetzungen sind RDF-Zeichenketten mit einem Sprach-Attribut, das der Locale entspricht. Achten Sie darauf, dass Sprache und Region - anders als beim Ordner-Namen - mit Bindestrich und nicht mit Unterstrich getrennt sind.
  • templates enthält Freemarker-Templates mit längeren Texten, die verschiedene Funktionen von VIVO erklären.
  • themes enthält für jedes Theme einen Ordner mit den Grafiken für die Landes-Flaggen der Locale und einer Datei im Java-Properties-Format, die Übersetzungen für Beschriftungen in der Benutzeroberfläche enthält.

Manuelle Übersetzung der Begrifflichkeiten

Um VIVO in der eigenen Landessprache benutzen zu können, muss das zugehörige Vokabular übersetzt und in die Software eingepflegt werden.

  1. Zunächst wird das zu VIVO zugehörige Vokabular in einem Dokument tabellarisch aufgelistet. In der ersten Spalte steht der englische Originalbegriff, in der zweiten Spalte wird die Übersetzung eingetragen. Als Programm bietet sich Google Docs an, da dort die Möglichkeit besteht, mit mehreren Personen an einem Dokument zu arbeiten sowie die vorgeschlagenen Übersetzungen zu kommentieren und zu diskutieren, bis sich auf einen Begriff geeinigt wird. Dieses Wort wird am besten in einer eigenen Farbe markiert, um die festgelegten Begriffe von den noch nicht beschlossenen Übersetzungen zu unterscheiden.
  2. Nun wird das fertige Google-Dokument mit der internen VIVO-Sprachdatei verglichen. Dafür wird die VIVO-Sprachdatei als Kopie in Github gespeichert, um sie dort zu bearbeiten. Der in der VIVO-Sprachdatei vorhandene, englische Begriff wird dann im GoogleDocs-Dokument gesucht. Beim Aufrufen des englischen Begriffes im Google-Dokument kopiert man die zugehörige Übersetzung des Wortes und überträgt sie in die Sprachdatei, sodass der englische Begriff überschrieben wird. Dies wird mit jedem einzelnen Begriff gemacht, bis alle Wörter übersetzt worden sind. Zwischendurch sollte die Datei gespeichert werden.
  3. Das in Github vorhandene Dokument wird zuletzt in VIVO eingespielt, je nach Wunsch als Paralleldatei, sodass auf die eigene oder englische Sprache gewechselt werden kann, oder als Ersatz zur englischen Version.

Weitere Informationen zur Übersetzung gibt es auf Duraspace, wobei dort beispielhaft mit Google Übersetzer übersetzt wird: https://wiki.duraspace.org/display/VIVO/Updating+language+files+for+the+next+release

Es wird dort auch genauer darauf eingegangen, welche Dateien in VIVO bearbeitet werden und wo diese zu finden sind:

https://wiki.duraspace.org/display/VDOC16/VIVO+in+a+language+other+than+English

Übersetzungen aktualisieren

Wenn Sie aktiv an einer Übersetzung arbeiten, brauchen Sie die VIVO-Installation nicht jedes Mal neu installieren. Sie können auch die vorhandenen Dateien aktualisieren mit dem Befehl

   ant all -Dskiptests=true

Danach müssen Sie den Anwendungsserver (in den meisten Fällen Apache Tomcat) neu starten und 3-6 Minuten warten bis die Anwendung sich neu initialisiert hat.

Dieser Befehl setzt die Änderungen an der properties-Datei sofort um. Um die Änderungen an Übersetzungen, die im RDF vorgenommen wurden, sichtbar zu machen, müssen Sie vor dem Ausführen des ant Befehls noch folgende Schritte als Administrator in der VIVO-Oberfläche vornehmen:

  1. Gehen Sie zu "Site Administration -> Ingest Tools -> Mana Jena Models".
  2. Wählen Sie bei Bedarf im Kopf der Seite "Main Store Models" (ist standardmäßig ausgewählt).
  3. Suchen Sie das Modell "http://vitro.mannlib.cornell.edu/default/vitro-kb-applicationMetadata" und wählen Sie "clear statements".
  4. Wählen Sie im Kopf der Seite "Configuration Models" (ist standardmäßig ausgewählt).
  5. Suchen Sie das Modell "http://vitro.mannlib.cornell.edu/default/vitro-kb-displayMetadata" und wählen Sie "clear statements".
  6. Starten Sie den Webserver (Tomcat) neu. Der Neustart dauert ca. 10 Minuten.

Anpassungen separat vom VIVO-Quellcode halten

Die oben beschriebenen Änderungen können Sie direkt in den Ordnern themes und languages von VIVO vornehmen. Um Ihre Änderungen klarer vom Original-Quellcode zu trennen, können Sie eine "Drei Schichten Installation" vornehmen, bei der VIVO und Vitro (die Grund-Anwendung, auf der VIVO aufbaut), in Unterordnern unterhalb Ihrer eigenen Ordner-Struktur liegen. Eine genaue (englische) Anleitung dazu finden Sie im Duraspace-Artikel "Building VIVO in 3 tiers".