dbachran
I'm new here

Java Exception bei Freigabe von Medien?

Jump to solution

Hallo allerseits,

einer unserer Chefredakteure beklagt sich seit einigen Wochen über folgendes seltsame Verhalten bei der Freigabe von Medien:

  • Ein Redakteur fordert die Freigabe einer Datei in der Medien-Verwaltung an
  • Der Chefredakteur prüft diese Anforderung und will freigeben, erhält aber eine Fehlermeldung (siehe Exception unten)

Folgender Workaround wird in diesen Fällen seitens des Chefredakteurs angewendet:

  • Er sucht das entsprechende Dokument in der Medien-Verwaltung
  • Er fordert selbst eine Freigabe an
  • Er kann dann diese Freigabe tatsächlich erteilen

ClientVersion: 4.2.206.37300

JavaVersion: 1.6.0_12 Sun Microsystems Inc.

FSVersion=4.2.206.37300#1940;JDK=1.6.0_1232bit Sun Microsystems Inc.;OS=Windows XP 5.1 x86;Date=18.05.2011 14:12:19

de.espirit.firstspirit.access.AccessRuntimeException:StoreElement release error - de.espirit.firstspirit.server.storemanagement.ReleaseFailedException: could not lock element '<Dateiname>' (ID=61305) - currently locked by 'null'

            atde.espirit.firstspirit.server.taskmanagement.TaskImpl.doTransition(TaskImpl.java:1213)

            atde.espirit.firstspirit.server.taskmanagement.TaskImpl.doTransition(TaskImpl.java:1011)

            atde.espirit.firstspirit.client.action.WorkflowAction.doTransition(WorkflowAction.java:332)

            atde.espirit.firstspirit.client.action.WorkflowAction.doTransition(WorkflowAction.java:221)

            atde.espirit.firstspirit.client.gui.workflow.TasksView.actionPerformed(TasksView.java:290)

[...]

Aufgrund der Fehlermeldung oben klingt es so, als ob dieses Element fälschlicherweise(?) seitens FirstSpirit noch als gelockt betrachtet wird. Fälschlicherweise deshalb, weil "null" seltsam klingt...

Derzeit liegt mir leider keine Information vor, ob in diesen Fällen der FirstSpirit Redaktionsclient bei der Suche nach "Objekten in Bearbeitung" irgendwelche Ergebnisse liefert.

Auch eine Suche hier war nicht erfolgreich. Deswegen diese neue Anfrage.

Vielen Dank im Voraus,

Daniel Bachran

0 Kudos
1 Solution

Accepted Solutions
gockel
Crownpeak employee

Da es sich um den Standard-Arbeitsablauf handelt wird in diesem auch die Standard-Freigabe verwendet, die auch über die API aufgerufen werden kann. Dies bedeutet für Medien, dass nicht nur dass Medium selbst freigegeben wird, sondern auch alle Ordner der Vaterkett, die noch niemals freigegeben wurden, um die Erreichbarkeit sicherzustellen.

Da sie bisher noch nicht geschrieben haben, dass das Objekt mit (ID=61305) das Medium selbst ist, könnte es also auch ein Ordner auf der Vaterkette sein, für den ein Schreibschutz gesetzt ist.

View solution in original post

0 Kudos
9 Replies
gockel
Crownpeak employee

Hallo Daniel,

ich vermute, dass sich das Objekt  (ID=61305)in einem Arbeitsablauf befindet, der einen Schreibschutz setzt.

wf_lock.png

Die Fehlermeldung ist diesbezüglich zugegebenermaßen nicht nur verwirrend sondern auch falsch.

Die Verbesserung der Fehlermeldung wird bei uns unter der ID#101466 bearbeitet.

Gruss

Hi Sebastian,

ich habe jetzt mal die Möglichkeit gehabt, dieses Thema hier weiter zu verfolgen. Es sieht derzeit wie folgt aus:

  • Der zugehörige Arbeitsablauf "Freigabe anfordern" entspricht offenbar dem mitgelieferten Standardablauf (siehe Grafik unten)
    • Im Zustand "Freigabe angefordert" wird ein Schreibschutz auf das Objekt gesetzt
    • In den beiden weiteren Zuständen ist kein Schreibschutz ausgewiesen
    • Die Transition "prüfen" hat folgende Rechtedefinition: "Aus dem Objekt über: Freigabe"
  • Dieser Arbeitsablauf wurde seit 1,5 Jahren nicht verändert
    • Die gemeldeten Probleme treten allerdings erst seit ca. 2 Monaten auf
  • Die gemeldeten Probleme in der Aktivität "Freigabe prüfen" treten nur bei Freigabeanforderungen von Medien eines Redakteurs auf
    • Alle Freigabeanforderungen von Struktur-/Inhalteänderungen dieses Redakteurs funktionieren fehlerfrei
    • Alle Medien-Freigabeanforderungen von anderen Redakteuren funktionieren fehlerfrei
  • Die Abläufe seitens des Redakteurs und Chefredakteurs entsprechen dem üblichen Vorgehen (ich habe also nichts Außergewöhnliches in der Bedienung feststellen können)

Arbeitsablauf:

Arbeitsablauf_Freigabe-anfordern.jpg

Infos und weitere Hinweise sind herzlich Willkommen!

Vielen Dank,

Daniel Smiley Happy

0 Kudos
gockel
Crownpeak employee

Da es sich um den Standard-Arbeitsablauf handelt wird in diesem auch die Standard-Freigabe verwendet, die auch über die API aufgerufen werden kann. Dies bedeutet für Medien, dass nicht nur dass Medium selbst freigegeben wird, sondern auch alle Ordner der Vaterkett, die noch niemals freigegeben wurden, um die Erreichbarkeit sicherzustellen.

