Versionen im Vergleich

Schlüssel

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

Inhaltsverzeichnis

...

  • 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 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.
    • 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.
Codeblock
languagexml
themeDJango
titleEFW-Block für Ortsmarke/Autorenkürzel
collapsetrue
<HTML>
  <HEAD>
    <STYLE VER=6>
<!-- Styles für Ortsmarke; "Flächenname" entspr. Zielfläche -->
{4057004 | EM.*[Flächenname]*Ortsmarke{250060: 278070;}}
<!-- Styles für Autorenkürzel -->
{4057023 | EM.*[Flächenname]*Autor{}}</STYLE>
  </HEAD>
  <BODY>
    <DIV CLASS=__Z96_Clipboard__>
<!-- Zusammensetzung der Ortsmarke; Trennung zw. mehreren Orten; Trennzeichen Ende Ortsmarke -->
{4057005 | <EM CLASS=*[Flächenname]*Ortsmarke>}Ort1{4057012 | /}Ort2{4057010 | . </EM>}{4057006 | &#32;}
<!-- Zusammensetzung des Autorenkürzels -->
{4057024 | <EM CLASS=*[Flächenname]*Autor>}{4057025 |  (}Autorenkürzel{4057026 | )&#32;</EM>}
<!-- Trennzeichen nach Spitzmarke; nur bei vorhandener Ortsmarke
{4057024}
    </DIV>
  </BODY>
</HTML>


Codeblock
languageyml
themeDJango
titleBeispiel aus der Editorservice YML
collapsetrue
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"


            - 
              template: PS_Umfrage
              #  Ortsmarke/Autorenkürzel: Zielfläche für Musterartikel "PS_Umfrage" bzw. Kombination des Komponenten-Mappings
              insert-geo-location:
              parameters:
              -
                ...

...

  • 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") 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ü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)
      • 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 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"


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: 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
  - 

...

Folgende Zeichen können definiert und ersetzt werden:

PS.C ZeichenErsetzungszeichenHUP-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 (&#160;)

SPACE
Leerzeichen (&#32;)
[Zeichen]
<MASK_Uxxxx>
Zeichenersetzung zu einem Unicodezeichen xxxx (Hex-Schreibweise), welches erst im fertigen EFW-Zwischenablageformat umgewandelt wird

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:

« oder »\"Französische in Editor-spezifische Anführungszeichen umwandeln
„ oder “\"Typographische in Editor-spezifische Anführungszeichen umwandeln

Alles, was in PS.C nach Anführungszeichen aussieht (ordinär oder typographisch, einfach oder doppelt), wird im Editorservice hart codiert (!) in die konfigurierten Zeichen umgewandelt (4057.sdv). Damit stimmt auch die Tief- und Hoch-Variante, selbst wenn sie in PS.C falsch wäre.

...

Dabei handelt es sich um die gleichen Ersetzungsmöglichkeiten wie in umgekehrter Richtung - siehe Tabelle Textersetzungen

Codeblock
languageyml
themeDJango
titleBeispiel für Textersetzung von Print nach PS.Content
collapsetrue
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/>=┘"

...

b) Artikel im Printsystem angelegt

 


Im Fall a) wird jeder neue Kanal entsprechend dem gewählten Testat "Artikelmuster" aus dem zugeordneten Musterartikel neu erzeugt.

Im Fall b) bildet der existierende Print-Artikel die Grundlage bei jedem für die einzelnen Exportkanäle neu angelegten Artikel. Der initiale Print-Artikel gilt beim Export dann als der erste konfigurierte Kanal (im Münchner Fall "WOBL"). Hier ist eine Verfeinerung des Algorithmus denkbar (Kanal je nach Publikation des initialen Print-Artikels) - wegen der bevorstehenden Änderungen im Export-Prozedere (Export pro Ausgabe statt pro Publikation) wird das aber momentan nicht forciert. 


Für beide Fälle gemeinsam gilt: Wurde in einen Kanal bereits exportiert, wird für weitere Exporte immer der existierende Artikel als Grundlage herangezogen. Ist dieser Artikel unplatziert, wird er direkt geändert. Für platzierte Artikel wird eine neue Version angelegt, die dann auf der Seite entweder übernommen („Aktuelle Version platzieren“) oder verworfen werden muss („Platzierte Version behalten“). Für das Erscheinungsbild des „erneuerten“ Artikels spielt es keine Rolle, ob er auf einer Seite platziert ist oder nicht.

...