marcfr
Elite Observer

Upload Hook: Bestehendes Medium updaten

Jump to solution

Hallo,

wir sind gerade dabei einen Upload-Hook zu implementieren. Dabei soll geprüft werden, ob im aktuellen Verzeichnis bereits eine Datei mit demselben Dateinamen existiert. Falls ja, so soll das bereits in der Medienverwaltung liegende Medium aktualisiert werden:

uploadhook-1.PNG

Das Überschreiben klappt soweit auch, allerdings sollte dann das durch den User hochgeladene Medium nach Abschluss der Aktualisierung wieder gelöscht werden:

Durch das Werfen einer  UploadRejectedException klappt das zwar, sieht aber für den User natürlich sehr unschön aus.

Ich hatte stattdessen versucht das Medium in der postProcess-Methode zu löschen, dann tritt aber eine "java.lang.IllegalStateException: node 'visual_home_slider_5' (ID=9109016) not locked" Exception auf, obwohl das Medium explizit gelockt worden ist.

=> Frage: Geht das wirklich nur durch Werfen einer UploadRejectedException ? Oder geht es auch irgendwie schöner?

Viele Grüße,

Marc

0 Kudos
1 Solution

Accepted Solutions

Hallo Marc,

wenn ich den Code der delete Methode richtig verstehe, dann werden alle Locks des gelöschten Elementes in dieser Operation aufgehoben.

Die IllegalStateException fliegt laut Screenshot nicht in deinem Code. Ich vermute nach der Ausführung der postProcess Methode wird auf dem Bild noch etwas gemacht, wodurch der Fehler erzeugt wird.

Kannst du die Logik vielleicht umdrehen und das alte Medium löschen, anstatt das gerade hochgeladene?

Viele Grüße

Tim

View solution in original post

0 Kudos
4 Replies
mikula
Crownpeak employee

Die Exception zu werfen finde auch alles andere als Elegant. Jetzt gerade fällt mir keine schönere Lösung ein -> das heißt nicht dass es sie nicht gibt, sondern dass ich zu faul bin zu suchen Smiley Wink

Dass die Items nicht gelockt sind sollte eigentlich nicht passieren....  Aber eine Ferndiagnose ohne Quellcode gestaltet sich schwierig.... Smiley Happy
Wie wär's mit ein paar Zeilen code für die Community?

Viele Grüße

Martin

0 Kudos

Der Code sieht im Prinzip dann wie folgt aus:

uploadhook-delete.PNG

Dies führt dann zu folgender Fehlermeldung:

uploadhook-0.PNG

Wenn ich den Code für das Löschen des Medium auskommentiere, dann wird keine Exception geworfen, aber das Medium verbleibt dann natürlich in der Medienverwaltung.

Durch das Werfen der UploadRejectedException wird das Medium dann wie gewünscht entfernt, sieht aber für den User unschön aus:

uploadhook-2.PNG

0 Kudos

Hallo Marc,

wenn ich den Code der delete Methode richtig verstehe, dann werden alle Locks des gelöschten Elementes in dieser Operation aufgehoben.

Die IllegalStateException fliegt laut Screenshot nicht in deinem Code. Ich vermute nach der Ausführung der postProcess Methode wird auf dem Bild noch etwas gemacht, wodurch der Fehler erzeugt wird.

Kannst du die Logik vielleicht umdrehen und das alte Medium löschen, anstatt das gerade hochgeladene?

Viele Grüße

Tim

0 Kudos
mikula
Crownpeak employee

Hallo Marc,

benötigst Du noch weitere Hilfe oder hat Dir die Antwort von Tim bereits geholfen?

In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.

Viele Grüße

Martin

0 Kudos