Pull-Workflow

Betrifft CON-4059CON-4060CON-4061CON-4628CON-4991

PS.Content

Logik

  • Beim Erzeugen des Article-Subjekts wird die Export-URL erzeugt - sie steht damit in der UI zur Verfügung
    • Die Export-URL erlaubt den Export eines Artikels (anhand ArticleId) ausprägungsspezifisch, so wie es die Exportmodule ausführen: VL, N:M, XML (Default)
    • weitere optionale Parameter der URL: Publikation und Ausgabe: speziell für VL-System und Multikanal-Export muss der passende Exportkanal ermittelt werden (wegen Kanal-spezifischer Parameter und der dyn. Exportparameter)
    • Tests über Swagger möglich: //Logic-Server/swagger-ui.html#/article-export-gateway-controller/exportArticleUsingGET
  • Bei Export entsteht ein XML mit Meta-Informationen:
    • neben dem aufbereiteten Article-XML
    • der ermittelte Kanalname
    • Anzahl Bilder
    • Anzahl Textzeichen
    • Mapping für Textersetzung
    • Rücksende-URL beim erfolgreichem Export mit den resultierenden Exportparametern
  • Empfang (Rücksendeoption) der Exportparameter:
    • Das Export-Zielsystem (aus Sicht von PS.Content) kann Exportparameter für den Kanal zurücksenden
    • Anhand der ArticleId und des Kanalnamens wird das Map aus Key-Value-Paaren verarbeitet:
      • Historie-Eintrag wird gespeichert
      • Kanalname wird am Artikel gespeichert (Event an UI gesendet)
      • dyn. Export-Parameter werden gespeichert
    • Tests über Swagger möglich: //Logic-Server/swagger-ui.html#/article-export-gateway-controller/updateArticleAfterExportUsingGET

UI

Artikel

  • In der Artikel-Historie erscheint der Eintrag "Export angefordert: Kanalname (Seite/Erscheindatum [Benutzerkürzel])", wenn die DnD-Aktion erfolgreich durchgeführt werden konnte (auch für ein Cluster bzw. Assets)
  • In der Artikel-View: Link (Büroklammer) links neben Optionsmenü
    • Der Link steht erst zur Verfügung, wenn alle Änderungen gespeichert sind
    • Tooltip mit Hinweistext, wenn Link nicht aktiv.
  • Auswertung Artikel-Export-Pointname-Event (beim Speichern des Kanalnamens nach erfolgreichem DnD-Export): Kanalname wird in Kanal-Komponente angezeigt
  • Deplatzieren des Hauptartikels: Der Kanal wird bei entsprechender Konfiguration im CMS wieder entfernt, in der Artikel-Historie erscheint der Eintrag "Export zurückgerufen: Kanalname"
    • im Gegensatz zum Zurückziehen im CMS werden die dyn. Exportattribute nicht entfernt
    • bei erneutem Pull wird nach erneutem Export gefragt - bei Verneinung wird die alte "Artikelhülle" benutzt, aber mit aktuellem Inhalt gefüllt

Bilder/Assets/Cluster

  • In der Artikel-View: Link (Büroklammer) rechts im Optionsmenü der Asset/Cluster-Komponente 
    • Der Link steht erst zur Verfügung, wenn alle Änderungen gespeichert sind
    • Tooltip mit Hinweistext, wenn Link nicht aktiv
    • Der Link enthält die Parameter zur Artikel-ID und zur Contentpart-ID, so dass im Zielsystem reagiert werden kann

Editor-Service (Spring-App)

  • "Download" der Artikel-Mappings anhand der Textlänge und eines PrintTemplates (Drop auf Seite) oder Musterkürzel (Drop auf Artikel) - siehe VL
  • Tests über Swagger möglich: //Editor-Server/swagger-ui.html#/article-import-controller/getArticleMappingsUsingGET

Print-Redaktion

VL (RedUmbruch: DnD einer PS.Content-Artikel-Export-URL)

Konfiguration: (vgl. auch CON-4991)

PSContent.ServerAddressDownloadArticle = "http://10.2.111.119:9100/gateway/articleexport/export";
# Server-Adresse fuer PS.Content-Artikel-Export - zur Identifizierung der gedroppten URL

PSContent.ServerAddressArticleMappings = "http://10.2.111.119:8090/service/edt/article/import/mappings";
# Server-Adresse fuer Editor-Service zur Ermittlung der Mapping-Parameter PS.Content <-> VL

Die gesamte Logik zum Herunterladen, Erstellen, Aktualisieren und Rücktransfer der Exportparameter finden in ModuleEfwDataBO.dll statt - wie bisher auch für die VL-Ausleitung über den Editor-Service. Die Dll wird dynamisch im RedUmbruch nachgeladen.

Eine Protokollierung steht im VL-Temp-Verzeichnis zur Verfügung: ModuleEfwDataBOLog.log

Durchführung

Ausgangspunkt: Drop auf eine geöffnete Seite