Da sie bisher noch nicht geschrieben haben, dass das Objekt mit (ID=61305) das Medium selbst ist, könnte es also auch ein Ordner auf der Vaterkette sein, für den ein Schreibschutz gesetzt ist.

0 Kudos

Hallo Sebastian,

wir haben das hier jetzt mal nachstellen können und es stellt sich tatsächlich so dar, dass bei neu hinzugefügten Medien dieser Redakteur zufällig immer zunächst die Freigabe für das Dokument und erst danach für den übergeordneten Ordner angefordert hat. Und der Chefredakteur hat die Freigabeanforderungen einfach in der eingestellten Reihenfolge bearbeitet.

Vielen herzlichen Dank für die Hilfe!

Jetzt müssen wir uns nur noch beizeiten Gedanken machen, inwiefern hier etwas mehr Logik in der Freigabe (oder auch eine rekursive Freigabe für Medien) möglich ist...

Vielen Dank nochmal,

Daniel Bachran

0 Kudos
gockel
Crownpeak employee

Noch mal zur Klarstellung. Für den von Ihnen geschilderten Anwendungsfall: "Freigabe eines neu angelegten Mediums" ist die Freigabe des Ordners überhaupt gar nicht erforderlich, denn

1) wenn der Ordner noch nie freigegeben wurde, wird er durch die Standardfreigabe des Mediums automatisch mit freigegeben (siehe meine Ausführungen Java Exception bei Freigabe von Medien?)

2) wenn der Ordner schon mal freigegeben war, muss er nicht erneut freigegeben werden. Nach Freigabe des Mediums ist dieses auch ohne die erneute Freigabe des Ordners im Freigabstand erreichbar.

Es würde also reichen die doppelte Freigabeanforderung durch den Redakteur zu unterbinden, ob organisatorisch oder durch entsprechende Rechte-Einstellungen.

0 Kudos

Hallo Sebastian,

Deine Klarstellung bzgl. bereits freigegebenen Ordnern hat mich nun doch wieder verwirrt: "Nach Freigabe des Mediums ist dieses auch ohne die erneute Freigabe des Ordners im Freigabstand erreichbar."

Dies ist bei uns nicht der Fall: Sobald ein neues Medium hinzugefügt wird (über das Kontextmenü "Neu > Medium anlegen" auf dem Ordner), wird auch der Ordner als geändert (rot) dargestellt.

Wenn nun eine Freigabe für das neue Medium angefordert wird, wird mitnichten der Ordner freigegeben. Bei der Verwendung des Mediums taucht dann eine Fehlermeldung auf: Ich habe das eben mal mit einem Bild getestet und da erschien die Fehlermeldung "Dieses Bild wurde neu hinzugefügt, ohne das übergeordnete Verzeichnis freizugeben." auf der generierten Seite nach einem Volldeployment.

Insofern verstehe ich nicht, wieso man den Ordner nicht erneut freigeben sollte?

Viele Grüße

Daniel Bachran

0 Kudos
gockel
Crownpeak employee
Wenn nun eine Freigabe für das neue Medium angefordert wird, wird mitnichten der Ordner freigegeben.

Muss er auch nicht, da die reine Freigabe des Mediums für die Erreichbarkeit im Freigabestand ausreicht.

"Dieses Bild wurde neu hinzugefügt, ohne das übergeordnete Verzeichnis freizugeben."
auf der generierten Seite nach einem Volldeployment.

Dies ist keine Meldung von FirstSpirit, sondern vermutlich eine Fehlermeldung aus ihrem Projekt, vermtluch aus dem Templatecode.

0 Kudos

Hallo Sebastian,

auch wenn die Fehlermeldung tatsächlich nicht von FirstSpirit generiert wird (das war doch tatsächlich die reguläre Bildunterschrift *räusper*), habe ich bei der Aussage unten noch ein Verständnisproblem:

Wenn nun eine Freigabe für das neue Medium angefordert wird, wird mitnichten der Ordner freigegeben.

Muss er auch nicht, da die reine Freigabe des Mediums für die Erreichbarkeit im Freigabestand ausreicht.

Das dachte ich eben getestet zu haben. Ich habe ein Bild neu hinzugefügt und freigegeben. Der übergeordnete Ordner ist danach immer noch rot markiert und das Bild bei der Verwendung auf der Seite nicht sichtbar.

Wie genau soll denn mit der "Freigabe des Mediums" auch die Erreichbarkeit sichergestellt werden? Der Ordner muss doch bei hinzugefügten Medien verändert werden. Und sofern diese veränderte Version des Ordners nicht freigegeben ist, kann doch auch das hinzugefügte Medium darin nicht sichtbar sein, auch wenn dieses freigegeben ist...? So dachte ich das jetzt zumindest verstanden zu haben...

Viele Grüße aus Berlin,

Daniel Bachran

Nachtrag von 16:39: Wir scheinen derzeit noch andere Probleme auf dem Testsystem zu haben, wo ich dieses seltsame Verhalten beobachtet habe. Derzeit lädt z. B. noch nicht einmal die Grafik auf der Startseite korrekt nach einem Volldeployment... Insofern werde ich erst einmal dieses Verhalten weiter untersuchen und diesen Test hier anschließend noch einmal durchführen.

0 Kudos

Und noch ein Nachtrag von mir: Nachdem das Volldeployment jetzt gefixt wurde, hat auch der Test wie beschrieben funktioniert. :smileyblush:

Vielen Dank & Sorry für die Verwirrung hier.

0 Kudos