Funktionalität im Überblick

Hinweis: Die MyCoRe-Version 2.1 ist in Vorbereitung. Falls Sie Fehler in der aktuellen Version 2.0 Fixes finden, melden Sie diese bitte auf der MyCoRe-User-Mailingliste (siehe Kontakt) oder auf der Sourceforge-Projektseite http://mycore.sf.net/

MyCoRe Datenmodellierung

Metadatenmodell für Objekte

Das Metadatenmodell soll eine flexible Modellierung von Metadaten bei möglichst geringem Arbeitsaufwand für die Einzelanwendung gestatten. Um dies zu realisieren wurden die Ansätze implementiert:

  • Die interne Speicherung und Darstellung der Metadaten erfolgt im XML-Format
  • Die eigentlichen Metadaten werden in ein Framework zur Objektverwaltung integriert.
  • Es erfolgt eine Gestaltung eines XML-Schemas von Typen für die allgemein gültigen und oft gebrauchten Metadaten.

Ein MyCoRe-Metadaten-Objekt besteht aus den drei Teilen

structure
Hier werden Informationen zur Einordnung des Datensatzes in eine logische Struktur festgehalten. Dies umfasst Verweise zu Eltern- und Kind-Metadaten-Sätzen. Weiterhin werden in dem Abschnitt Referenzen zu den eigentlichen digitalen Objekte gespeichert.
metadata
In diesem Bereich werden die Metadaten gemäß des Datenmodells abgelegt. Jeder MyCoRe-Metadaten-Typ kann hier als eine Liste von Elementen angegeben werden. Jeder Metadaten-Typ hat mindestens folgende Eigenschaften:
  • Er hat einen Schalter, ob er vererbt werden darf.
  • Er hat einen Schalter, ob er selbst erben darf.
  • Bei einigen Elementen kann die zugehörige Sprache angegeben werden.
  • Jedes Element kann einen Attribut 'type' haben.
