Workflow Hooks
Available Since: v3.0 (September 2013)
Explanation
Immediately before or after performing an action, you may want to accomplish something else. This can be as simple as logging that an object was changed or sending an email notification or applying complex business validations or modifications.
Note: When you implement one of these in your module, it MUST call the parent method of the same name.
Note: The permissions check for viewing or modifying an object are not performed until after the corresponding hook_pre method is complete. Therefore, you should never modify the database, send notifications, or display potentially sensitive information in those methods.
Hook Name | Common Uses | Description |
---|---|---|
hook_preDelete | capture id’s for post delete cleanup | Executed before the delete() method is called. |
hook_postDelete | remove child relationships | Executed if the delete() method executed successfully. |
hook_preLoad | ?? | Executed before the load() method is called. |
hook_postLoad | load child objects | Executed if the load() method executed successfully. |
hook_preStore | set ownership, filter data | Executed before the store() method is called. |
hook_postStore | send email notifications, update child objects | Executed if the store() method executed successfully. |
hook_preCreate | set date created & updated fields | Executed before the store() method is called. |
hook_postCreate | set or modify additional fields | Executed if the store() method executed successfully and a new object was created. This occurs immediately before the hook_postStore . |
hook_preUpdate | set date updated | Executed before the store() method is called. |
hook_postUpdate | set or modify additional fields | Executed if the store() method executed successfully and an existing object was modified. This occurs immediately before the hook_postStore . |
Extending the System
Hooks are how we extend the system by allowing you to connect into specific processes and actions in standard, consistent ways with minimal effort without modifying Web2project core. This ensures you can accomplish what you need and your modules remain compatible through Web2project upgrades.
Available Since v3.0 (September 2013)
- Workflow Hooks (pre-create, post-create, pre-delete, post-delete, pre-load, post-load, pre-store, post-store, pre-update, post-update)
Available Since v1.1 (September 2009)
- Calendar Hook
- Cron Hook
- Search Hook