matze
Occasional Observer

Drag & Drop im ContentCreator [DataAccessPlugin]

Jump to solution

Hallo,

ich habe für die Integration eines DAM ein DataAccessPlugin geschrieben (in Anlehnung an die Beispiel-Sourcen aus dem Techinar), dass mir den Zugriff auf die Assets im DAM über einen Report erlaubt. Ich habe weiter sowohl TransferHandling und TransferSupplying Aspects implementiert. Hier durch kann ich die Objekte aus dem Report zwar per Drag & Drop in FS_INDEX verwenden, bei der FS_REFERENCE Eingabekomponenten aber nur sehr begrenzt.

Ich habe im TransferSupplyingAspect einen SupplierHost für transferAgent.getExternalType() implementiert. Dieser erzeugt aus dem Objekt meines Reports ein Media Objekt vom Typ Picture, welches ich über EnhancedFile.create(Media media) zurück gebe. Bis hier funktioniert das auch noch wie erwartet. Allerdings wird der ebenfalls von mir implementierte und registrierte TransferHandlingAspect für ExternalType zum Speichern des Media und anreichern mit Metadaten offensichtlich nicht benutzt, stattdessen erhalte ich die Fehlermeldung, dass der übergebene MediaType von der Eingabekomponenten nicht unterstützt wird.

Ich kann nur dann per Drag & Drop Media auf FS_REFERENCE fallen lassen, wenn ich in meinem Supplier für ExternalType eine URI auf das Asset im DAM übergebe. In diesem Fall erziele ich das selbe Verhalten wie bei Drag & Drop von Bildern vom Desktop in den ContentCreator. Leider habe ich so aber keine Möglichkeit das MediaElement mit weiteren Metadaten anzureichern.

Ziel ist, per Drag & Drop Bilder aus dem DAM auf beliebige FS_REFERENCE im ContentCreator (nachrangig auch im SiteArchitect) zu ziehen und so zu ersetzen. Also quasi wie das auch im Cumulus Showcase gemacht wird. Die Assets sollen dabei in den MediaStore des FS kopiert werden.

Wie kann ich dieses Verhalten nachbauen? Wir würden nur ungern alle Vorlagen von FS_REFERENCE auf FS_INDEX umbauen, zumal die Medien zunächst sowieso in den MediaStore übertragen, und nur perspektivisch als externe Resource referenziert werden sollen.

Viele Grüße

Matze

1 Solution

Accepted Solutions
matze
Occasional Observer

Hallo Michael,

vielen Dank, genauso ist es, wenn ich IDProvider statt in EnhancedFile verpacktes Media im Supplier zurückliefere funktionierts. Allerdings nur wenn ich im ContentCreator auf den Bearbeiten Button drücke und das Asset auf die Eingabekomponente im Formular ziehe, gibt es auch die Möglichkeit den Supplier so zu bauen, dass man direkt auf ein Bild "droppen" kann, ohne erst das Formular zu öffnen? Das wäre quasi die Kür. Smiley Happy

Dublettenprüfung ist hier übrigens bereits vorgesehen.

Viele Grüße

Matze

View solution in original post

0 Kudos
4 Replies
mbergmann
Crownpeak employee

Hallo Matthias,

ich hoffe ich verstehe es richtig: Du versuchst durch Implementierung des TransferHandlings des DAP zu erreichen dass beim Drop auf eine FS_REFERENCE "etwas passiert"? Der TransferHandling-Aspekt des DAP wird nur angesprochen wenn man etwas in einen entsprechenden INDEX dropt und wird bei "fremden" EKs (=FS_REFERENCE) nicht angesprochen, die haben ihre eigenen TransferHandlings. D.h. Du musst hier dafür sorgen, dass das TransferSupplying des DAP einen zur FS_REFERENCE kompatiblen Typ zur Verfügung stellt, das müsste ein IDProvider sein (Achtung: IIRC exakt IDProvider und kein Sub-Interface). D.h. Du müsstest das Medium im TransferSupplying erzeugen.

Hier macht es übrigens ggf. Sinn noch eine Duplikatsprüfung einzubauen, z.B. durch Eintragen der DAM-ID des Objektes in den Media-Metadaten. Es würde dann zuerst per QueryAgent ein medium mit dieser ID gesucht und falls vorhanden zurückgeliefert. Ansonsten wird ein neues Medium erzeugt und die DAM-ID dort eingetragen.

Viele Grüße

Michael

matze
Occasional Observer

Hallo Michael,

vielen Dank, genauso ist es, wenn ich IDProvider statt in EnhancedFile verpacktes Media im Supplier zurückliefere funktionierts. Allerdings nur wenn ich im ContentCreator auf den Bearbeiten Button drücke und das Asset auf die Eingabekomponente im Formular ziehe, gibt es auch die Möglichkeit den Supplier so zu bauen, dass man direkt auf ein Bild "droppen" kann, ohne erst das Formular zu öffnen? Das wäre quasi die Kür. Smiley Happy

Dublettenprüfung ist hier übrigens bereits vorgesehen.

Viele Grüße

Matze

0 Kudos
mbergmann
Crownpeak employee

Hallo Matthias,

ohne es getestet zu haben: Hast Du mal "Media" als weiteren Typ versucht?

Viele Grüße

Michael

0 Kudos
matze
Occasional Observer

Hallo Michael,

das muss wohl am Demo-Projekt gelegen haben. Bin grade eben auf die neue Entwicklungsumgebung umgezogen und im dortigen Mithras Energy Projekt funktioniert dein zuerst beschriebener Rat einwandfrei. Habe daher deine erste Antwort entsprechend markiert.

Viele Grüße

Matze

0 Kudos