Inhaltsverzeichnis
Inhalt |
---|
Inhaltsverzeichnis
Inhalt |
---|
Allgemein
PS.Content kann Artikel an das HUP (VL) Printredaktionssystem ausleiten. Der Übergabemechanismus ist bidirektional, ein Abgleich kann also in beide Richtungen erfolgen, auch aus dem Print-System zurück nach PS.Content (PS.C im folgenden).
Info |
---|
Mit Stand 09.11.2023 steht der Editor-Service mit Spring 3.1 und Java 17 zur Verfügung. |
Generell funktioniert der Abgleich nur dann sinnvoll in beide Richtungen, wenn einer Komponente aus PS.C eine Fläche in Print und umgekehrt zugeordnet werden kann. Bei der Übergabe von PS.C an Print können zwar auch mehrere Komponenten in eine Zielfläche überführt werden, das lässt sich aber auf dem Rückweg nicht mehr automatisch auf einzelne PS.C Komponenten aufteilen. Eine Ausnahme bilden hier "Weiche Auszeichnungen" im Grundtext des Print-Artikels. Diese können wieder in einzelne PS.C Komponenten (zB. Zwischentitel) übersetzt werden.
Glossar
...
Info |
---|
Zusätzlich Protokoll-Informationen lassen sich durch die Umgebungsvariable
|
Glossar
- Grundartikel = Ein eigenständiger Print-Artikel, der alle Komponenten aufnimmt, die nicht als eigenständiger Artikel angelegt wurden.
- Teilartikel = Ein eigenständiger Print-Artikel, der aus einem Teil (einer Cluster-Komponente) eines PS.C Artikels entstanden ist. Dies können zB. sein:
- Infobox = Eine Clusterkomponente bestehend aus den Komponenten"HAZ", "Titel" und "Text"
- Kommentar = Eine Clusterkomponente bestehend ausden Komponenten "Bild", "HAZ", "Autor", "Autor Kontakt" und "Text"
- Zitat = Eine Clusterkomponente bestehend aus den Komponenten"Bild", "Autor" und "Text"
- Aufmacher-Bild = Eine Clusterkomponente bestehend aus den Komponenten "Bild" und "Text"
- Asset (Typ: Bild) = Eine Assetkomponente mit dem Inhalt: Bild sowie den üblichen Metadaten Titel, Text und Quelle
Ortsmarken und Autorenkürzel
vgl. CON-5111: Ortsmarke nicht unbedingt am Flächenanfang
- Ortsmarken werden von PS.Content übernommen, wenn der Konfigurationseintrag "insert-geo-location" gesetzt ist (siehe Beispiel).
- Dieser Eintrag kann global für alle konfigurierten Musterartikel gelten oder für einzelne Muster unterschiedlich definiert werden.
- Der Wert des Eintrags stellt eine Liste dar und jeder Listeneintrag entspricht
- entweder einer Zielfläche im Musterartikel (z.B. Text) - d.h. bei Erstbefüllung der entspr. Zielfläche wird die Ortsmarke und das Autorenkürzel vorangestellt
- oder einer Kombination aus component-name und item (z.B. text+text) - d.h. bei Erstauswertung der Mappings mit component-name und item wird die Ortsmarke vorangestellt
- Die Ortsmarke enthält so viele Orte, wie im Artikel-XML als relevant übergeben wurden - siehe PS.C Artikel-XML <SummarizeFirstLocationsCount>
- Prinzipiell wird das Autorenkürzel an gleicher Stelle wie und nach der Ortsmarke (sofern vorhanden) eingefügt.
- Ob das Autorenkürzel tatsächlich eingefügt wird, entscheidet der VL-Konfigurationseintrag PSContent.InsertAuthorCode = "1";
- Die Formatierung der Ortsmarke und des Autorenkürzels wird in 4057.sdv konfiguriert.
- Reihenfolgeabarbeitung der 4057.sdv bzgl. Ortsmarke, Autorenkürzel und Spitzmarkenkennung:
- Neben den Werten aus der 4057.sdv gibt es codeseitig Defaults, wenn kein Wert angegeben ist.
Im Beispiel sind in {...} die Int-Werte der SDV sowie der Default nach | angegeben. - Es wird immer Ortsmarke, Autor und Spitzmarken-Ende in dieser Reihenfolge zusammengesetzt.
- Neben den Werten aus der 4057.sdv gibt es codeseitig Defaults, wenn kein Wert angegeben ist.
...
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
de: hup: vl: edt: article: import: default-template: PS_Standard_32 # Ortsmarke/Autorenkürzel: Zielfläche im VL-Artikel ODER Kombination des Komponenten-Mappings "component+item" insert-geo-location: ["text+text", "printShortText+text"] - template: PS_Umfrage # Ortsmarke/Autorenkürzel: Zielfläche für Musterartikel "PS_Umfrage" bzw. Kombination des Komponenten-Mappings insert-geo-location: [] parameters: - ... |
Ausleitung von Assets und Clustern
Prinzipiell kann konfiguriert werden, Assets als separate Artikel auszuleiten. Ebenso ist eine Liste von Cluster-Namen konfiguriert, deren Inhalt als separater Artikel ausgeleitet wird.
...
Es ist auch möglich, das im PS.C-Artikel eingestellte print-template mit einem dynamischen Attribut als Parameter (z.B. "Kategorie") auf ein anderes print-template "umzumappen". Die oben genannte Definition von Ausnahmen (Assets im Grundartikel obwohl prinzipiell separat) erfolgt dann mit diesem "umgemappten" print-template - gleiches gilt für die Musterwahl im Editor-Service.
Zuordnung von Komponenten aus PS.C zu Flächen im Printsystem, Wahl von Musterartikeln, prinzipielle Kommunikation
Ablauf Übergabe PS.C nach HUP-Print
...
- print-template: (optional) Testat "Artikelmuster" oder Name der Cluster-Komponente
- chars: (1-n) Grundtextmenge (Zeichenanzahl)
- publication: (optional) Publikation von Exportkanal übermittelt
...
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
templates:
-
chars: 3000
template: 4-44-mit Bild
-
chars: 2000
template: 3-44-mit Bild
-
chars: 1000
template: 2-24-mit Bild
-
chars: 1000
print-template: comment
template: Kommentar_2sp
-
chars: 1000
print-template: comment
publication: OWZ
template: OWZ_Kommentar_2sp
-
chars: 500
template: 1-18-mit Bild
-
chars: 500
print-template: comment
template: Kommentar_1sp
-
chars: 500
print-template: comment
publication: OWZ
template: OWZ_Kommentar_1sp
-
print-template: clusterInfobox
template: Infobox_1sp |
- Ist der Arikel in HUP-Print schon vorhanden (es hat zuvor bereits eine Übergabe stattgefunden)
- wird dieser geöffnet und geleert
- Sonst wird anhand dieses "Musterartikels" ein neuer Artikel angelegt.
- Am Artikel wird in einem dynamischen Attribut gespeichert, aus welchem PS.C Artikel er entstanden ist.
- Der evtl. vorhandene Grundtext wird entfernt.
- Je Musterartikel wird im Bereich "mappings" definiert, welcher Teil einer möglicherweise vorkommenden PS.C Artikelkomponente in welche Fläche des HUP-Print Artikels überführt werden soll.
- Die Reihenfolge der Komponenten im PS.C Artikel gibt die Abarbeitungsreihenfolge vor.
- In der "Umsetzungstabelle" wird jedem Bestandteil (
"item"
) einer PS.C Artikelkomponente eine Zielfäche ("destination"
) und optional eine Zielauszeichnung ("style"
), einen Auszeichnung für den ersten Absatz ("style-of-first-paragraph"
) sowie ein Einfügemodus ("mode"
) zugeordnet.- Ist keine Zielfläche konfiguriert, wird die Komponente nicht übertragen.
- Ist keine Auszeichnung vorhanden, wird das normale Absatz- und Zeichenformat der Zielfläche verwendet.
- Ist eine Auszeichnung (
"style"
) angegeben, wird der Text mit dieser "Weichen Auszeichnung" eingefügt. - Als Einfüge-/ Absatzmodus stehen zur Verfügung:
"replace"
- Ersetzt den bisherigen Inhalt"add"
- Fügt den neuen Inhalt an in den vorhandenen Absatz ein"newline"
- Fügt den neuen Inhalt in einem neuen Absatz an"openpara"
- Schließt einen vorhandenen Absatz und öffnet einen neuen, der nicht wieder geschlossen wird. (Fettanlauf zB.)"closepara"
- Schließt einen Absatzattributierung ab"inline"
- Fügt einen Text (i.A. mit einem Style), ohne dass ein Absatz eingefügt wird (z.B. Fett- oder Kursiv-Auszeichnung)
- Ist eine Auszeichnung für den ersten Absatz (
"style-of-first-paragraph"
) konfiguriert, wird dieser vor den einzufügenden Text gestellt, wenn:- der Text in der Zielfläche zuvor leer war
- der vorherige Contentpart für die Zielfläche einen anderen Namen hatte
Name: Component-Name + "." + Item-Name [ + #Component-Nummer] - vorher kein Inline-Paragraph in der Zielfläche verwendet wurde
- Als Destination kann auch eine Freifläche oder Überlagerung adressiert werden. In diesem Falle ist der Layername dem Flächennamen voran zu stellen zB: "Freifläche1$Bild"
- Schläft eine adressierte Zielfläche, wird diese aufgeweckt, sobald ein Inhalt für sie vorhanden ist. Die Vaterfläche (oder ggfs. der Layer bei Freiflächen) wird dabei ebenfalls aufgeweckt.
- Bilder (Assets) werden der Reihe nach in vorhandene und evtl. schlafende Bildflächen eingefügt.
- Der Layer/Vater einer Bildfläche muss nicht zwingend alle weiteren von der Bild-Komponente referenzierten Flächen wie Text und Quelle enthalten. Sie können über
"destination: ..."
adressiert werden. - Ist am VLExporter in der Logik-Server Konfiguration der Konfigschalter ".parameters:standAloneArticleFromAsset: clusterHeadPicture" gesetzt, werden alle Bild-Assets als Bildartikel mit dem Template clusterHeadPicture ausgeleitet.
Es gibt dann KEINE im Print-Artikel eingebetteten Bilder mehr.
- Der Layer/Vater einer Bildfläche muss nicht zwingend alle weiteren von der Bild-Komponente referenzierten Flächen wie Text und Quelle enthalten. Sie können über
- EFW-Parameter (optional):
"start"
- EFW-Text am Anfang des einzufügenden Textes - z.B. "- ""end"
- EFW-Text am Ende des einzufügenden Textes - z.B. "<HFILL/>""start-if-mode-before"
- Bei Einfügemodus"add"
und Absatzmodus des zuvor in die Fläche eingefügten Textes, bei dem der Start-EFW-Text eingefügt werden darf - z.B."add"
"end-if-mode-before"
- Bei Einfügemodus"add"
und Absatzmodus des zuvor in die Fläche eingefügten Textes, bei dem der End-EFW-Text eingefügt werden darf - z.B."newline"
"pre-format: true"
- Formatieren des Artikels vor dem Einfügen des Textes, wenn die Zielfläche aufgeweckt werden soll
...
language | yml |
---|---|
theme | DJango |
title | Beispiel |
collapse | true |
...
Asset-Download im Printsystem
vgl. CON-4991: DnD von Assets auf alternative Adresse umleiten
Beim Export eines PS.C-Artikels mit Asset werden für diesen Contentpart zwei URLs im XML einbettet:
- die interne Download-URL (direkt auf den Logic-Container)
eine externe Download-URL (Proxy über UI-Container). Die Verwendung der externen URL kann wiederum konfiguriert werden:
hup.one.server.use-ui-proxy = true
(sonst wird die interne URL verwendet)
Über den Editor-Service wird konfiguriert, welche der beiden URLs für den Import im VL verwendet werden soll: de.hup.vl.edt.article.import.use-internal-content-url = 0
Im Printsystem werden Assets vom Editor-Service heruntergeladen - entweder beim Drag&Drop (Pull-Workflow) einer Asset-Komponente oder beim Export von Artikeln mit Assets in einen Printkanal. Die Download-URL wird im XML übergeben (Export) oder ist direkt der vom Browser gelieferte externe Link (Drag&Drop). In verschiedenen Konstellationen (M&S, MSSA, WrapperRed1) gab es Probleme beim Download über die externe URL innerhalb des Printsystems beim Pull-Workflow. Deshalb kann auch die interne URL zum Download benutzt werden.
- Im Printsystem wird dazu eine alternative URL konfiguriert (
PSContent.ServerAddressDownloadAssetReplace
), die bei Pull stattPSContent.ServerAddressDownloadAsset
zum Download genutzt wird. - Für den Export (Push) wird im yml des Editor-Service der Schalter
use-internal-content-url
auf 1 gesetzt. Die interne URL ist wie die externe im übergebenen Artikel-XML enthalten und wird dann genutzt.
- Der Name des entstehenden Print-Bildes ist beim Export (ohne vorherige Vorschau) der Artikelname (für das direkt in den PS.C-Artikel gedropte Bild wird auch der Artikelname vorgeschlagen, kann aber umbenannt werden und bekommt dann noch implizit einen Datumsstempel angehängt). Das Bild landet im Übernahme-Verzeichnis "Agentur" (sofortiges Einspielen mit Aktualisierung) und ein Ausschnitt im dafür vorgesehenen Übernahme-Verzeichnis.
- Wird zuerst eine Printvorschau mit dem Bild erzeugt, hat es eine GUUID angehängt, die offenbar extra dafür generiert ist. Das Bild landet dann nicht im Übernahme-Verzeichnis "Agentur", nur ein Ausschnitt wird beim Export wie oben behandelt.
- Beim Drop aus der PS.C-Suche im Katalog Verhalten wie bei 1. (Bild bekommt Name des Artikels, in den gedropt wird bzw. der neu angelegt wird).
- Drop der Asset-Komponente: Verhalten ebenso wie bei 1. (Bild bekommt Name des Artikels, in den gedropt wird bzw. der neu angelegt wird - dann impliziter Name mit "..._<n>_picture").
PS: Config war bei diesen Tests Redaktion.AutomatischeNamen="1"; und Redaktion.UseImageName4ImageArticle="0";
Pull-Workflow
Zur technischen Realisierung siehe Pull-Workflow. Hier soll es um die prinzipielle Funktion und eine Konfigurations-Übersicht gehen.
Der Pull-Workflow ist bereits ohne Konfiguration möglich. Dann werden am PS.C-Artikel Kanäle und das Attribut <Kanalname>.#usedInChannel gesetzt. Beim Deplatzieren wird das Attribut von "true" auf "false" geändert. Diese Aussagen beziehen sich auf den Hauptartikel. Cluster lassen sich separat per DnD im Printsystem platzieren, beeinflussen aber die Kanäle und Attribute des PS.C-Artikels nicht - auch nicht beim Deplatzieren.
Zusätzliche Konfigurationen verfeinern den Workflow je nach Wunsch:
- Setzen zusätzlicher Testate am PS.C-Artikel beim Platzieren
- "Pull" im Print an: Entziehen des Kanals am PS.C-Artikel beim Deplatzieren im Printsystem + in den Papierkorb stellen
- "Pull" im CMS an: Kein Kanalentzug beim Deplatzieren, Export des Print-Kanals nur bei <Kanalname>.#usedInChannel="true"
Zuordnung von Komponenten aus PS.C zu Flächen im Printsystem, Wahl von Musterartikeln, prinzipielle Kommunikation
Ablauf Übergabe PS.C nach HUP-Print
- Die Konfiguration erfolgt in der application.yml des Editor-Services (EDT-SVC).
- Ausgehend von folgenden Parametern wird ein Musterartikel ("template") gewählt:
- print-template: (optional) Testat "Artikelmuster" oder Name der Cluster-Komponente
- chars: (1-n) Grundtextmenge (Zeichenanzahl)
- publication: (optional) Publikation von Exportkanal übermittelt
- Vorgehensweise zum Auffinden des passenden Musterartikels
- Ist eine Publikation bekannt, werden alle templatesgesucht, die passend zu publication und print-template sind
- Bei Treffermenge = 0: Ist eine Publikation bekannt, werden alle templates gesucht, die passend zu publication sind und KEIN print-template haben
- Bei Treffermenge = 0: Es werden alle templates gesucht, die passend zu print-template sind und KEINE publication haben
- Bei Treffermenge = 0; Es werden alle templates gesucht, die KEIN print-template oder print-template=standard und KEINE publication haben
- Ist diese Treffermenge > 1, wird das template ermittelt, welches am besten zur Zeichenanzahl (chars) passt.
- Ist die Treffermenge = 0, wird das default-template verwendet
- Mit dem template wird das Flächen-Mapping (mappings) ermittelt.
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
templates:
-
chars: 3000
template: 4-44-mit Bild
-
chars: 2000
template: 3-44-mit Bild
-
chars: 1000
template: 2-24-mit Bild
-
chars: 1000
print-template: comment
template: Kommentar_2sp
-
chars: 1000
print-template: comment
publication: OWZ
template: OWZ_Kommentar_2sp
-
chars: 500
template: 1-18-mit Bild
-
chars: 500
print-template: comment
template: Kommentar_1sp
-
chars: 500
print-template: comment
publication: OWZ
template: OWZ_Kommentar_1sp
-
print-template: clusterInfobox
template: Infobox_1sp |
- Ist der Artikel in HUP-Print schon vorhanden (es hat zuvor bereits eine Übergabe stattgefunden)
- wird dieser geöffnet und geleert
- Sonst wird anhand dieses "Musterartikels" ein neuer Artikel angelegt.
- Am Artikel wird in einem dynamischen Attribut gespeichert, aus welchem PS.C Artikel er entstanden ist.
- Der evtl. vorhandene Grundtext wird entfernt.
- Je Musterartikel wird im Bereich "mappings" definiert, welcher Teil einer möglicherweise vorkommenden PS.C Artikelkomponente in welche Fläche des HUP-Print Artikels überführt werden soll.
- Die Reihenfolge der Komponenten im PS.C Artikel gibt die Abarbeitungsreihenfolge vor.
- In der "Umsetzungstabelle" wird jedem Bestandteil (
"item"
) einer PS.C Artikelkomponente eine Zielfäche ("destination"
) und optional eine Zielauszeichnung ("style"
), einen Auszeichnung für den ersten Absatz ("style-of-first-paragraph"
) sowie ein Einfügemodus ("mode"
) zugeordnet.- Ist keine Zielfläche konfiguriert, wird die Komponente nicht übertragen.
- Ist keine Auszeichnung vorhanden, wird das normale Absatz- und Zeichenformat der Zielfläche verwendet.
- Ist eine Auszeichnung (
"style"
) angegeben, wird der Text mit dieser "Weichen Auszeichnung" eingefügt. - Als Einfüge-/ Absatzmodus stehen zur Verfügung:
"replace"
- Ersetzt den bisherigen Inhalt"add"
- Fügt den neuen Inhalt an in den vorhandenen Absatz ein"newline"
- Fügt den neuen Inhalt in einem neuen Absatz an"openpara"
- Schließt einen vorhandenen Absatz und öffnet einen neuen, der nicht wieder geschlossen wird. (Fettanlauf zB.)"closepara"
- Schließt einen Absatzattributierung ab"inline"
- Fügt einen Text (i.A. mit einem Style), ohne dass ein Absatz eingefügt wird (z.B. Fett- oder Kursiv-Auszeichnung)
- Ist eine Auszeichnung für den ersten Absatz (
"style-of-first-paragraph"
) konfiguriert, wird dieser vor den einzufügenden Text gestellt, wenn:- der Text in der Zielfläche zuvor leer war
- der vorherige Contentpart für die Zielfläche einen anderen Namen hatte
Name: Component-Name + "." + Item-Name [ + #Component-Nummer] - vorher kein Inline-Paragraph in der Zielfläche verwendet wurde
- Als Destination kann auch eine Freifläche oder Überlagerung adressiert werden. In diesem Falle ist der Layername dem Flächennamen voran zu stellen zB: "Freifläche1$Bild"
- Schläft eine adressierte Zielfläche, wird diese aufgeweckt, sobald ein Inhalt für sie vorhanden ist. Die Vaterfläche (oder ggfs. der Layer bei Freiflächen) wird dabei ebenfalls aufgeweckt.
- Bilder (Assets) werden der Reihe nach in vorhandene und evtl. schlafende Bildflächen eingefügt.
- Der Layer/Vater einer Bildfläche muss nicht zwingend alle weiteren von der Bild-Komponente referenzierten Flächen wie Text und Quelle enthalten. Sie können über
"destination: ..."
adressiert werden. - Ist am VLExporter in der Logik-Server Konfiguration der Konfigschalter ".parameters:standAloneArticleFromAsset: clusterHeadPicture" gesetzt, werden alle Bild-Assets als Bildartikel mit dem Template clusterHeadPicture ausgeleitet.
Es gibt dann KEINE im Print-Artikel eingebetteten Bilder mehr. - Image-Parameter (optional):
"min-height"
- Minimale Zeilenhöhe des Bildes, die die Freifäche für Übersatzbeseitigung einnehmen darf"max-height"
- Maximale Zeilenhöhe des Bildes, die die Freifläche für Untersatzbeseitigung einnehmen darf"optional"
- Optionales Bild, welches versteckt werden darf (Freifläche schlafend), wenn ein Übersatz nicht anders beseitigt werden kann
- Der Layer/Vater einer Bildfläche muss nicht zwingend alle weiteren von der Bild-Komponente referenzierten Flächen wie Text und Quelle enthalten. Sie können über
- EFW-Parameter (optional):
"start"
- EFW-Text am Anfang des einzufügenden Textes - z.B. "- ""end"
- EFW-Text am Ende des einzufügenden Textes - z.B. "<HFILL/>""start-if-mode-before"
- Bei Einfügemodus"add"
und Absatzmodus des zuvor in die Fläche eingefügten Textes, bei dem der Start-EFW-Text eingefügt werden darf - z.B."add"
"end-if-mode-before"
- Bei Einfügemodus"add"
und Absatzmodus des zuvor in die Fläche eingefügten Textes, bei dem der End-EFW-Text eingefügt werden darf - z.B."newline"
"pre-format: true"
- Formatieren des Artikels vor dem Einfügen des Textes, wenn die Zielfläche aufgeweckt werden soll
- Je Musterartikel kann ein Bereich "actions" definiert werden, die seitens HUP-Print ausgelöst werden können, um Inhalte aus PS.Content zu übernehmen
- Eine Aktion hat einen eindeutigen Namen
- Eine Aktion hat eine Bezeichnung - z.B. zur Anzeige im Kontextmenü
- Eine Aktion hat einen Bereich "mappings" definiert - siehe oben
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
mappings:
-
# gleiche Konfig für mehrere Musterartikel
template: 4-44-mit Bild|3-44-mit Bild|2-24-mit Bild|1-18-mit Bild|Kommentar_1sp|Kommentar_2sp
actions:
- name: short-headline
label: Kurzüberschrift als UNZ
parameters:
-
component: headline
item: short
destination: UNZ
mode: replace
- name: teaser
label: Teaser als Vorspann
parameters:
-
component: teaser
item: text
destination: Vorspann
mode: add
- name: qr-code
label: QR-Code einfügen
parameters:
-
component: qrcode
component-no: 0
item: text
destination: Service$Text
mode: replace
efw-parameters:
start: "Scannen Sie den QR-Code mit ihrem Handy oder geben Sie den Link in den Browser ein: "
end:
-
component: qrcode
component-no: 0
item: assetID
destination: Service$Bild
mode: replace
parameters:
-
# bei einer headline Komponente wird zunächst der normale Text versucht zu übernehmen, erzeugt dieser Übersatz, wird automatisch die short-Form der Komponente benutzt, sofern vorhanden
component: headline
item: text
destination: Titel
mode: replace
-
component: headline
item: short
destination: Titel
mode: replace
-
component: printHeadline
item: text
destination: Titel
mode: replace -
-
component: overline
component-no: 0
item: text
destination: DAZ
mode: replace
efw-parameters:
pre-format: true
-
component: text
item: text
destination: Text
mode: newline
style-of-first-paragraph: Initial3Z
-
component: subtitle
item: text
destination: Text
mode: newline
style: Zwischenzeile
-
component: leader
item: text
destination: Vorspann
mode: replace
-
component: picture
item: text
destination: Bild1$Text
mode: replace
-
component: picture
item: source
destination: Bild1$Text
mode: add
-
component: picture
item: assetID
destination: Bild1$Bild
mode: replace
image-parameters:
min-height: 10
max-height: 30
optional: false
- |
Übergabe von Verwaltungsdaten
Mit speziellen Mappings können die PS.C Artikel-Verwaltungsdaten im Print-Artikel als Text übernommen werden.
Über das Schlüsselwort "#article" für component wird festgelegt, dass ein Verwaltungsdatum verwendet werden soll.
Über item wird der Pfad zum Verwaltungsdatum beschrieben: z.B. Author = Autorname; Tags$Tag$Name = ein Stichwort
Bei Listen (z.B. Tags, Locations, Departments, ...) wird über component-no das konkrete Element aus der Liste adressiert: z.B. 0 = erstes Element.
Auch für Verwaltungsdaten gelten die schon oben erwähnten Einfüge- und Absatzmodi sowie die efw-Parameter.
Codeblock | ||||
---|---|---|---|---|
| ||||
###### Artikelverwaltungsdaten Mapping #####
- # das erste Stichwort übernehmen
component: "#article"
component-no: 0
item: Tags$Tag$Name
destination: Vorspann
mode: add
- # das zweite Stichwort übernehmen
component: "#article"
component-no: 1
item: Tags$Tag$Name
destination: Vorspann
mode: add
efw-parameters:
start: " / "
#end: " "
- # das erste Ressort übernehmen
component: "#article"
component-no: 0
item: Departments$Department$Name
destination: Vorspann
mode: newline
- # Autor übernehmen
component: "#article"
component-no: 0
item: Author
destination: Vorspann
mode: newline
############# |
Spezialfall Aufzählungskomponenten
- Für eine Aufzählungskomponente (Enumeration) seht folgendes Mapping zur Verfügung:
...
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
mappings: - parameters: - component: enumeration item: numbered destination: Text mode: newline style: ABS_ERGEBNISSE efw-parameters: start: "<TAB/>0" start-if-mode-before: add after-number: ".<TAB/>" end: "..." end-if-mode-before: add - component: enumeration item: normal destination: Text mode: newline style: ABS_ERGEBNISSE efw-parameters: start: "·<QUAD TYPE=4/>" - component: enumeration item: alphabetic destination: Text mode: newline style: ABS_ERGEBNISSE efw-parameters: start: "•<QUAD TYPE=1/>" |
Spezialfall Cluster-Komponenten
- Jede Cluster-Komponente, die application.yml des Logik-Servers im Konfigurationseintrag "createStandAloneArticles" (als Parameters des "exportPoint" zum VL-System) aufgeführt ist, wird als Teilartikel bei der Ausleitung an HUP-Print behandelt.
- Ihr Name geht als "printTemplate" in die Suche nach einem Musterartikel ein.
- Die in ihr enthaltenen Komponenten entsprechen in der Konfiguration des EDT-SVC einer ganz normalen Artikelkomponente. (Kein Präfix)
- Alle Cluster-Komponenten, die nicht im Konfigurationseintrag "createStandAloneArticles" aufgeführt sind, werden als Bestandteil des Grundartikels verarbeitet.
- Ihr Name wird mit dem Namen der Cluster-Komponente als Präfix erweitert. (zB. clusterInfobox.headline)
Textersetzungen von PS.Content nach HUP-Print
Anker | ||||
---|---|---|---|---|
|
vgl. auch HUP OP #7929657: Editor-Service: Textzeichen-Ersetzung unvollständig
Für jeden Exportkanal können Textersetzungen definiert werden, die in der Editorservice-Schnittstelle ausgewertet werden. Das sind i.A. Zeichen, die im Printsystem anders aussehen (z.B. Anführungszeichen etc.) oder Steuerzeichen sind (z.B. Tabulator, Absatzmarken etc.).
Folgende Zeichen können z.B. definiert und ersetzt werden (TAGs funktionieren, da sie erst nach Maskierung der < und > eingefügt werden):
PS.C Zeichen | Ersetzungszeichen | HUP-Print Entsprechung |
---|---|---|
⎵ | HR oder <HR/> | Absatzlinie |
↔ | HFILL oder <HFILL/> | Zeilenspaltung |
‗ | <HFILLLINE/> | Auffüllline |
→ | TAB oder <TAB/> | Tabulator |
█ | QUAD1 oder <QUAD TYPE=1/> | Vollgeviert |
▌ | QUAD2 oder <QUAD TYPE=2/> | Halbgeviert |
▍ | QUAD3 oder <QUAD TYPE=3/> | Drittelgeviert |
▎ | QUAD4 oder <QUAD TYPE=4/> | Viertelgeviert |
▏ | QUAD8 oder <QUAD TYPE=8/> | Achtelgeviert |
ǁ | QUAD9 oder <QUAD TYPE=9/> | Zifferngeviert |
‑ | <WBR/> | Trennvorgabe |
‒ | – | Bindestrich |
┐ | <BR/> | Zeilenwechsel (Ausrichtung Umlaufzeile) |
┘ | <BR ALIGN=END/> | Zeilenwechsel (Ausrichtung Absatzendezeile) |
NSP | Geschütztes Leerzeichen ( ) | |
SPACE | Leerzeichen ( ) | |
[Zeichen] | <MASK_Uxxxx> | Zeichenersetzung zu einem Unicodezeichen xxxx (Hex-Schreibweise), welches erst im fertigen EFW-Zwischenablageformat umgewandelt wird |
Ř | <ACC TYPE=caron>R | R mit fliegendem Akzent (Caron bzw. Hatschek) |
Die bisher aufgeführten Zeilen zu einfachen und doppelten typografischen Anführungszeichen (auch jeweils die französische Variante) haben keine Wirkung und können deshalb auch weggelassen werden:
...
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
export-steps:
-
export-points:
-
name: Print
parameters:
text-replacements: "⎵=<HR/>,↔=HFILL,→=TAB,█=QUAD1,▌=QUAD2,▎=QUAD4,▍=QUAD3,▏=QUAD8,ǁ=QUAD9,‑=<WBR>,‒=–,┐=<BR/>,┘=<BR ALIGN=END/>,‘=<MASK_U2039>,‹=<MASK_U2039>,›=<MASK_U203A>,‚=<MASK_U203A>,Ř=<ACC TYPE=caron>R" |
PS: Bitte im Codebeispiel die Unterschiede zwischen "Komma" und dem einfachen typografischen Anführungszeichen unten sowie "größer/kleiner als" und den einfachen französischen Anführungszeichen beachten.
Übergabe HUP-Print nach PS.C
- Ist der Artikel bereits vorhanden, muss der Abgleich durch Anklicken des Eintrags "Externe Änderungen importieren" ausgelöst werden.
- Wird der PS.C Artikel aus HUP Print heraus neu angelegt, wird initial ein Abgleich ausgeführt.Über den EDT-SVC wird aus dem Print-Artikel (und seinen Teilartikeln) ein temporärer PS.C Artikel erstellt. Dies geschieht schon auf VL-Seite in ModuleEfwDataBO.dll..C Artikel aus HUP Print heraus neu angelegt, wird initial ein Abgleich ausgeführt.
- Über den EDT-SVC wird aus dem Print-Artikel (und seinen Teilartikeln) ein temporärer PS.C Artikel erstellt. Dies geschieht schon auf VL-Seite in ModuleEfwDataBO.dll. (vgl auch
)Ältere Jira-Version server System Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 9e1d8ee1-e644-33f7-bad0-2d7ba828cfcb key CON-5822 - Dieser Artikel wird durch umgekehrtes Auswerten der "PS.C nach HUP Print" Konfiguration des EDT-SVC erstellt. (vgl. oben)erstellt (vgl. oben). Der ggf. beim ursprünglichen Export des Artikels nach Print verwendete Musterartikel wird mit übergeben, um den richtigen "Abschnitt" des Mappings zu finden.
- Es werden alle nicht schlafenden Print-Flächen ausgewertet und in entsprechende Komponenten übersetzt.
- Beim "ReverseMapping" wird nach einem Eintrag gesucht, dessen "destination" der gerade behandelten Editor-Fläche entspricht und der auch den gleichen "style" hat (bei Text-Abschnitten ohne weiche Auszeichnung nach einem Eintrag ohne "style").
- ist in der Konfiguration des EDT-SVC ein Eintrag mit "reverse-default: true" gekennzeichnet, wird momentan sämtlicher Text der Fläche als diese Komponente rückübersetzt (auch ohne Berücksichtigung des "style" vgl.
), , wird der entsprechende Text bevorzugt als diese Komponente rückübersetzt (für den Fall, dass es mehrere Mappings gibt, die auf die gleiche Kombination destination/style führen) - sonst wird bei Mehrdeutigkeit in der Rückübersetzung immer die erste passende Komponente verwendetÄltere Jira-Version server System Jira columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 9e1d8ee1-e644-33f7-bad0-2d7ba828cfcb key CONS-195 - Im Grundtext wird jeder Textteil, der nicht Bestandteil einer "Weichen Auszeichnung" ist, als Komponente vom Typ "text" mit dem Namen text übertragen
- Zu jedem Textteil, der Bestandteil einer "Weichen Auszeichnung" ist, wird nach dem Regelwerk die Zielkomponente ermittelt
- zB: Style = Zwischenzeile → Komponente vom Typ "text" mit Name = subtitle Kann keine Zielkomponente ermittelt werden → Wird eine neue Komponente vom Typ "text" mit dem Namen text erzeugt.
- Kann für die Fläche keine Zielkomponente (ohne "style") ermittelt werden, wird der gesamte Text nicht übernommen - wird nur für einen Abschnitt mit weicher Auszeichnung kein Ziel gefunden, wird der Text wie ohne Auszeichnung übernommen.
- individuelle Ausnahmen zum globalen "ignore-em-classes" für die Rückübernahme lassen sich mit einem Trick festlegen: Der nicht zu übernehmende Text bekommt im Mapping eine mit "reverse-default: true" gekennzeichnete "Dummy"-Komponente (die in der UI nicht existiert) und landet damit nicht im PS.C-Artikel.
- Handelt es sich um einen neuen PS.C Artikel, werden alle bekannten Komponenten 1:1 übernommen. Je Bildfläche wird ein Asset angelegt.
- Handelt es sich um einen bereits vorhandenen PS.C Artikel, werden die Komponenten des temporären Artikels mit den vorhandenen abgeglichen:
- Der Abgleich kann (nur für den Hauptartikel, nicht für Cluster-Komponenten) in der application.yml des UI-Servers konfiguriert werden:
Konfiguration unter hup.one.content.article.importSources; z.B.
Codeblock language yml theme DJango - name: 'VL' parameters: delete: - text - subtitle ignore: - leader - teaser - audio - picture - video replace: headline: printHeadline subheadline: subtitle before: - topline:headline after: - subtitle:text - text:subtitle|text
- Der Eintrag "delete" definiert, welche Komponenten des PS.C-Artikels beim Abgleich entfernt (nicht übernommen) werden sollen.
z.B. "text", "subtitle" - Der Eintrag "replace" definiert, welche Komponenten aus dem Print Artikel in eine neue / andere Komponente des PS.C Artikels übertragen werden sollen.
z.B.: "headline" → "printHeadline" - Der Eintrag "ignore" definiert, welche Komponenten aus dem PS.C-Artikel unverändert übernommen werden sollen.
z.B.: "leader" - Der Eintrag "before" definiert, vor welcher ersten Position im PS.C-Artikel die neuen Komponenten eingefügt werden sollen. vgl. CON-3076 bzw. DNT-150
z.B.: "topline" → "headline" (Dachzeile wird vor der ersten Headline-Komponente eingefügt) - Der Eintrag "after" definiert, nach welcher letzten Position im PS.C-Artikel die neuen Komponenten eingefügt werden sollen. vgl. CON-3076 bzw. DNT-150
z.B.: "subtitle" → "text" (Zwischentitel wird nach der letzten Text-Komponente eingefügt)
z.B.: "text" → "subtitle | text" (Text wird nach der letzten Zwischentitel-Text-Kombination eingefügt)
- Der Eintrag "delete" definiert, welche Komponenten des PS.C-Artikels beim Abgleich entfernt (nicht übernommen) werden sollen.
Der Eintrag "name" muss mit dem in der Konfiguration des Logik-Servers hinterlegten übereinstimmen (hup.one.content.article.import.externalSources)
Codeblock language yml theme DJango - name: 'VL' moduleClassname: de.hup.one.content.logic.imports.article.ArticleVLImportModule parameters: # url: http://wrapperred14:8080/service/edt/article/xml url: http://localhost:8180/service/edt/article/xml exportAttrib: vlExport.articles
- Der Abgleich kann (nur für den Hauptartikel, nicht für Cluster-Komponenten) in der application.yml des UI-Servers konfiguriert werden:
ACHTUNG: Asset-Komponenten werden bei wiederhohlten Rückübermittlung aus Print ignoriert. Es wird weder das Asset noch der Bildtext abgeglichen! Auch die Position des Assets in Relation zum Grundtext geht verloren. Das wird ggfs. später korrigiert.
Textersetzungen von HUP-Print nach PS.Content
An der Importschnittstelle für HUP-Print (VL) in PS.Content können Textersetzungen definiert werden.
Dabei handelt es sich um die gleichen Ersetzungsmöglichkeiten wie in umgekehrter Richtung - siehe Tabelle Textersetzungen
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
import: external-sources: - name: 'VL' parameters: text-replacements: "<HR/>=⎵,<HFILLLINE/>=‗,<HFILL/>=↔,<TAB/>=→,<QUAD TYPE=1/>=█,<QUAD TYPE=2/>=▌,<QUAD TYPE=4/>=▎,<QUAD TYPE=3/>=▍,<QUAD TYPE=8/>=▏,<QUAD TYPE=9/>=ǁ,<WBR/>=‑,‒=–,<BR/>=┐,<BR ALIGN=END/>=┘" |
Mehrfache Print-Artikel zu einem PS.C-Artikel (publikationsspezifische Ausleitungskanäle)
In Kanal exportieren
vgl.
Ältere Jira-Version | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Ältere Jira-Version | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
Die Zuordnung der PS.C-Komponenten zu den Text- und Bildflächen im Print-System erfolgt jetzt immer entsprechend dem aktuell eingestellten Testat "Artikelmuster" (früher galt das nur für den ersten Export in einen Kanal - bei Folge-Exporten in den gleichen Kanal wurde die Zuordnung vom Zeitpunkt der Anlage des Print-Artikels genutzt und das aktuell eingestellte Testat "Artikelmuster" nicht mehr berücksichtigt).
Kanal zurückziehen
Beim Zurückziehen eines Kanals erscheint im Normalfall die Frage, ob ein bereits in diesem Kanal existierender Printartikel gelöscht werden soll. Dieses Löschen/Zurückziehen findet dann erst beim Speichern des Artikels statt. Ist der Artikel unplatziert, wird er sofort gelöscht. Bei platziertem Artikel werden nur evtl. vorhandene neuere unplatzierte Versionen gelöscht (auch mehrere) und der platzierte wird zur aktuellen Version mit der Beschreibung "KANAL GELÖSCHT!". Die Exportattribute in PS.C werden ebenso gelöscht.
...
- Über den Editor-Service kann nun auch ein Lösch-Auftrag für einen VL-Artikel ausgelöst werden.
Dabei werden alle beteiligten (Cluster-)Artikel für den entfernten Exportkanal mit Lock geladen. Sofern die Artikel nicht platziert sind, werden sie gelöscht. Andernfalls wird in der Beschreibung "KANAL GELÖSCHT!" eingetragen (der Text lässt sich über TVLRedaktion.csv - Key 71956 auch anpassen). Wird ein Artikel über den Editor-Service gelöscht, der aber noch platziert ist, wird die Beschreibung auf "KANAL GELÖSCHT!" gesetzt.
Beim erneuten Export werden bei Neuanlage des Artikels (in PS.C ist keine Artikel-UUID mehr bekannt) die Verwaltungsdaten des neuen Artikels (Name, Beschreibung = KANAL GELÖSCHT!, Publikation und Produktionsgruppe) mit dem Variantenverzeichnis der PS.C-Artikelvarianten verglichen. Kommt es zu einer Übereinstimmung, wird dieser Artikel aktualisiert und kein neuer Artikel erzeugt.Beim Löschen eines Artikels mit Versionslinie wird das Akt-Versionskennzeichen auf die vorherige Version (die höchste platzierte) "verschoben". Ist das wg. Lock-Problem nicht möglich, wird eine Benutzerbenachrichtigung an das Logon versandt und das Löschen wiederholt.
Zusammengefasster Print-Export
vgl. CON-4274
Beim Import der Contentparts aus einem PS.Content Artikel in einen VL-Artikel wird versucht, Zielflächen-weise die EFW-Texte zusammenzuführen, um Formatierungsprobleme zu vermeiden. Dabei wird abhängig vom gewünschten Absatz-Modus (und Einfüge-Modus) folgendes Schema durchlaufen:
...
- Ortsmarken müssen entspr. Absatz-attributiert werden, damit der erste Absatz ohne Einzug beginnt. Das funktioniert sowohl beim Einfügen mit Absatz-Modus NEWPARA, OPENPARAM also auch ADD.
- Beim Zusammenführen von EFW-Texten wird abh. vom vorherigen Absatzmodus nur dann ein Leerzeichen eingefügt, wenn der EFW-Text nicht mit <P>, </P> oder </PATTRIB> endet.
- Vor dem Einfügen des zusammengeführten EFW-Text in den Editor werden offene Absätze (Modus ADD bzw. OPENPARA) geschlossen.
Inline-Modus
vgl. CON-4848 und Ergänzung zu CON-4274
Für das Komponenten-Mapping von Contenpart- zu Artikelflächen kann der neue Modus inline verwendet werden.
...
- Ein Text mit dem Modus = inline wird an den vorangegangenen ggf. mit vorangestelltem Leerzeichen ohne Absatz angefügt, wenn dieser per inline-, add- oder openpara-Modus eingefügt wurde.
- Ein Text mit dem Modus = inline wird mit neuem Absatz <P> angefügt, wenn der vorangestellte Text mit closeparam eingefügt wurde.
- Ein Text mit dem Modus = inline wird an den vorangegangenen ohne Absatz angefügt, wenn dieser per newline-Modus eingefügt wurde und der einzufügenden Text keinen Style hat.
- Ein Text mit dem Modus = newline wird an den vorangegangene ohne Absatz angefügt, wenn dieser per inline-Modus eingefügt wurde.
- Ein Text mit dem Modus = openparam wird an den vorangegangenen mit Absatz eingefügt, wenn dieser per inline-Modus eingefügt wurde.
Besonderheiten:
- Eine Ortsmarke oder ein Autorenkürzel wird für eine inline-Modus-Fläche nicht eingefügt (analog zum openparam-Modus).
- Ein gestylter Text nach einem inline-Modus-Text wird immer in einem neuen Absatz eingefügt (z.B. Zwischenzeile nach einer Fett-Auszeichnung).
Asset-Download im Printsystem
vgl. CON-4991: DnD von Assets auf alternative Adresse umleiten
Im Printsystem werden Assets vom Editor-Service heruntergeladen - entweder beim Drag&Drop einer Asset-Komponente oder beim Export von Artikeln mit Assets in einen Printkanal. Die Download-URL wird im XML übergeben (Export) oder ist direkt der vom Browser gelieferte externe Link (Drag&Drop). In verschiedenen Konstellationen (M&S, MSSA, WrapperRed1) gab es Probleme beim Download über die externe URL innerhalb des Printsystems. Deshalb kann auch die interne URL zum Download benutzt werden.
- Im Printsystem wird dazu eine alternative URL konfiguriert (PSContent.ServerAddressDownloadAssetReplace), die bei Drag&Drop statt PSContent.ServerAddressDownloadAsset zum Download genutzt wird.
- Für den Export wird im yml des Editor-Service der Schalter use-internal-content-url auf 1 gesetzt. Die interne URL ist wie die externe im übergebenen Artikel-XML enthalten und wird dann genutztinline wird an den vorangegangenen ohne Absatz angefügt, wenn dieser per newline-Modus eingefügt wurde und der einzufügenden Text keinen Style hat.
- Ein Text mit dem Modus = newline wird an den vorangegangene ohne Absatz angefügt, wenn dieser per inline-Modus eingefügt wurde.
- Ein Text mit dem Modus = openparam wird an den vorangegangenen mit Absatz eingefügt, wenn dieser per inline-Modus eingefügt wurde.
Besonderheiten:
- Eine Ortsmarke oder ein Autorenkürzel wird für eine inline-Modus-Fläche nicht eingefügt (analog zum openparam-Modus).
- Ein gestylter Text nach einem inline-Modus-Text wird immer in einem neuen Absatz eingefügt (z.B. Zwischenzeile nach einer Fett-Auszeichnung).