A. auf einen bestehenden Artikel (CON-4060)

  • Wenn der Artikel nicht leer ist (Testat "Erfasst" ist gesetzt), erscheint eine Abfrage, ob der Inhalt ersetzt werden soll.
  • Beim Drop wird das XML über die Export-Url (siehe oben) heruntergeladen, dabei wird Publikation und Produktionsgruppe aus VL in der URL mit übertragen (siehe PS.C Logik).
  • Das eingebettete Artikel-XML wird vorausgewertet: Gibt es für den ermittelten Exportkanal bereits dyn. Exportattribute für das VL-System, schlägt der Import fehl (Fehlerdialog).
    • Außerdem: Ermittlung des ArticleTemplate (dyn. Attribut) für die Ermittlung des Inhaltsmappings
  • Das Artikel-Mapping wird mit der URL (siehe oben) heruntergeladen, dabei geht die ermittelte Textlänge ein sowie das Musterkürzel des Zielartikels ein.
  • Mithilfe des Mappings, des Artikel-Xml und den Artikel-Verwaltungsdaten wird der Zielartikel mit dem PS.Content-Inhalt aktualisiert.

B. auf einen leeren Bereich (CON-4061)

  • wie bei A.
    • Aber ohne Artikel-ist-leer-Prüfung.
    • Für das Artikel-Mapping geht kein Musterkürzel, sondern das ArticleTemplate (dyn.Attribut) ein.
    • Ein neuer Artikel wird erstellt.

Bei Erfolg in beiden Fällen wird über die Rücksende-URL mit Angabe der PS.Content ArticleId und des Kanalnamens das Parameter-Map an PS.Content übermittelt (siehe Logik PS.Content).

VL (DnD einer PS.Content-Artikel-Asset-Export-URL) 

Konfiguration:

PSContent.ServerAddressDownloadAsset = "http://10.222.31.29:8070/service/asset/download";
# Server-Adresse fuer PS.Content-Asset-Export - zur Identifizierung der gedroppten Asset-URL

PSContent.ServerAddressDownloadAssetReplace = "http://10.222.31.29:9100/service/asset/download";
# Server-Adresse fuer PS.Content-Asset-Export (ohne Authentifizierung) - zur Identifizierung der gedroppten Asset-URL

PSContent.ServerAddressDownloadArticle = "http://10.222.31.29:9100/gateway/articleexport/export";
# Server-Adresse fuer PS.Content-Artikel-Export

Die gesamte Logik zum Herunterladen, Erstellen, Aktualisieren und Rücktransfer der Exportparameter finden in ModuleEfwDataBO.dll statt. Die Dll wird dynamisch im RedUmbruch nachgeladen.

Eine Protokollierung steht im VL-Temp-Verzeichnis zur Verfügung: ModuleEfwDataBOLog.log

Durchführung (CON-4628)

A. Drop auf eine Seite

  • Es wird erkannt, dass es sich um ein Asset-Download aus PS.C handelt und eine Article- sowie eine ContentPart-Id mitgeliefert werden.
  • Es erscheint der Anmeldedialog mit den Artikelverwaltungsdaten.
  • Über die Server-Adresse zum Download von PS.C-Artikeln wird der entsprechende Artikel bzw. Cluster-Artikel heruntergeladen.
    • Es werden die Verwaltungsdaten der Seite betrachtet (Publikation und Produktionsgruppe/Ausgabe), über die der entsprechende Exportkanal in PS.Content bestimmt wird.
    • Anhand des Kanals wird bestimmt, ob nur gesamte PS.C Artikel oder nur ein Teil (Cluster) heruntergeladen werden soll.
  • Aus dem heruntergeladenen PS.C Artikel-XML werden der Asset-Download-Link und die Asset-Text übernommen - angepasst und bereinigt mit den Textersetzungen aus PS.C - und in den neuen Bildartikel übernommen.
    Die Zielflächen werden aus den Stammdaten bestimmt (Ein Mapping wird nicht vom Editor-Service angefordert).

  • Handelt es sich um einen Cluster-Export der noch keinem VL-Artikel zugeordnet ist, wird an PS.C das entsprechende Export-Attribut zurückgemeldet.
    Damit wird bei einem Export aus PS.C der bereits exportierte Bildartikel zum Cluster-Artikel berücksichtigt.

B. Drop auf einen Artikel auf einer Seite

  • Es wird erkannt, dass es sich um ein Asset-Download aus PS.C handelt und eine Article- sowie eine ContentPart-Id mitgeliefert werden.
  • Über die Server-Adresse zum Download von PS.C-Artikeln wird der entsprechende Artikel bzw. Cluster-Artikel heruntergeladen.
  • Aus dem heruntergeladenen PS.C Artikel-XML werden der Asset-Download-Link und die Asset-Text übernommen - angepasst und bereinigt mit den Textersetzungen aus PS.C - und in den bestehenden (Bild-)Artikel übernommen. 
    Die Zielbildfläche wird anhand der Drop-Position bestimmt und über diese die Textfläche. Ist die ermittelte Textfläche leer, wird der Bildtext eingefügt.
  • Die Rückmeldung der Exportdaten an PS.C erfolgt analog A.

C. Drop in offenen Editor auf Seite

  • Analog zu B.

D. Drop in Artikelbearbeitung (Arbeitsfläche)

  • Analog zu A.

E. Drop in offenen Editor der Artikelbearbeitung

  • Analog zu C.