Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Inhaltsverzeichnis

...

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
  • Entziehen des Kanals am PS.C-Artikel beim Deplatzieren im Printsystem + in den Papierkorb stellen
  • 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

...

  • 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
    1.  Ist eine Publikation bekannt, werden alle templatesgesucht, die passend zu publication und print-template sind
    2. Bei Treffermenge = 0: Ist eine Publikation bekannt, werden alle templates gesucht, die passend zu publication sind und KEIN print-template haben
    3. Bei Treffermenge = 0: Es werden alle templates gesucht, die passend zu print-template sind und KEINE publication haben
    4. 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
languageyml
themeDJango
titleBeispiel
collapsetrue
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.
      • EFW-Parameter (optional):
        • "start" - EFW-Text am Anfang des einzufügenden Textes - z.B. "-&#32;"
        • "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


Codeblock
languageyml
themeDJango
titleBeispiel
collapsetrue
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: 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
  - 

...