MYCORE LTS2020.06 - WAS IST NEU? - THOMAS SCHEFFLER, SEBASTIAN HOFMANN, KATHLEEN NEUMANN - GBV
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Thomas Scheffler, Sebastian Hofmann, Kathleen Neumann MyCoRe LTS2020.06 – Was ist neu? Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung 4.0 International Lizenz.
Übersicht • 179 Tickets geschlossen vom 04.11.19 – 4.11.20 • Umstieg auf XSLT v3 begonnen • Neuerungen rund um Solr • Neuer i18n-Mechanismus • Neue Komponente • Neuerungen bei Persistent Identifier, Datacite und CrossRef • Neuerungen rund um die Derivat-ACLs • Abschluss der Derivat-Überarbeitung • Support für Internet-Explorer läuft aus • MCRConfiguration2-Umstellung abgeschlossen • Weitere Neuerungen im Schnelldurchlauf • Migration 2019 -> 2020 04.11.2020 Folie 2 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
XSLT v3 – Grundlagen Name Xalan Saxon HE Letzte Version 2.7.2 (2014), 2.7.0 (2005) 10.3 (2020-10), 10.0 (2020-03) Lizenz Apache License 2 Mozilla Public License 2 „Incompatible With Secondary Licenses“ XSLT Version 1.0 (1999) 3.0 (2017) XPath Version 1.0 (1999) 3.1 (2017) Java-Extensions (GPL) ja nein 04.11.2020 Folie 3 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
XSLT v3 – Grundlagen • Properties – MCR.ContentTransformer.modsCollection-json.Class=org.mycore.common.content.transformer.MCRXSLTransformer MCR.ContentTransformer.{..}.Class=org.mycore.common.content.transformer.MCRXSLTransformer – MCR.ContentTransformer.modsCollection-json.Stylesheet=xsl/modsCollection-json.xsl MCR.ContentTransformer.{..}.Stylesheet=xsl/{..}.xsl – MCR.ContentTransformer.modsCollection-json.TransformerFactoryClass=net.sf.saxon.TransformerFactoryImpl MCR.ContentTransformer.{..}.TransformerFactoryClass=net.sf.saxon.TransformerFactoryImpl • Keine Xalan-Extension mehr – Saxon Function Library (fn, math, map, array) – – Neue Sprach-Features XSLT 2, XSLT 3, XPath 3.1 – Fallback: URIResolver 04.11.2020 Folie 4 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
XSLT v3 – Funktionen • In MyCoRe: – https://www.mycore.de/documentation/frontend /xsl/xsl_xslt3/ • ACL (mcracl:check-permission,...) • I18N (mcri18n:translate,...) – Bsp: MIR PR #528 • MODS (mcrmods:to-mycoreclass,...) – Bsp: Podcast 04.11.2020 Folie 5 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Solr – Reload der Konfiguration • MCR-2054, MCR-2260 • betrifft: reload solr configuration {0} in core {1} • SOLR-Schema und SOLR-Config (requestHandler, ...) werden zurückgesetzt – Manuelle Änderungen gehen verloren • Konfiguration wird neu eingespielt 04.11.2020 Folie 6 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Solr – Update auf Version 8 • Tests und Anpassungen für Solr v8 ➢Produktivbetrieb mit Solr 8.6.3 möglich • Wichtigste Neuerung: ➢mit Solr 8 kann unsere Spezialbehandlung von „Nested Documents“, also Solr-Kinddokumenten entfallen 04.11.2020 Folie 7 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Solr – Content Security Policy (Solr v8) • MCRSolrProxyServlet leitet alle Response-Header des SOLR- Servers direkt an die Anwendung weiter • Mit Solr 8.4 wurde der Solr-Response-Header um Angaben zur Content-Security-Policy angereichert: As a result of this change, any custom HTML served by Solr’s HTTP server that contains inline Javascript will no longer execute in modern browsers. The options for you are: – Change your JavaScript code to not run inline any longer; – Edit jetty.xml to remove CSP (creating weaker security protection); – Remove/alter the headers with a reverse proxy. Aus https://lucene.apache.org/solr/guide/8_4/solr-upgrade-notes.html 04.11.2020 Folie 8 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Solr – Content Security Policy (2) • Das Verhalten kann zu Problemen in der Anwendung führen • Optionen zur Lösung: – Die Anwendung muss entsprechend angepasst werden – Solr-Response-Header mit folgenden MyCoRe- Properties oder direkt in der jetty.xml anpassen: MCR.Solr.HTTPResponseHeader.Transfer-Encoding= MCR.Solr.HTTPResponseHeader.Content-Security-Policy=default-src 'none'; base-uri 'none‘; connect-src 'self'; form-action 'self'; font-src 'self'; frame-ancestors 'none‘; img-src 'self'; media-src 'self'; style-src 'self' 'unsafe-inline‘; script-src 'self' 'unsafe-inline'; worker-src 'self'; 04.11.2020 Folie 9 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Neuer i18n-Mechanismus • Implementierung eines separaten XSLT-Transforma- tionsschrittes nur für die Übersetzung mit i18n • alle Texte werden direkt in der MyCoRe-Webpage, dem XSL-Stylesheet oder der xEditor-Datei angegeben • der letzte Transformationsschritt reduziert die Texte entsprechend der aktuell anzuzeigenden Sprache • dadurch müssen komplexe HTML-Konstrukte nicht mehr wiederholt werden • ein Mechanismus für webpage, xed und xslt • Möglichst einfache und kompakte Syntax 04.11.2020 Folie 10 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Nutzung des i18n-Mechanismus MyCoRe: Beispiel für eine Webseite Sample for a webpage • es können auch weiterhin Schlüssel aus den message.properties genutzt werden: mir.abstract • Beispiel: https://duepublico2.uni- due.de/content/index.xml?XSL.Style=xml 04.11.2020 Folie 11 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
MCRStaticContentGenerator • Transformer definieren: MCR.ContentTransformer.meinTransformer.Stylesheet=xsl/static/mein.xsl • Generator definieren: MCR.Object.Static.Content.Generator.meinGenerator.Transformer=meinTransformer • Aufruf per URI-Resolver: 04.11.2020 Folie 12 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Neue Komponente – mycore-csl • CSL = Citation Style Language, eine Programmiersprache für Zitationsstile [1] • Bereits im letzten Jahr als UBO-Feature vorgestellt [2] • Basiert auf citeproc.js [1] https://de.wikipedia.org/wiki/Citation_Style_Language [2] https://cmswiki.rrz.uni-hamburg.de/hummel/MyCoRe/Organisation/AnwenderWorkshop2019 04.11.2020 Folie 13 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
mycore-csl – Konfiguration • Native Implementierung für MODS – org.mycore.mods.csl.MCRModsItemDataProvider MCR.ContentTransformer.mods2csl.Class=org.mycore.csl.MCRCSLTransformer MCR.ContentTransformer.mods2csl.format=html MCR.ContentTransformer.mods2csl.style=elsevier-harvard MCR.ContentTransformer.mods2csl.ItemProviderClass=org.mycore.mods.csl.MCRModsItemDataProvider MCR.ContentTransformer.mods2csl.MIMEType=text/html; charset\="UTF-8" • Verwendung per XSL.Transformer: – XSL.Transformer=mods2csl&XSL.style=springer-basic- author-date – Beispiel: https://www.mycore.de/mir/receive/mir_mods_00000001?XSL.Transf ormer=mods2csl&XSL.style=springer-basic-author-date 04.11.2020 Folie 14 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Automatische PI-Generierung • MCR-2202 – automatic pi creation • MCRPIPredicate = Predicate – boolean test(MCRBase base) – Testet ob MyCoRe ein PI für Objekt Erstellen/Registrieren soll MCR.PI.Service.Datacite.Transformer=datacite -''-.Datacite.CreationPredicate=org.mycore.pi.condition.MCRPIAndPredicate -''-.Datacite.CreationPredicate.1=org.mycore.pi.condition.MCRPIStatePredicate -''-.Datacite.CreationPredicate.1.State=new -''-.Datacite.CreationPredicate.2=org.mycore.pi.condition.MCRPIXPathPredicate -''-.Datacite.CreationPredicate.2.XPath=//mods:mods[count(mods:name[@type='corporate' and contains(@authorityURI, 'mir_institutes')])>0] -''-.Datacite.RegistrationPredicate=org.mycore.pi.condition.MCRPIPublishedPredicate • MCRPIAndPredicate, MCRPIOrPredicate, MCRPIStatePredicate, MCRPIXPathPredicate 04.11.2020 Folie 15 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Neues PI-Kommando • MCR-2114 – create pi command • create pi with {0} for object {1} – create pi with Datacite for object mir_mods_00000001 • create pi with {0} for object {1} with additional ({2}) – create pi with URN for object mir_derivate_00000001 with additional (img_00001.jpg) 04.11.2020 Folie 16 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
XPath als neue PI-Generator-Option • MCR-2012 – add xPath as option to generic PI generator MCR.PI.Generator.DOIGenerator=org.mycore.pi.MCRGenericPIGenerator MCR.PI.Generator.DOIGenerator.GeneralPattern=10.24395/$1_$ObjectNumber MCR.PI.Generator.DOIGenerator.Type=doi MCR.PI.Generator.DOIGenerator.XPath.1=substring-before( substring-after( //mods:mods/mods:name[@type='corporate' and contains(@authorityURI, 'mir_institutes')]/@valueURI, '#'), '_‘) 04.11.2020 Folie 17 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Updates zu Datacite & Crossref • MCR-2082 – improve mods crossref xsl • MCR-2259 – invalid metadata can not be deleted at DataCite • MCR-2241 – move datacite validation from doi creation to registration • MCR-2306 – Support Datacite metadata schema v4.3 04.11.2020 Folie 18 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
MyCoRe-Viewer mit ePub …nun produktiv im Einsatz beim Publikationsserver der TU Braunschweig Finetuning in: [MCR-2081], [MCR-2091], [MCR-2077] 04.11.2020 Folie 19 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
MyCoRe-Viewer • Ist im PDF eine Startseite gesetzt, wird diese nun auch ausgewertet [MCR-1814] • Verschiedene kleinere Fehler (gesamt 18 Tickets) wurden behoben 04.11.2020 Folie 20 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Permissions read, view, preview, view-derivate??? • Problem: Unklare bei Permission-Bezeichnungen • Ziel: Vereinheitlichung der Permissions • Dabei wichtig: – id ist das was in der URL steht – view-derivate wird ersetzt durch view 04.11.2020 Folie 21 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Permissions – Zugriffe auf Derivate • read-Permission: – Dateien können gelesen und heruntergeladen werden – implizit view und preview – z.B. https://www.mycore.de/mir/servlets/MCRFileNodeServlet/Document_derivate_00000003/M yCoRe-Poster-A0_DBT2014_Oeltjen.pdf • view-Permission: – Dateien können nur angeschaut werden, z.B. im Viewer – z.B. https://www.mycore.de/mir/api/iiif/image/v2/dbbs_derivate_00000169%2Fmax%2F0000000 2.jpg/full/full/0/default.png • preview-Permission: – nur ein Vorschaubild der Inhalte darf angeschaut werden – z.B. https://www.mycore.de/mir/api/iiif/image/v2/thumbnail/mir_mods_00000001/full/full/0/col or.jpg 04.11.2020 Folie 22 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Derivate-Datenmodell ... • Deprecated Attribute @label und @display wurden entfernt 04.11.2020 Folie 23 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Tschüß InternetExplorer! • – msie-warning.xsl (mycore-webtools) 04.11.2020 Folie 24 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
MCRConfiguration2 • Java 8 Optional • Wenn Wert „leer“ → Optional.empty() – Unterscheidung zwischen „leer“ und „nicht gesetzt“ über MCRConfigurationBase.getString() • Deprecated: MCRConfiguration 04.11.2020 Folie 25 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Im Schnelldurchlauf • Kreisabhängigkeiten zwischen MCRObjekten nicht mehr erlaubt • Deprecated-Properties in Komponenten und Modulen ermöglicht • Wiederholbare Nutzerattribute • REST-API v2 ↗ Einzelvortrag • IIIF-Neuerungen ↗ Einzelvortrag 04.11.2020 Folie 26 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Migration 2019 → 2020 • Wird sich für ein Umstieg auf Solr 8 entschieden, empfehlen wir ein Neubau des Indexes mycore.sh -> reload solr configuration main in core main -> rebuild solr metadata index in core main -> rebuild solr content index in core main • Details zur Migration unter: https://www.mycore.de/documentation/migrate /migrate_mcr2020_06/ 04.11.2020 Folie 27 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Breaking-Changes: IFS • IFS1 – MCRFile, MCRDirectory, ContentStores, MCRFSNODES • IFS2 – MCRFile, MCRDirectory, mcrdata.xml • NIOFS – Path (MCRPath), Java-API • Über IFS1-ContentStore Abbildung auf IFS2 • NIOFS-Implementierung auf IFS1 (Schema: ifs) – Path → MCRFile(IFS1) → MCRFSNODES → ContentStore(IFS1) → MCRFile(IFS2) → Local File • NIOFS-Implementierung auf IFS2 (Schema: ifs2) – Path → MCRFile(IFS2) → Local File 04.11.2020 Folie 28 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Breaking-Changes: IFS • Schon VOR der Umstellung auf LTS-2020! • CLI: check IFS2 compatibility – Nur ein ContentStore im Einsatz – MCRCStoreIFS2 – Jede Datei in MCRFSNODES existiert – MD5-Checksumme von MCRFSNODES und mcrdata.xml stimmen überein • update IFS2 MD5 sums • Neuer Default-Wert: MCR.NIO.DefaultScheme=ifs2 • Bei Fehler: MCR.NIO.DefaultScheme=ifs 04.11.2020 Folie 29 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Breaking-Changes: SOLR • Voraussetzung: SOLR 8.x, ABER • SOLR 7: – Bei MIR oder „Nested Documents“: → MCR.Solr.NestedDocuments=true • Dynamic Fields – {elementName}{....}={Inhalt} – MCR.Solr.DynamicFields=true 04.11.2020 Folie 30 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Breaking-Changes: CLI • Nicht mehr alle Kommandos per default grep "#.*MCR\.CLI\.Classes\." \ ~/.mycore/{appName}/mycore.active.properties • IFSCommands, MIR-Migrationskommandos 04.11.2020 Folie 31 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Ausblick • Modularisierung • Java 17 (nächstes LTS nach Java 11) • OCFL • S3 04.11.2020 Folie 32 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Vielen Dank für Ihr Interesse! Thomas.Scheffler@uni-jena.de Sebastian.Hofmann@gbv.de Kathleen.Neumann@gbv.de http://www.mycore.de/ info@mycore.de 04.11.2020 Folie 33 Was ist neu bei MyCoRe? - MyCoRe-Anwenderworkshop 2020
Sie können auch lesen