Rule by time???

cancel
Showing results for 
Search instead for 
Did you mean: 
dmc
Active Member

Rule by time???

Space Rules anlegen ist soweit klar. Meine Frage:
Ich lege Content an in Ordner a (soll später automatisch eingepflegt werden).
Space Rule ist es, den Content bei Erscheinen in Ordner B zu kopieren bzw. verschieben.

Gibt es eine Möglichkeit, auf der Java-Basis etwas zu verändern, damit Ordner B/User o.ä. an ein Zeitintervall gekoppelt selbstständig den Content aktualisiert?
Dies wäre für die Applikation, die wir im Sinn haben, sehr von Vorteil.
Ist das in irgendeiner Form machbar?
Danke für die Antworten…
4 Replies
dmc
Active Member

Re: Rule by time???

Hallo Claudius,

kannst Du etwas genauer erklären, was mit der Funktion "Ordner B aktualisiert den Content selbständig" gemeint ist? Ist damit eine Routine gemeint, die ohne Arbeitsbereichsregel (in Ordner A) selbständig Inhalte aus Ordner A zeitbasiert in Ordner B verschiebt?

Grüße
drhilarius
dmc
Active Member

Re: Rule by time???

Ich verstehe Ihn so, dass er zu einem bestimmten Zeitpunkt eine Regel ausführen lassen möchte.

Das wäre ja sehr interessant …

Chris
__________________
http://www.ksvj.de
dmc
Active Member

Re: Rule by time???

Hi XChris,

das wäre eigentlich kein Problem: über einen QuartzJob (im Spring-Kontext z.B. über org.alfresco.util.CronTriggerBean einstellbar, siehe als Beispiel die scheduled-jobs-context.xml in Alfresco) kann eine Regel über den RuleService gefunden und die entsprechende Action ausgeführt werden. Ein Beispiel:


NodeRef nodeRef = …;
String ruleName = …;
List<Rule> rules = ruleService.getRules(nodeRef, true, ruleName);
Rule rule = rules.get(0); // customize logic!
Action action = rule.getAction();
actionService.executeAction(action, nodeRef, true, true); //true, true = Check der Bedingung, asynchrone Ausführung!

Alternativ kann auch der RuntimeRuleService aufgerufen werden:


NodeRef nodeRef = …;
Rule rule = …; // siehe oben
Set<ExecutedRuleDate> executedRules = …;
runtimeRuleService.executeRule(rule, nodeRef, executedRules);

Die Überprüfung einer Bedingung wäre dann im actionExecuter durchzuführen…

Grüße
drhilarius
Geändert von drhilarius (02.11.2007 um 13:55 Uhr).
dmc
Active Member

Re: Rule by time???

Vielen Dank für die Antwort, Dr.H.
Sie haben genau verstanden, worum es uns geht. Für uns ist genau das relevant, was sie angesprochen haben: Dass es im Ordner A keine Regel gibt, dafür aber in Ordner B bzw. über eine Benutzerrolle die selbstständige Aktualisierung statt findet. Das würde das Prinzip des Programms umdrehen, soweit ich es verstanden habe.

Es ist quasi kein "Push-Prinzip"(Kopieren,Verschieben etc.) über die Space Rule für Ordner A angedacht, sondern ein "Pull-Prinzip" in Ordner B, abhängig von dessen Rules und Benutzerprofil. Das noch in Abhängigkeit mit einer zeitlichen Variable, das wäre ideal.

Da ich selbst nicht an der Entwicklung arbeite (Werkstudent) kann ich die Richtigkeit der angebotenen Lösung nur bedingt einschätzen, aber so wie ich es verstanden habe, bezieht sich dies nur auf eine zeitliche Variable für "normale" Space-Rules? Dann wäre die Frage noch offen…
danke für Antworten.
Mit Zitat antworten