5.7 Metadateneditoren und -verwaltungen
Ist-Stand / bestehende Lösungen
In der edu-sharing Softwarelösung ist bereits ein sehr umfangreiches Metadaten-Editorkonzept umgesetzt.
Die Ein- und Ausgabemasken der Formulare können per Templating flexibel konfiguriert und kann Wertbereiche aus verschiedenen Metadatenstandards verarbeiten.
Diese Funktionalität ist aktuell im Backend sowie Frontend (Angular-Widgets) der edu-sharing Software integriert.
Für die zentrale Verwaltung von Wertbereichen hat sich SKOS bereits als ein gängiger Standard im deutschsprachigen Raum etabliert. SKOS bietet neben der Definition von Wertebereichen die Möglichkeit, Werte zu verschachteln, um mehrstufige Ebenen und Baumstrukturen zu realisieren. Außerdem ist es bereits in der Lage, Metadaten in mehreren Sprachvarianten vorzuhalten und auch Beziehungen verschiedener Art zwischen Attributen eines oder auch unterschiedlicher Wertbereiche abzubilden.
Die Definition erfolgt im RDF-Standard, ein Transformierungsprozess wandelt diese dann in statische HTML-Elemente und JSON-Dateien, welche Stateless ausgeliefert werden können.
Die bestehende edu-sharing Lösung kann mit den bereitgestellten Daten von SKOS bereits vollständig umgehen, auch Informationen über die Beziehungen werden bereits abgerufen.
POC Visualierung der SKOS-Beziehungen
Im Rahmen des "BIRD" Projekts wurde ein Prototyp entwickelt, welcher in Form eines Graphen die Beziehungen in einem Vokabular bzw. zwischen Vokabularen automatisch visualisiert. Dieser wird als Standalone Webanwendung ausgeliefert.
Ziel war es, die Beziehungen besser sichtbar zu machen und somit die Abstimmung zwischen Pädagogen und Technikern besser zu gestalten.
https://github.com/edu-sharing/skos-graph-visualization
Zielsetzung
Idealerweise sollten Zielsysteme unterschiedlichster Art auf Ein- und Ausgabefunktionen eines Metadateneditors zugreifen können.
Wir sehen den Vorteil zentral gehaltener und gemeinsam gepflegter Metadaten und Formulare insbesondere dann als sinnvoll, wenn so viele Systeme wie möglich darauf zugreifen und mit diesen Daten und Werten arbeiten.
Hierfür sollte ein solcher Editor per Web-Component flexibel in bestehendene System eingefügt werden können und sowohl benutzerdefinierte als auch empfohlene Standard-Eingabemasken- und Werte vorgeben.
Damit die Integration in möglichst viele Systeme letztlich erfolgt, muss die Integrationshürde für die Entwickler und so gering wie möglich sein.
Wir sehen hierfür Web-Components aktuell als geeignetes Mittel. Es gibt aber auch einige Systeme, für die eine solche Integration ggf. technische Herausforderungen bedeutet. Daher sollte eine Integration auch in Form eines IFrame möglich sein.
Diese hat zwar technische Nachteile, würde aber ermöglichen, eine möglichst schnelle Verbreitung und Adaption in vielen Systemen zu fördern.
Außerdem muss eine gute technische Dokumentation, idealerweise mit einer Beispielimplementierung, vorgesehen werden.
Vorgehensweise
Da mit SKOS bereits ein etablierter Standard für Wertebereiche existiert, sollte darauf aufgebaut werden und ggf. Ergänzungen vorgeschlagen werden. Dies fördert die Interoperabilität von verteilten Metadatensystemen.
Innerhalb der edu-sharing Software besteht bereits ein sehr umfangreiches Metadaten-Rendering und ein flexibler Editor.
Diese Teile der Anwendung sollten in eine eigenständige Komponente überführt und zentral als Stateless Dienst zur Verfügung stellen.
Betriebskonzept
Wir sehen hierbei zwei voneinander relativ unabhängige Dienste/Komponenten:
Der zentralen Verwaltung und Bereitstellung der Wertbereiche (SKOS)
Betriebsart | Stateless |
Datenhaltung / Persistierung | Keine / Fest hinterlegt |
Skalierungsart | Horizontal |
Skalierungseinschränkungen | frei skalierbar |
Leistungsanforderungen an Infrastruktur | Niedrig |
Deployment | Docker, Kubernetes |
Authentifikation | Keine, frei zugänglich |
Nutzer-Daten | Keine benötigt |
API | Statisches JSON(-LD) + HTML |
(Geplante) Basistechnologie | SKOS |
UI | Ja, statisch HTML |
Der Bereitstellung von Formularvorlagen, Editor- und Ausgabe-Oberflächen mit Templating
Betriebsart | Stateless |
Datenhaltung / Persistierung | Keine / Fest hinterlegt |
Skalierungsart | Horizontal |
Skalierungseinschränkungen | frei skalierbar |
Leistungsanforderungen an Infrastruktur | Niedrig |
Deployment | Docker, Kubernetes |
Authentifikation | Keine, frei zugänglich (ggf. Übergabe von Nutzerrollen via API vom anfragenden System) |
Nutzer-Daten | Keine benötigt |
API | REST / JSON Web-Components IFrame-Integration |
(Geplante) Basistechnologie | Node.JS, Angular |
UI | Ja, Auslieferung via CDN |