Zuordnung von Komponenten aus PS.C zu Flächen im Printsystem, Wahl von Musterartikeln, prinzipielle Kommunikation
...
- Die Konfiguration erfolgt in der application.yml des Editor-Services (EDT-SVC).
- Ausgehend von folgenden Parametern wird ein Musterartikel ("template") gewählt:
- printTemplate: (optional) Testat "Artikelmuster" oder Name der Cluster-Komponente
- chars: (1-n) Grundtextmenge (Zeichenanzahl)
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 printTemplate: comment template: Kommentar_2sp - chars: 500 template: 1-18-mit Bild - chars: 500 printTemplate: comment template: Kommentar_1sp - printTemplate: 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") 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 angegeben, wird der Text mit dieser "Weichen Auszeichnung" eingefügt.
- Als Einfügemodus 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.)
- 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 gffs. 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
dann - nicht zwingend alle weiteren von der Bild-Komponente referenzierten Flächen wie Text und Quelle enthalten.
Ist - 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.
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 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: text item: text destination: Text mode: newline - 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 - destination: Bild1$Text mode: add - component: picture item: assetID destination: Bild1$Bild mode: replace - |
Spezialfall Aufzählungskomponenten
- Für eine Aufzählungskomponente (Enumeration) seht folgendes Mapping zur Verfügung:
Codeblock | ||||
---|---|---|---|---|
| ||||
mappings:
-
template: [Musterartikel-Namen]
parameters:
-
component: enumeration
item: [normal | numbered | alphabetic]
destination: [Zielfäche des Artikels]
mode: [add | replace | newline | openpara]
style: [Optional. Auszeichnungsnamen]
efw-parameters:
start: [Optional. EFW-Text am Anfang des einzufügenden Textes]
after-number: [Optional. EFW-Text nach einer Nummerierung - nur bei numbered]
end: [Optional. EFW-Text am Ende des einzufügenden Textes] |
- Die EFW-Parameter für das Einfügen von Textbestandteilen am jeweiligen Textanfang und Textende stehen allen Mappings zur Verfügung. Damit lassen sich für (Grund)-Texte, Überschriften und Bildtexte zusätzliche Textteile "einmischen".
- Für das Mapping der Enumeration-Komponente stehen drei verschiedene Typen zur Verfügung (vgl. Mapping-Parameter "item"):
- Normal: Die aufgezählten Texte werden in der angegebenen Reihenfolge eingefügt.
- Numbered (nummeriert): Die aufgezählten Texte werden in der angegebenen Reihenfolge mit einer Nummerierung am Anfang eingefügt.
- Alphabetic (alphabetisch): Die aufgezählten Texte werden in sortierter Reihenfolge ausgegeben.
- Ein "Rückwarts-Mapping" von VL nach PS.Content ist nicht vorhanden.
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
mappings:
-
parameters:
-
component: enumeration
item: numbered
destination: Text
mode: newline
style: ABS_ERGEBNISSE
efw-parameters:
start: "<TAB/>0"
after-number: ".<TAB/>"
end: "..."
-
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
...
- Wird der PS.C Artikel aus HUP Print heraus neu angelegt, wird initial ein Abgleich ausgeführt.
- Ist der Artikel bereits vorhanden, muss der Abgleich durch Anklicken des Eintrags "Externe Änderungen importieren" ausgelöst werden.
Über den EDT-SVC wird aus dem Print-Arikel (und seinen Teilartikeln) ein temporärer PS.C Artikel erstellt.
- Dieser Artikel wird durch umgekehrtes Auswerten der "PS.C nach HUP Print" Konfiguration des EDT-SVC erstellt. (vgl. oben)
- Es werden alle nicht schlafenden Print-Flächen ausgewertet und in entsprechende Komponenten übersetzt.
- 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
- 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
- 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 "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:
...