Versionen im Vergleich

Schlüssel

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

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.

...

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

...

Textersetzungen von PS.Content nach HUP-Print
Anker
Textreplacement
Textreplacement

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 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
Ř<ACC TYPE=caron>RR 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
        languageyml
        themeDJango
                  -
                    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 "name" muss mit dem in der Konfiguration des Logik-Servers hinterlegten übereinstimmen (hup.one.content.article.import.externalSources)

        Codeblock
        languageyml
        themeDJango
                  -
                    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


...

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.

...