Zielgruppe BetriebVersion: GSB10.1JCR-Publisher
Hier finden Sie weitergehende Informationen zur Nutzung und Anpassung des JCR-Publishers.
XSL Transformation des JCR-Publishers für weitere HTML-Auszeichnungen anpassen - Auszeichnung TABLE
Problembeschreibung:
Bei der Nutzung des JCR-Publishers werden unter bestimmten Konstellationen nicht alle Auszeichnungen von Richtext-Elementen von GSB7 ins GSB10-Repository übertragen (hier: class
-Attribut in tables
)
Lösungsansatz:
Anpassung der jcrpublischer-10.1.0-SNAPSHOT.jar
im File xml/richtext.xsl
bei den Regeln für table:
Änderung der Zeile <xsl:apply-templates select="@*[name() != 'class']" />
in <xsl:apply-templates select="@*"/>
, um das class
-Attribut mit zu berücksichtigen.
Sonderzeichen in Dokumentnamen
Im CoreMedia Repository ist es möglich, in Dokumentnamen Sonderzeichen zu verwenden, die im GSB bzw. dem zugrundeliegenden Jackrabbit-Repository nicht erlaubt sind.
Beispiel: Der GSB/CM-Dokumentname bild_200*100 ist ein zulässiger (GSB7-)Name.
Diese Dokumente können bei der Migration mit dem JCRPublisher Probleme verursachen und zum Abbruch eines Migrationslaufs führen.
Vor einer Migration mit dem JCRPublisher ist daher sinnvoll, die Verwendung von Sonderzeichen in GSB/CM-Dokumentennamen zu überprüfen und ggf. durch geeignete Namen zu ersetzen.
Beispiel: Der GSB/CM-Dokumentname bild_200*100 könnte durch bild_200x100 ersetzt werden.
Sollte bei Migration trotzdem ein fehlerhaftes Dokument (bzw. Dokumentname) enthalten sein, so muss
- das fehlerhafte XML-Dokument zunächst identifizieren,
- anschließend händisch korrigieren
- und der Import per REST erneut gestartet werden.
Die drei Schritte werden im folgenden detaillierter beschrieben:
Schritt 1
Zur Identifikation des fehlerhafte XML-Dokumentes muss der Log-Level der „ImportagentTransaction“-Klasse im Migrationsrepository auf debug gesetzt werden:
<logger name=
"de.bund.gsb.transaction.importagent.ImportagentTransaction" level="debug" />
Bei einem erneuten Lauf des JCRPublisher lässt sich im Repository-Log ermitteln, welches (XML-)Dokument zuletzt verarbeitet wurde.
Schritt 2
Im identifizierten Dokument müssen ggf. enthaltene Sonderzeichen im Dokumentnamen ersetzt werden. Darüber hinaus sind im Wrapper-Dokument der Transaktion alle Dokumente aufgeführt, so dass der Dokumentname auch im Wrapper anzupassen ist.
Ein fehlerhaftes Dokument könnte z.B. dies sein:
/space/gsbos/data/repository-master/transaction/1e1ce477-4dbd-42bc-b618-db397d82a554/BfArM2013/SharedDocs/Bilder/zzz/DE/Bibliothek/bibliothek_340*255.xml
Die Transaktions-Id wäre in diesem Fall 1e1ce477-4dbd-42bc-b618-db397d82a554, so dass das Wrapper-Dokument im Ordner /space/gsbos/data/repository-master/transaction/1e1ce477-4dbd-42bc-b618-db397d82a554/cms_events/publicationwrappers/ anzupassen ist (im Beispiel Austausch des Namens bild_200*100 durch bild_200x100).
Schritt 3
Nach der Korrektur muss die Einspielung des Contents in das Migrationsrepository per REST-Aufruf erneut angestoßen werden:
curl -X POST http://localhost:7001/importagent/transaction/<TransaktionsId>
Die beschriebenen Schritte sind nur durchzuführen, wenn die Anpassung der Dokumentnamen erst im vom JCRPublisher exportierten Content direkt im Filesystem durchgeführt werden sollen. Einfacher ist es, die betreffenden Dokumente direkt im GSB 7 Repository anzupassen, um dann den Export und den anschließenden Import über den JCRPublisher durchzuführen.