Inhaltsverzeichnis
...
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 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.
...
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:
...
- 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"
...
- 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 Arikel 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. - 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
- 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
- Konfiguration der Konfigschalter ".parameters:standAloneArticleFromAsset: clusterHeadPicture" gesetzt, werden alle Bild-Assets als Bildartikel mit dem Template clusterHeadPicture ausgeleitet.
- 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
Es gibt dann KEINE im Print-Artikel eingebetteten Bilder mehr.
- 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
...
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.).
...
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:
...
- 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:
...
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.
...