# MyCoRe

MyCoRe (offizielle Aussprache ['maikɔːr], Kurzform für „My Content Repository“) ist ein Softwareframework, mit dessen Hilfe Institutionen eigene Dokumenten- und Publikationsserver oder Archivlösungen erstellen können. Die Software wird von einer Community entwickelt, deren Mitglieder überwiegend an deutschen Universitäten und bibliothekarischen Einrichtungen tätig sind. Der Quellcode ist als freie Software unter GNU General Public License (GPL) auf GitHub verfügbar.
In MyCoRe-Repositorien werden bibliografische Metadaten, Dokumente und digitale Objekte, wie Forschungsdaten, Manuskripte, Bilder, Audio- und Video-Dateien veröffentlicht. Das MyCoRe-Framework stellt Funktionen zum Verwalten, Speichern, Durchsuchen, Präsentieren und Teilen von Metadaten und digitalen Objekten bereit.
MyCoRe wird an mehreren deutschen Universitätsrechenzentren, an Universitätsbibliotheken, an der Verbundzentrale des GBV (VZG) und als „Statistische Bibliothek“ von den Statistischen Ämtern der Länder und dem Statistischen Bundesamt eingesetzt.

## Anwendungsbeispiele

Das MyCoRe-Framework wird als Software für verschiedene Anwendungen eingesetzt.
* Bach digital: das Bach-Portal für Forschung und Musikpraxis, eine Datenbank mit Digitalisaten zu Werken und Quellen J. S. Bachs und der gesamten Bach-Familie sowie Plattform für Forschungsergebnisse
* <intR>²Dok: die Publikationsplattform der Virtuellen Fachbibliothek Recht an der Staatsbibliothek zu Berlin.
* LexM: das Lexikon verfolgter Musiker und Musikerinnen der NS-Zeit.
* DuEPublico: der Dokumenten- und Publikationsserver der Universität Duisburg-Essen.
* journals@UrMEL: der Zeitschriftenserver der Thüringer Universitäts- und Landesbibliothek ThULB in Jena.
* perspectivia.net: Max Weber Stiftung
Weitere Anwendungsbeispiele sind in der Liste mit MyCoRe-Installationen aufgeführt.

## Funktionalität

Alle wesentlichen Funktionen eines Repositoriums stellt MyCoRe bereit, so dass einfache Anwendungen primär durch Konfiguration statt Programmierung realisiert werden können. Damit ist MyCoRe ein Framework zum Erstellen von Dokumentenservern. Auch komplexe Anwendungen wie Archive oder Onlinelexika können mit MyCoRe realisiert werden.

### Benutzerschnittstelle

* Webschnittstelle zum Erstellen, Verwalten und Bearbeiten aller Inhalte über Online-Eingabeformulare und Datei-Uploadfunktionen
* Mehrsprachige Oberfläche (I18N): Textabschnitte und Bezeichnungen sind über Konfigurationsdateien anpassbar
* Kommandozeilen-Interface (CLI) für administrative Aufgaben und Batch-Import/-Export auf dem Server

### Metadatenmodell

* Frei konfigurierbares Metadatenmodell
* Umfangreiche Unterstützung des MODS-Standards für Publikationsdaten
* Vordefinierte Basisdatentypen für Text, Zahlen, Datumswerte, Wahrheitswerte, XML, Verweise und Kategorien
* Eigene Datentypen können zusätzlich über Java-Schnittstellen implementiert werden.
* Definition von Objekttypen wie „Dokument“ oder „Person“ als Menge von Feldern wiederholbarer Basisdatentypen
* Querverweise und Beziehungen zwischen Objekttypen
* Hierarchien von Objekttypen mit Vererbung von Metadaten an untergeordnete Typen, z. B. Hierarchie Zeitschrift, Heft, Artikel
* Versionierbare Metadaten (Versionshistorie)

### Klassifikationen

* Unterstützung beliebiger hierarchischer Klassifikationssysteme (Bäume von Kategorien)
* Geeignet für hierarchische Fachklassifikationen wie Dewey-Dezimalklassifikation, DINI-Publikationstypen, Sprachen nach RFC 5646, Sachgruppen der DNB, DESTATIS Klassifikationen, oder Organisationsstruktur einer Einrichtung
* Zuordnung von Objekten (Dokumenten) zu ein oder mehreren Kategorien in beliebigen Klassifikationen
* Online-Klassifikationseditor zur Bearbeitung von Kategorien
* Import/Export eigener Klassifikationen über XML-Dateien

### Internes Dateisystem (IFS)

* Unterstützung beliebiger Dateitypen und Verwaltung komplexer Verzeichnishierarchien (Dateibäume)
* Hochladen auch sehr großer Dateien über HTML5 oder REST-Schnittstelle
* Dynamische Generierung von ZIP-Archiven oder TAR-Archiven
* Gewährleistung der Datei-Integrität über MD5-Prüfsummen

### Suchfunktionen

* Kombinierte Suche in beschreibenden Metadaten, in Volltexten oder in extrahierten Daten
* Suche in Volltexten von PDF-, Office-, HTML- und XML-Dateien, Epub
* Frei konfigurierbare Suchmasken: einfache Suche, komplexe Suche, Expertensuche
* Sortierung der Trefferliste nach mehreren Kriterien, auf- oder absteigend
* Verwendung von Apache SOLR und Tika-Funktionalität

### Benutzer- und Rechteverwaltung

* Privilegien definieren Rechte eines Benutzers, z. B. Anlegen eines neuen Dokumentes
* Access Control Listen (ACLs) definieren Zugriffs- und Bearbeitungsrechte auf ein Objekt
* Autorisierung anhand der Benutzerkennung und/oder der IP-Adresse des Browsers
* Anbindung an Shibboleth und LDAP

### Persistent Identifier

* Unterstützung von DOI, URNs, handle und Purl als Persistent Identifier
* Generierung über konfigurierbare Algorithmen, z. B. Zeitstempel, Zähler oder beliebiges eigenes Schema
* Registrierung bei der Deutschen Nationalbibliothek, Crossref, DataCite

### Interoperabilität

* REST-Schnittstelle
* OAI-PMH 2.0 Data Provider (Open Archives Initiative)
* Unterstützung des Sitemap-Protokolls, spezieller Zugang für Suchmaschinen-Robots
* IIIF-Image, API, IIIF-Presentation
* Schnittstelle für Simple Web-service Offering Repository Deposit (SWORD)
* Unterstützung verschiedener Metadatenformate, z. B. MODS, Dublin Core, XMetaDissPlus, Epicur, DataCite XML, MARC XML, LIDO und TEI sowie METS
* Unterstützung von Schema.org
* Import von Daten aus verschiedenen Datenquellen, wie z. B. Bibliothekskataloge, Zitationsdatenbanken, DOI-Providern oder ORCID

### Web Content Management Modul (WCMS)

* WYSIWYG-Editor für statische Webseiten der Anwendung
* Pflege der Navigationsstruktur der Website
* Übersetzungsfunktion für mehrsprachige Websites
* Änderungshistorie
* Generierte Sitemap
* Hochladen von Dateien und anderen Dokumenten
* Templates für Layout und CSS

### Audio-/Video-Streaming

* Transparente Integration eines Audio-/Video-Streaming-Servers
* Pseudostreaming von gängigen Formaten
* Speicherung von Audio und Video-Podcasts

### Viewer Modul

* Dokumenten- und Bildbetrachter im Browser
* Unterstützung verschiedener Dokumentenformate, z. B. EPUB, ALTO, METS, TEI, IIIF
* Anzeige hochauflösender Digitalisate
* Skalieren von Bildern und Bereitstellen von Ausschnitten
* Automatisches Generieren von Miniatur-Vorschaubildern (Thumbnails)
* Caching generierter Bilder, automatische Neuberechnung nur bei Bedarf
* Korrekturfunktion für ALTO-Dateien