Versionen im Vergleich

Schlüssel

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

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
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
   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
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
  -
	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
languageyml
themeDJango
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"):
  1. Normal: Die aufgezählten Texte werden in der angegebenen Reihenfolge eingefügt.
  2. Numbered (nummeriert): Die aufgezählten Texte werden in der angegebenen Reihenfolge mit einer Nummerierung am Anfang eingefügt.
  3. Alphabetic (alphabetisch): Die aufgezählten Texte werden in sortierter Reihenfolge ausgegeben.
  • Ein "Rückwarts-Mapping" von VL nach PS.Content ist nicht vorhanden.

Codeblock
languageyml
themeDJango
titleBeispiel
collapsetrue
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: "&#183;<QUAD TYPE=4/>"
  -
    component: enumeration
	item: alphabetic
    destination: Text
    mode: newline
    style: ABS_ERGEBNISSE
    efw-parameters:
      start: "&#8226;<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
        languageyml
        themeDJango
                  -
                    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
        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


...