1234567891011121314151617181920212223242526 |
- ---------------------------------------------------
- Some notes for developers working on the rules code
- ---------------------------------------------------
- Terminology & Overview
- -----------------------
- * Rules plugins extend the "rules language". Thus conditions and actions are
- implemented with a plugin, but also loops or ORs are plugins. Each plugin is
- declared to be used in the condition or the action part - specified by the
- interface.
- * The action and condition plugin are a so called "AbstractPlugin" which means
- they have to be implemented by modules to be actually usable. In fact the
- callbacks provided by the action or condition implementation are
- incorporated in the plugin object using faces. That way an action or
- condition element behaves exactly like any other plugin instance.
- * Any rule element is an instance of a RulesPlugin.
- * A rules configuration consists of multiple rule elements while one is the
- root element, which may be a 'rule' but also any other plugin.
- * Each rules configuration may be persistently saved to the db using the
- entity CRUD API. Using the API on contained rule elements is working too and
- results in the whole configuration being updated.
- * Rules provides per plugin UI components, what makes the UI parts re-usable
- outside of the rule admin module too. In fact the rules admin module is
- pretty small, as it just relies on the provided UI of the components.
- * The UI is incorporated using the faces object extension mechanism, see
- rules_rules_plugin_info() for an overview of the used UI extenders.
|