Questions & Answers

frank_baus
New Creator

Remote Media Project automatische Freigabe

Hi, wir sind gerade dabei eine Anforderung umzusetzen, bei der alle Median im Remote Media Project automatisch freigegeben werden sollen. Der MediaMaster fรผhrt alle 15 Minuten ein DeltaDeployment aus, Bilder werden ausserdem mit SmartResolutions zurechtgeschnitten.

Unser erster Ansatz war es, einen Upload Hook zu nutzen, was lokal auch gut funktioniert hat. Im Produktivbetrieb fรผhrt das aber zu Problemen und Fehlern, wie folgendem:

230896_pastedImage_2.png

Meine Vermutung ist, dass der Upload Hook versucht, das Bild zu locken und freizugeben, wรคhrend SmartResolutions noch Auflรถsungen berechnet. Je nach Serverlast, kann die Asynchronitรคt Probleme mit dem Hook machen.Dort einen Thread aufmachen und auf die Fertigstellung von SmartResolutions zu warten, fรผhrte leider zu keinem Erfolg. Auch ist mir kein Weg bekannt, wie SmartResolutions einem mitteilt, das es fertig ist.

Ein anderer Weg war ein Serverscript, dass den Root periodisch freigibt. Dort kommt es dann aber zu Problemen, wenn Nutzer an Medien noch arbeiten. Auch das Generieren des Vorschau Standes fรผhrte zu Problemen mit dem Delta Deployment.

WeiรŸ irgendwer noch einen anderen Weg? Der Upload Hook scheint mir eigentlich am geeignetsten, macht aber viele Probleme mit SmartResolutions.

GrรผรŸe,

Frank Baus

0 Kudos
5 Replies
felix_reinhold
Returning Responder

Hallo Frank,

ich bin bei sowas eigtl. immer ein Fan davon, die eigentliche Logik auf dem Server auszufรผhren (ein Client stรผrzt eher mal ab, verliert die Verbindung oder รคhnliches).

Ich wรผrde also entweder eine Serveraktion wie von dir beschrieben nutzen oder einen Service implementieren, der vom UploadHook angesprochen wird und das Warten auf SmartResolutions รผbernimmt.

Serveraktion: Den Punkt "Dort kommt es dann aber zu Problemen, wenn Nutzer an Medien noch arbeiten." wรผrde ich letztendlich einfach abfangen, da solche Medien ja schlieรŸlich dann auch nicht freigegeben werden sollten. Wie fรผhrst du die Freigabe denn durch? Einfach auf dem root .release(true)? Um einen Fehler sauber abzufangen mรผsstest du dir erst alle nicht freigegebenen Kinder suchen und diese einzeln freigeben. Damit dies performant lรคuft solltest du mal den QueryAgent anschauen und darรผber einfach alle nicht freigegebenen Medien suchen. Mit dem Log der Serveraktion hast du dann auch einen automatischen Report, ob etwas schiefgelaufen ist - anders als bei einer clientseitigen Aktion, bei der der Redakteur erst informieren muss.

Service: Wenn ich dich richtig verstehe habt ihr das ja schon gemacht, aber weiterhin das gleiche Problem ("Dort einen Thread aufmachen und auf die Fertigstellung von SmartResolutions zu warten, fรผhrte leider zu keinem Erfolg."). Hier wรคre dann natรผrlich die Frage, wie genau euer Code aussah bzw. wie Ihr auf das Ende der der Berechnung gewartet habt. Im Zweifelsfall kรถnntet Ihr ja bspw. noch einen Observer starten, der wartet bis das Medium nicht mehr auf dem Server gelocked ist, um es dann freizugeben.

Beste GrรผรŸe

Felix

0 Kudos

Hallo Felix, danke schonmal fรผr die Antwort.

Serveraktion: Ja im ersten Versuch hatte ich nur ein Release auf dem Root knoten gemacht. Ich werde mir mal noch das mit dem QueryAgent anschauen, das klingt vielversprechend.

Service: Da habe ich jetzt auch keinen genauen Code mehr, da der Kollege das schnell aufgegeben hat. Das mit dem Observer klingt an fรผr sich schon ganz gut.

Zentrale Frage ist leider immer noch, wann man eigentlich weiss, ob SmartResolutions denn fertig ist. Als Alternative kรถnnte man vielleicht noch schauen ob alle Auflรถsungen gerendert wurden, da bin ich mir aber nicht so sicher. Ein manuelles AnstoรŸen von SmartResolutions wรคre optimal, da gibt die Doku allerdings wenig her.

0 Kudos

Zu SmartResolutions kann ich leider nichts sagen, da ich sowas immer mit eigenen Modulen gemacht habe. Aber es macht sicher Sinn einfach mal die Jungs und Mรคdels von Arithnea anzuschreiben. Die kรถnnen dir sicher sagen, ob sie sowas im Modul vorgesehen haben bzw. wie andere Kunden damit umgehen.

0 Kudos
Nitros
I'm new here

Ohne mich zu tief mit Remote Media Projekten oder SmartResolutions auszukennen, stelle ich mir hier die folgenden Fragen:

  • Wann wird die automatische Freigabe angestoรŸen?
  • Warum laufen SmartResolutions und UploadHook parallel?

Je nach Antwort auf die ersten Frage kรถnnte man entweder die Freigabe gar nicht nutzen, d.h. alles ist immer freigegeben, oder zusammen mit dem "Trigger" durchfรผhren. Leider kommt fรผr mich aus der Problembeschreibung nicht hervor, welches Redaktionsprozess damit erreicht werden soll.

Die Antwort der zweiten Frage ist insofern interessant, dass SmartResolutions eventuell auch nur ein UploadHook ist. Gegebenenfalls kann man SmartResolutions auch im eigenen UploadHook aufrufen. Dann hat man auch keine zwei Threads, die sich in die Quere kommen.

Am Ende solle SmartResolutions auch nur ein JAR-Archiv + module.xml verpackt in einem FSM sein. Das wรผrde ich versuchen mit dem eigenen Module zusammen zu bringen. Mรผsste man beim Hersteller mal nachfragen, ob dies geht.

0 Kudos

Hallo Jens, wir wollten die automatische Freigabe mit dem Upload Hook anstoรŸen. Soweit ich das sehen konnte aus meinen Analysen, startet der Upload Hook, nach dem direkten Upload und nicht nachdem SmartResolutions fertig ist. Freigabe gar nicht nutzen ist leider keine Option, da diese benรถtigt wird fรผr das Delta Deployment. Es sind fast 100GB an Medien, das Generate wรผrde etwas dauern. Im Moment testen wir die Option mit dem Query Agent, der alle 2 Minuten nicht freigegebene Inhalte freigibt. Das scheint im ersten Moment ganz gut funktionieren, hoffentlich bleibt es dabei. Danke auf jeden fall fรผr eure Antworten! GrรผรŸe, Frank

0 Kudos

Type a product name