Versionen im Vergleich

Schlüssel

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

Inhaltsverzeichnis

...

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

...

  • Ist der Artikel bereits vorhanden, muss der Abgleich durch Anklicken des Eintrags "Externe Änderungen importieren" ausgelöst werden.
  • Wird der PS.C Artikel aus HUP Print heraus neu angelegt, wird initial ein Abgleich ausgeführt.
  • Über den EDT-SVC wird aus dem Print-Artikel (und seinen Teilartikeln) ein temporärer PS.C Artikel erstellt. Dies geschieht schon auf VL-Seite in ModuleEfwDataBO.dll.
    • Dieser Artikel wird durch umgekehrtes Auswerten der "PS.C nach HUP Print" Konfiguration des EDT-SVC erstellt . (vgl. oben). Der ggf. beim ursprünglichen Export des Artikels nach Print verwendete Musterartikel wird mit übergeben, um den richtigen "Abschnitt" des Mappings zu finden.
    • Es werden alle nicht schlafenden Print-Flächen ausgewertet und in entsprechende Komponenten übersetzt.
    • ist in der Konfiguration Beim "ReverseMapping" wird nach einem Eintrag gesucht, dessen "destination" der gerade behandelten Editor-Fläche entspricht und der auch den gleichen "style" hat (bei Text-Abschnitten ohne weiche Auszeichnung nach einem Eintrag ohne "style").
    • ist in der Konfiguration des EDT-SVC ein Eintrag mit "reverse-default: true" gekennzeichnet, wird momentan sämtlicher Text der Fläche der entsprechende Text bevorzugt als diese Komponente rückübersetzt (auch ohne Berücksichtigung des "style" vgl.
      Ältere Jira-Version
      serverSystem Jira
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverId9e1d8ee1-e644-33f7-bad0-2d7ba828cfcb
      keyCONS-195
      ), sonst wird bei Mehrdeutigkeit in der Rückübersetzung immer die erste passende Komponente verwendet
    • 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 erzeugtfür den Fall, dass es mehrere Mappings gibt, die auf die gleiche Kombination destination/style führen) - sonst wird bei Mehrdeutigkeit in der Rückübersetzung immer die erste passende Komponente verwendet.
    • Kann keine Zielkomponente ermittelt werden, wird der Text nicht übernommen (oder doch als text/text???).
    • individuelle Ausnahmen zum globalen "ignore-em-classes" für die Rückübernahme lassen sich mit einem Trick festlegen: Der nicht zu übernehmende Text bekommt im Mapping eine mit "reverse-default: true" gekennzeichnete "Dummy"-Komponente (die in der UI nicht existiert) und landet damit nicht im PS.C-Artikel.
  • 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


...