Skip to main content

Regelauswertung Item-Übergreifend

Comments

1 comment

  • Holger Höbbel

    Hallo Johanna,

    wenn ich die Anforderung richtig verstehe, kann das Problem ja nur beim Bearbeiten eines inneren Formulars auftreten (immer dann, wenn ein Bild hinzugefügt oder gelöscht wird). Das Problem wird also durch das Bearbeiten der Cards ausgelöst, wird aber nur aktiv, wenn eine andere Card einen abweichenden Wert hat. 

    Per Regel kannst Du aber nur die Eingabekomponenten des aktuellen Items prüfen und über einen Value Service die gespeicherten Werte eines anderen Knotens. Letzteres hilft aber nur, wenn die verschiedenen Cards nicht innerhalb derselben Session erzeugt werden. Das passt ja zu deinen geposteten ergebnissen

    Ich hätte auch erst versucht, über einen ValueService entweder einen entsprechenden Fehler auszulösen oder (über den ScriptValueService) auf dem Vaterknoten irgendwie eine sinnvolle Informationen zu hinterlegen, dass ein Bild gesetzt/gelöscht wurde. Wegen der Einschränkung "gespeicherte Werte eines anderen Knotens" gehe ich aber wie bereits geschrieben davon aus, dass man das aber nicht vernünftig zum Laufen bekommen wird.

    Mein nächster Ansatz wäre der IDProviderEventAgent. Damit kann ich dann jedesmal, wenn ein entsprechender Absatz geändert wird prüfen, ob dessen Inhalt valide ist. Ist aber höchstwahrscheinlich auch eine Sackgasse, da ein Redakteur (im SiteArchitect) zwischenspeichern kann, der Knoten also im Bearbeitungsmodus bleibt und somit nicht direkt nach dem Change Event von einem Service geändert werden kann. (Außerdem hat der IDProviderEventAgent sowieso nur einen Read-Only Userservice, also müsste die Änderung über einen anderen Mechanismus laufen). Wird man also auch nicht so ohne weiteres sauber zum Laufen bringen :(

    Bleibt als Lösung eine entsprechende Prüfung über ein Workflow-Skript, dass die Freigabe nicht erlaubt, wenn die Daten nicht korrekt sind.

    Wenn man auch ohne Workflow freigegeben kann, entfällt natürlich auch das Workflow Skript. Darf man den Redakteuren einen Klick aufzwingen? Wenn ja, würde mir noch einfallen, dass man beim Fokus auf den CATALOG eine versteckte Eingabekomponente (TOGGLE) setzt, die freigabeverhindernd ist. Dem Redakteur dann einen Button anbieten, über den ein Skript gestartet wird, dem der CATALOG als PARAM übergeben wird und das prüft, ob alles in Ordnung ist. Wenn ja, setzt es den Toggle zurück, wenn nein, gibt es dem Redakteur eine Rückmeldung, welche Cards welchen Status haben. Aber dann gibt es jedesmal, wenn ich den Fokus auf den Catalog setze, eine freigabeverhindernde Änderung. Das ist eine gute Userexperience :(

    Insgesamt sehe ich somit keine schöne Lösung. Ich hoffe, jemand anderes hat eine bessere Idee als ich.

    Viele Grüße
    Holger

    0

Please sign in to leave a comment.