Questions & Answers

SOLVED
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

Type a product name