INGe structural changes

From MPDLMediaWiki
Revision as of 16:48, 5 July 2018 by Mwalter (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Die Seite soll eine grobe Übersicht über die strukturellen Änderungen zwischen PubMan auf eSciDoc-Basis und PubMan auf INGe-Basis geben.
Auf Unterschiede_eSciDoc-INGe gibt es eine detaillierte Auflistung der Unterschiede zwischen PubMan auf eSciDoc-Basis und PubMan auf INGe-Basis.
Da die Arbeiten an INGe noch nicht abgeschlossen sind, sind weder diese noch verlinkte Seiten endgültig finalisiert.

Ziele von INGe[edit]

INGe soll eine neue Basis für das MPG Publikationsrepositorium (MPG.PuRe) bilden, welches auf der Software PubMan läuft. Bisher lief die Software auf dem Framework eSciDoc, welches wiederum auf dem Framework Fedora aufgebaut war. Da eSciDoc nicht mehr weiterentwickelt wird und deshalb schwer zu warten ist, es auch immer deutlicher an Performanz verliert und sie auch immer Anfälliger für Angriffe von aussen wird, soll das System ersetzt werden. Ziel ist es eSciDoc (und damit auch Fedora) komplett mit einem speziell auf PubMan zugeschnittenen System namens INGe zu ersetzen. Dadurch soll das Gesamtsystem deutlich schlanker, leichter zu warten und performanter werden. Zudem sollen aufgrund moderner Technik Sicherheitsprobleme der Vergangeheit angehören.

Grobe Struktur[edit]

Folgend kurz die unternommenen Schritte: wir verwerfen eSciDoc und Fedora und ersetzen es mit INGe.
Structure PubMan eScidoc Fedora.PNG      Structure PubMan no eScidoc Fedora.PNG      Structure PubMan INGe.PNG

INGe wird jedoch ein Teil von PubMan und kein eigenständiges Framework, wie es eSciDoc ist. Damit wird auch die Logik aus eSciDoc in PubMan selbst abgebildet, ebenso wie der Datenzugriff.
Structure PubMan INGe sublayers.PNG

Paketstruktur[edit]

Wie oben bei den Zielen bereits erwähnt, ist ein wichtiger Punkt PubMan mit INGe deutlich leichter wartbar zu machen. Dazu gibt es einige Restrukturierungen in der Paketarchitektur. Dabei wird auf eine striktere Trennung, aber auch auf eine Reduzierung der Pakete hingearbeitet. Die folgenden Diagramme zeigen die Pubman Paketstruktur vor und nach der Restrukturierung:

VORHER
PubMan dependencies withouth ears.jpg

NACHHER
INGe dependencies without ears.png
Man sieht, dass die Anzahl der Pakete veringert und auch die Abhängigkeiten deutlich reduziert wurden, und das obwohl mit INGe eigentlich Teile hinzugekommen sind. Zusätzlich ist, wie bereits erwähnt, eSciDoc und Fedora nicht mehr nötig um PubMan zu betreiben.

Umgebung[edit]

PubMan mit INGe als Basis läuft unter einer aktuellen Version des Applikationsservers Wildfly (aktuell Version 13). Die Suche basiert auf Elasticsearch, eine Instanz der Suchengine muss deshalb bereitgestellt werden. Die Primärdaten werden in einer PostgreSQL-Datenbank abgelegt, welche ebenfalls bereitgestellt werden muss. Hochgeladene Files greifen auf das Filesystem zu. Es besteht jedoch auch die Möglichkeit andere Fileverwaltungen zu verwenden (Eine rudimentäre Implementierung für Seaweadfs) ist bereits implementiert.

Rollen und Rechte[edit]

Wir haben die Rollenanzahl deutlich reduziert. Künftig wird es nur noch folgende Rollen geben:

  • DEPOSITOR
  • MODERATOR
  • SYSADMIN
  • YEARBOOK_EDITOR
  • YEARBOOK_ADMIN
  • CONE_OPEN_VOCABULARY_EDITOR
  • CONE_CLOSED_VOCABULARY_EDITOR
  • REPORTER

Die Rechte wurden entsprechend der neuen Rollen angepasst. Und es gab kleine Änderungen, was die einzelnen Rollen dürfen. Dazu wird es zu einem späteren Zeitpunkt noch eine genauere Aufschlüsselung geben.

REST-Schnittstelle[edit]

Hier nur ein kurzer Verweis auf die neue integrierte REST-Schnittstelle, welche einen einfachen Datenzugriff ermöglicht. Als standardmäßiges Format wird hier JSON verwendet. Durch mehr Kontrolle über die REST-Schnittstellen auf PubMan-Seite ist es auch möglich weitreichendere Operationen zur Verfügung zu stellen. So ist es auch möglich Datensätze über REST anzulegen, zu modifizieren oder zu löschen. Weiterhin, wird dies nicht mehr nur für Publikationen sondern auch für Organisationen, Nutzer und Kontexte möglich sein.

Eine detaillierte Beschreibung ist unter INGe_REST_API_Documentation zu finden (momentan beschränkt auf Publikationen).

Oberfläche / GUI[edit]

Ziel der Umstrukturierung war es, die Oberfläche möglichst nicht zu verändern. Das ist natürlich bei so weitreichenden logischen Änderungen nicht komplett möglich. Ein Teilbereich, der etwas größere Veränderungen erfahren hat, ist die Suche. Die sonstigen Änderungen an der Oberfläche sind als klein bis sehr klein zu bezeichnen, und dürften keine zu große Umstellung darstellen.

OAI-PMH-Schnittstelle[edit]

Die OAI-Schnittstelle wird ein eigenes Modul werden, welches auf Basis von JOAI läuft. Dieses Modul ist, bis auf die Schnittstellen, von PubMan unabhängig, benötigt jedoch auch einen zusätzlichen Tomcat-Server.