service
Der letzte Abschnitt enthält Informationen zur Verwaltung des Metadaten-Satzes wie Erstellungsdatum, Zugriffsrechte (ACL's) oder Verwaltungs-Flags.

Sollten die im MyCoRe-Kern angebotenen Datentypen zur Gestaltung eines Projektes nicht ausreichen, so besteht die Möglichkeit, innerhalb der Anwendung eigene Typen zu kreieren und diese mit einzubinden. Somit ist MyCoRe auch für Nutzungsbereiche offen, von denen die Autoren bisher nicht ausgegangen sind. Der Datenmodellierung sind in MyCoRe kaum Grenzen gesetzt. Auch externe Speicher für die Speicherung von Daten in anderen Suchmechanismen (z. B. Polygonsuche geographischer Daten) lassen sich problemlos integrieren.

Vererbung

In einigen Projekten ist es erforderlich, die Strukturierung der zu speichernden Objekte mit abzulegen. Eine hierarchische Anordnung der Teilobjekte, z. B. der Kapitel eines Buches, soll zu einem effizienteren Zugriff auf die gewünschten Objekte führen. Dabei sollen aber alle Metadaten-Informationen möglichst nicht redundant erfasst werden.

In MyCoRe wurde ein Vererbungsmodell integriert, welches eine Verzahnung von Metadaten gleichen Datentyps zulässt. Dabei können jedem Metadaten-Element Informationen mitgegeben werden, ob es von Elementen eines Kind-Objektes geerbt werden kann oder diese von den Eltern erben soll. Auf diese Weise lassen sich auch komplexere Strukturen relativ leicht abbilden. Die Informationen über den Strukturzusammenhang einzelner Metadaten-Objekte werden im Frame-Bereich structure gespeichert und verwaltet. Abbildung 1.3 stellt das Vererbungsmodell nochmal grafisch dar.

Vererbungsmodell

Abbildung 1.3: Vererbungsmodell von MyCoRe

Hierarchisches Klassifikationssystem

Um eine bessere Wiederauffindbarkeit von Informationen, besonders in großen Datenbeständen, zu erreichen, wurden in allen Bereichen der Informationsverarbeitung Klassifikationen eingeführt. Dabei kann es sich um sehr allgemeine, wie die einer Herkunft oder eines Dateiformat-Typs, oder aber fach- bzw. anwendungsspezifische Klassifikationen z. B. eng begrenzte Wissenschafts- oder Sachgebiete, handeln. In beiden Fällen sollte es jedoch möglich sein, hier auch eine Strukturierung der einzelnen Begriffe abbilden zu können.

MyCoRe implementiert ein Datenmodell mit folgenden Eigenschaften:

  • Abbildung von hierarchischen Strukturen einer Klassifikation.
  • Eindeutige Identifizierung einer Kategorie.
  • Speicherung der Kategorie-Bezeichner in mehreren Sprachen.
  • Speicherung von Text-Beschreibungen zu den einzelnen Kategorien.
  • Speicherung einer URL zu jeder einzelnen Kategorie.
  • Jede Klassifikation kann mittels Online-Editor oder offline als XML-Datei bearbeitet werden.

Auf die im MyCoRe-Projekt gespeicherten Klassifikationen kann von den Metadaten aus via einer Referenz aus Klassifikations- und Kategorie-ID zugegriffen werden. Neben der Einbindung der Klassifikationen in die Metadaten des zu speichernden Objektes ist es auch möglich, Recherchen via Navigation über diese Klassifikationen durchzuführen.

Klassifikation

Abbildung 1.4: Beispiel einer Klassifikation und eines Klassifikations-Editors

Persistent Identifier (URNs)

MyCoRe unterstützt die Generierung, Vergabe und Verwaltung von Persistent Identifiers im Namensraum urn:nbn:de, wie sie etwa die Deutsche Nationalbibliothek für Online-Publikationen einsetzt. Dokumente erhalten so eine dauerhafte, standardisierte und weltweit eindeutige Adresse, unter der sie erreichbar sind. Für die Generierung von URNs stehen verschieden Algorithmen zur Verfügung, etwa auf Basis von Zeitstempeln oder fortlaufenden Zählern, die auch miteinander kombiniert werden können. MyCoRe speichert die URN, berechnet und testet ggf. die zugehörige Prüfsumme und implementiert einen lokalen URN-Resolver. Vergebene URNs können entweder über die OAI-Schnittstelle mittels Epicur, oder über eine automatisch generierte E-Mail bei der Deutschen Nationalbibliothek registriert werden.

Dateiverwaltung, Streaming, Viewer

Internes Dateisystem (IFS)

MyCoRe verwaltet nicht nur Metadaten, sondern auch die dazugehörenden Dateien intern. Die zu einem Metadatenobjekt gehörenden Dateien werden in das System importiert bzw. über den Browser hochgeladen und diesem als sogenanntes Derivat (Dateibereich) zugeordnet. So können z.B. Varianten eines Dokumentes in PDF- und HTML-Form existieren, die jeweils ein Derivat mit ein oder mehreren Dateien bilden.

MyCoRe besitzt zu diesem Zweck ein Internes Dateisystem (Internal Filesystem, IFS), das die gewohnte Sicht der Derivate von Dateien und Verzeichnisse präsentiert. Gleichzeitig erlaubt das IFS aber Dateien aufgrund eines Regelwerks an physisch unterschiedlichen Orten vorzuhalten, um z.B. Videos auf einem Streaming-Server abzulegen. Über eine API stellt das IFS alle notwendigen Dateisystemoperationen dem Anwendungsentwickler zur Verfügung.

Sowohl über die MyCoRe-Kommandozeile (Command Line Interface) als auch über die Web-Schnittstelle können Derivate, d. h. Einzeldateien oder Dateibündel, die zu einem Dokument gehören, importiert oder aktualisiert werden. Ein Java Applet ermöglicht den Upload auch großer Dateien oder kompletter Verzeichnisse. Die Verzeichnisstruktur bleibt im internen Derivat erhalten, so dass auch umfangreiche HTML-Bäume importiert werden können. Über ein Servlet werden Dateien und Verzeichnisse im Browser angezeigt und ausgeliefert. Dabei können Dateien oder Verzeichnisse auch on demand als ZIP-Datei ausgeliefert werden.

Die beschreibenden und technischen Daten zu Dateien und Verzeichnissen werden in einer Datenbank abgelegt. Die Dateiinhalte dagegen werden getrennt davon in einem sog. FileContentStore gespeichert und verwaltet. Derzeit gibt es eine Reihe von Implementierungen eines FileContentStores, die je nach Konfiguration des Systems auch gleichzeitig eingesetzt werden können, z. B. ein lokales oder entferntes, via SFTP/Samba/CIFS angebundenes Dateisystem, oder ein Video Streaming Server. Anhand von Regeln wird für die importierte Datei ein entsprechender Content Store gewählt. So können etwa Audio-/Videodateien anhand ihrer Dateiendung automatisch beim Upload auf einem Video Streaming Server abgelegt werden.

Audio-/Video-Streaming

MyCoRe kann transparent einen Audio-/Video-Streaming-Server als Ablageort für Dateien integrieren. Der Nutzer importiert eine Datei bzw. lädt sie über den Webbrowser hoch. Anhand der Dateiendung und hinterlegter Regeln wählt MyCoRe dann automatisch den Streamingserver als Speicherort. Die Audio-/Videodatei kann dann über den Streaming Server wiedergegeben werden, ohne dass ein Download erforderlich ist. Der Nutzer kann frei im Videostrom navigieren oder direkt über die URL bestimmte Stellen ansteuern. In der Weboberfläche können aus dem Streaming Server gewonnene technische Metadaten wie Bitrate, Framerate und Abspieldauer angezeigt werden.

Video-Streaming

Abbildung 1.5: Anzeige Real-Player und Metadaten

Unterstützt wird der Helix-Server (Real) (Streaming von Real Audio/Video, Windows Media, MP3, AVI, Quicktime u.a.) oder der IBM VideoCharger Server (Streaming von MPEG 1 und 2, Quicktime u.a.).

Viewer für Bilder und Digitalisate

Das MyCoRe Image Viewer Modul realisiert einen Bildbetrachter für große Grafikdateien wie Landkarten, oder hochauflösende Digitalisate. Über die Java Advanced Imaging API können Formate wie TIFF serverseitig zu in jedem Browser betrachtbaren JPEG-Dateien konvertiert werden. Der Image Viewer erlaubt das Skalieren von Bildern (Zoomen), und das Bereitstellen von Ausschnitten. Über ein Thumbnail kann in großen Bildern navigiert werden. Der Image Viewer kann einfach in einen Dokumentenserver integriert werden. Beim Import eines Bildes werden erforderliche Zoomstufen automatisch von MyCoRe generiert und intern zwischengespeichert.

Image Viewer

Abbildung 1.6: Modul: Image Viewer

Weboberfläche, Benutzerschnittstellen

Datenpräsentation

MyCoRe verwendet intern XML als Speicher- und Datenaustauschformat. Die Weboberfläche einer Anwendung wird durch Java Servlets implementiert, die die Ergebnisse einer Anfrage als XML-Daten ausliefern. Diese XML-Darstellung wird serverseitig mittels XSL-Stylesheets in eine Webseite im HTML-Format transformiert. Auch andere Zielformate wie RSS, CSV oder PDF (mittels XSL-FO) sind leicht realisierbar. In MyCoRe integriert ist etwa die Möglichkeit, XML-Dateien mittels eines XSL-Stylesheets als PDF-Datei auszugeben.

Durch Verwendung von XSL kann MyCoRe sehr flexibel unterschiedliche Darstellungen oder Layouts erzeugen, oder mehrere XML-Quellen miteinander kombinieren. So kann nicht nur bei einem Verbund mehrerer Partner-Applikationen jede ihr eigenes Layout zeigen, sondern die Präsentation an sich komplett geändert werden, wenn dies gewünscht ist. Die Präsentationsschicht erstreckt sich in MyCoRe von einfachen Web-Seiten über Trefferlisten und Resultats- bzw. Dokumentanzeigen bis hin zu Komponenten der Nutzerverwaltung.

Aus xml und xsl wird html

Abbildung 1.7: Aus xml und xsl wird html

Alternativ kann auch ein anderer Ansatz zur Realisierung der Weboberfläche gewählt werden. So steht die Referenzanwendung DocPortal auch in einer auf Java Server Pages (JSP) basierenden Variante zur Verfügung.

Mehrsprachigkeit

MyCoRe unterstützt mehrsprachige Weboberflächen. Einzelne Abschnitte oder ganze Webseiten können in verschiedenen Sprachen hinterlegt werden. Bezeichnungen von Such- oder Eingabefeldern werden in sprachabhängigen, einfach anpassbaren Konfigurationsdateien verwaltet. Bei der Ein- und Ausgabe von Datums- und Zahlenwerten werden verschiedene Formate unterstützt. Auch der Textfluss ist z. B. für das Arabische von rechts nach links umkehrbar.

Islamische Handschriften

Abbildung 1.8: Beispiel für Mehrsprachigkeit: Islamische Handschriften

Web Content Management Modul

Über das integrierte WCMS-Modul können das Navigationsmenü und die statischen Webseiten einer MyCoRe-Anwendung online erstellt und über einen WYSIWYG-Editor bearbeitet werden. Es gibt eine Übersetzungsfunktion zur Realisierung mehrsprachiger Webseiten. Das WCMS-Modul generiert automatisch eine Sitemap Ihres Servers und speichert die Änderungshistorie an den Seiten. Auch ein Upload von Bildern ist möglich. Bestimmten Seiten oder Bereichen kann ein Layout-Template auf CSS-Basis zugewiesen werden, so dass innerhalb eines Anwendungsservers verschiedene Bereiche mit unterschiedlichem Layout gepflegt werden können.

WCMS-Modul

Abbildung 1.9: WCMS-Modul

Autoreninterface

Das MyCoRe-System bietet einen Schnittstelle für die Dateneingabe durch berechtigte Anwender. Hier ist das zentrale Glied das MCREditorServlet und die zugehörigen XSL-Stylesheets. Das System ist eine Mischung aus Konfigurationsdateien und anwendungsbezogenen Servlets. Dem Ideenreichtum bei der Gestaltung des Editors und der Prüfung der Daten entsprechend des Datenmodells sind kaum Grenzen gesetzt. Derzeit wird eine einfache Workflow-Implementation als Modul angeboten, welche die zu bearbeitenden Metadaten und Objekte auf einem Plattenbereich zwischenspeichert, und so einen typischen zweistufigen Workflow (Eingabe durch den Autor, Prüfung und Korrektur durch die betreibende Institution) realisiert.

Autoren können die beschreibenden Daten ihrer Dokumente selbst über Online-Formulare eingeben, und im Anschluss die dazugehörenden Dateien über ein HTML-Formular oder ein Java Applet hochladen.

Eingabemasken

Die freie Konfigurierbarkeit des Datenmodells erfordert eine flexible Möglichkeit, eigene Such- und Eingabemasken zu gestalten. Dies wird durch das MyCoRe Editor Framework realisiert. Metadaten und Suchanfragen werden in MyCoRe intern als XML-Dokumente dargestellt. Das Editor Framework ordnet Eingabefeldern in Formularen daher bestimmten XML-Elementen zu. So können auch komplexe Formulare individuell realisiert werden. Das Editor Framework unterstützt mehrsprachige Bezeichner, wiederholbare Felder und Panels, Online-Hilfetexte und umfangreiche Regeln zur Eingabevalidierung.

Eingabemaske

Abbildung 1.10: Beispiel: Eingabemaske

Command Line Interface (CLI)

Neben der Weboberfläche verfügt MyCoRe für administrative Zwecke über eine Benutzerschnittstelle auf Kommandozeilenbasis. Über diese Schnittstelle können insbesondere große Datenmengen, z. B. Metadaten im XML-Format, importiert und exportiert werden, oder Suchindizes nach geänderter Systemkonfiguration neu aufgebaut werden. Die Schnittstelle unterstützt den Batchimport großer Datenmengen.

Standardisierte Schnittstellen

Open Archives Initiative OAI-PMH 2.0

MyCoRe bietet eine Schnittstelle entsprechend dem "Metadata Harvesting Protocol" der Open Archives Initiative in der aktuellen Protokoll-Version 2.0. Über die OAI-Schnittstelle werden Metadaten von Dokumentenservern frei verfügbar gemacht und durch OAI Service Provider gesammelt und weltweit zugänglich. Die OAI-Schnittstelle ist frei konfigurierbar, unterstützt Sets, Resumption Tokens und beliebige Metadatenformate. OAI Sets werden auf MyCoRe Klassifikationen abgebildet.

Implementierungen für die Metadatenformate Dublin Core und XMetaDiss zur Meldung von Dissertationen an die Deutsche Nationalbibliothek sind verfügbar. Über das OAI-Format Epicur können die Persistent Identifier (URNs) Ihrer Dokumente bei der Deutschen Nationalbibliothek automatisiert registriert werden.

Zugang für Robots, Google

MyCoRe bietet eine spezielle Schnittstelle, über die ein vollständiger Index enthaltener Objekte für die Indizierung durch Suchmaschinen-Robots generiert wird. Suchmaschinen wie Google und andere können so Metadaten und Volltexte frei zugänglicher, MyCoRe-basierter Dokumentenserver indizieren und weltweit auffindbar machen. MyCoRe implementiert ausserdem das Google Sitemap Protocol.

Web Services (SOAP)

MyCoRe bietet eine SOAP-Schnittstelle für die Suche im Objektbestand, über die auch eine verteilte Suche über mehrere MyCoRe-Server konfiguriert werden kann.

z39.50 Schnittstelle

MyCoRe bietet eine z39.50 Schnittstelle, über die einfache Suchanfragen im z39.50 Prefix Query Format (PQF) gestellt und beantwortet werden. Über diese Schnittstelle kann etwa ein MyCoRe-basierter Dokumentenserver an einen Bibliothekskatalog angebunden werden.

XML-Schnittstelle

MyCoRe verwendet intern das XML-Format zur Speicherung von Metadaten und zum Datenaustausch. Metadaten können daher im XML-Format importiert und exportiert werden. Über Java Servlets sind diese XML-Daten auch externen Systemen via HTTP zugänglich.

Suche in Metadaten und Volltext

Suchfunktionen

MyCoRe unterstützt die kombinierte Suche in den Metadaten von Objekten (Titel, Autor etc.), in den Metadaten von Dateien (Änderungsdatum, Dateigröße etc.) und in den Volltexten von Dateien. Eine MyCoRe Anwendung sucht dabei nicht direkt in den Daten von Objekten und Dateien, sondern in daraus abgeleiteten Suchfeldern. Die Abbildung von Metadaten auf Suchfelder erfolgt über eine Konfigurationsdatei. So wird z. B. das XML-Element /metadata/titles/title auf ein Suchfeld title abgebildet.

searchfield

Abbildung 1.11: Datei: searchfields.xml

Dabei können auch komplexe Suchanfragen mit booleschen Ausdrücken (und/oder/nicht), Platzhaltern und Suchoperatoren gestellt werden. Der Datentyp eines Suchfeldes (ID, Name, Text, Zahl, Datum etc.) bestimmt die bei der Suche einsetzbaren Operatoren (z.B. Phrasensuche, Trunkierung, <, >, ...).

MCR Query Language

Abbildung 1.12: Expertensuche: MCR Query Language

Die Suche in MyCoRe ist auf Basis von Apache Lucene realisiert. Obwohl auch andere Implementierungen denkbar sind, ist dies die zur Zeit einzige Implementierung der MyCoRe Suche, die für den Produktionseinsatz sinnvoll ist. Über Lucene durchlaufen indizierte Texte ggf. verschiedene Normalisierungsschritte wie Stammwortreduktion (Stemming) und Umlautnormalisierung.

Suchmasken und Trefferlisten

MyCoRe Suchmasken sind frei konfigurierbar, von einfachen Ein-Feld-Suchformularen über komplexere, qualifiziertere Suchmasken bis hin zu frei formulierbaren Experten-Abfragen in der MyCoRe Query Language (MCRQL). Suchmasken können selbst erstellt oder aus einer Konfiguration von Suchfeldern automatisch generiert werden.

Suchmaske

Abbildung 1.13: Beipsiel: Suchmaske

Trefferlisten sind auf- oder absteigend nach mehreren Feldern beliebig sortierbar. Die ursprüngliche Suche kann angezeigt ("Sie haben gesucht nach: ...") oder noch einmal verfeinert werden (Rückkehr zum Suchformular mit Anpassung der Suchparameter).

Auch eine verteilte Suche über mehrere Server ist möglich und intern über Web Services Schnittstellen realisiert. Auf diesem Wege können auch Legacy-Systeme mittels einer eigenen Implementierung dieser Schnittstellen auf Java-Basis integriert werden.

Datei-Inhalte durchsuchen

Für die Volltextsuche wird der Inhalt von Textdateien über konfigurierbare Filter extrahiert. Derzeit sind Implementierungen für HTML, XML, TXT, OpenOffice Formate und PDF-Dateien enthalten.

MyCoRe kann aus bestimmten Dateitypen zusätzliche Metadaten extrahieren und diese ebenfalls durchsuchbar machen. Derzeit sind Implementierungen für die Extraktion bzw. Suche in EXIF-Metadaten von JPEG-Grafiken (Aufnahmedatum etc.), in ID3-Metadaten von MP3-Audiodateien (Titel, Interpret, Länge etc.) und in Metadaten von PDF-Dokumenten (Seitenzahl, Autor etc.) verfügbar.

MyCoRe kann als Content gespeicherte XML-Dateien qualifiziert durchsuchen. Bei entsprechender Konfiguration könnten z. B. die XML-Strukturen einer manifest.xml Datei eines SCORM-Lernpaketes, oder METS-Metadaten eines Digitalisates durchsucht werden.

Benutzer- und Zugriffsrechteverwaltung

Im Subsystem Benutzermanagement wird die Verwaltung derjenigen Personen geregelt, die mit dem System umgehen (zum Beispiel als Autoren Dokumente einstellen). Dazu bietet die Benutzerverwaltung insbesondere die Möglichkeit, dass sich Benutzer am System via Login authentifizieren können. Die Geschäftsprozesse einer Benutzerverwaltung wie zum Beispiel das Anlegen neuer Benutzer, das Setzen von Passwörtern, die Aktivierung/Deaktivierung von Benutzern usw. erfordern unterschiedliche Rechte. Diese können je nach Aufgaben festgelegt werden.

Benutzer können Gruppen zugeordnet werden, die den Rollen der Benutzer entsprechen. Zugriffsrechte wie Lesen, Bearbeiten und Löschen von Dokumenten, enthaltenen Dateien und auch statischen Seiten der Weboberfläche können einzelnen Benutzern oder bestimmten Gruppen zugeordnet werden. Die Zuordnung von Rechten zu Objekten erfolgt über Access Control Listen. Alternativ kann auch auf Basis von IP-Adressbereichen Zugang zu Dokumenten oder anderen Objekten gewährt werden.

Access Control

Abbildung 1.14: Online-Editor: Access Control