Treffen vom 09. Februar 2009 - Modul: Rules
Submitted by derhasi on 10 February, 2009 - 08:09
Die Projektseite zu Rules findet sich unter http://drupal.org/project/rules
- Drupal 6
- Nachfolger von Workflow-NG mit erweiterten Möglichkeiten
- bessere Alternative zu Kernmodul Trigger/Action
Features
- Steuerung von (benutzerdefinierten) Aktionen über bedingte Ereignisse
- Verwendung von mehreren Objekten (Nodes, User, Term, Comment)
- Auswahl von konkreten Objekten (unveränderter Node, gespeicherter Node)
- Einbindung von diversen Modulen: u.a. CCK
- Nachladen von Objekten und Variablen via Aktionen, wie laden per NodeReference/UserReference
- Verwendung von PHP-Filter und Token.module in allen Einstellungsfeldern von "Bedingungen" und "Aktionen" (Input Evaluators)
- Custom - PHP - Code
- Anlegen von vordefiniteren Regelsätzen:
- Zusammenfassen mehrere Regeln
- Vorbestimmung von bestimmten Variablen (Node, User, StringVariable,...)
z.B. Variablen: Node1, EmailAdressString - Regelsatz: Versenden von Email
* Versenden eines Nodes an EmailAdressString = Autor-Email-Adresse
* Versenden eines Nodes an EmailAdressString = CCK-Feld in Node
* Versenden eines Nodes an EmailAdressString = Userliste mit Emailadressen (wie Subscription) - Scheduler: ZeitSteuerung von Regelsätzen via "Rules Scheduler" als Zeitversetzte Aktion
- Aktion: "Schedule Regelsatz1" => "Führe Regelsatz zu einem bestimmten Zeitpunkt aus"
- Zeitpunkt kann im strtotime-Format angegeben werden, u.a. wiederum durch eingabe einer PHP-Anweisung
Beispiel : Sende Email in 10 Tagen an $node-Author, wenn der Beitrag dann noch unveröffentlicht ist
Für Entwickler
-
einfache Einbindung neuer und eigener Module durch einzelne Hooks
-hook_rules_condition_info
-hook_rules_action_info
-hook_rules_event_info
(Aufruf durchrules_invoke_event()
) -
Simple Einbindung per Datei:
meinmodule.rules.inc
-
API-Entwicklung mit strengem Blick auf Performance
-
Rules Debug-Informationen einblendbar:
/admin/rules/settings
Links:
- Projekt-Home: http://drupal.org/project/rules
- Dokumentation: http://drupal.org/node/298476
- DrupalCamp - Session: http://drupalcamp.de/node/164 (Mit Präsentation als PDF)
- Video zur Session: http://www.drupalcenter.de/node/15862 (alternativ http://drupalcamp.de/node/333)