Betrifft CON-4059, CON-4060, CON-4061, CON-4628, CON-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", wenn die DnD-Aktion erfolgreich durchgeführt werden konnte
- 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
Bilder/Assets
- In der Artikel-View: Link (Büroklammer) rechts im Optionsmenü der Asset-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.
- Es werden die Verwaltungsdaten der Seite betrachtet (Publikation und Produktionsgruppe/Ausgabe), über die der entsprechende Exportkanal in PS.Content bestimmt wird.
- 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.
Ein Mapping von Contentparts zu Editorflächen wird beim Asset-Pull-Workflow (im Gegensatz zum Artikel-Pull) nicht berücksichtigt.