This documentation is destined for drupal.org. Created first as a gist to make initial comments easier. Rewrites and clarifications welcome. Code samples are simplified for clarity. Perhaps a bit too much?
When talking about extensibility, there are several distinct use cases:
- Reacting to an action that has already happened.
The reaction can be anything; outputting a message, sending an email, modifying a related object, etc. Examples:
- "A node has been saved"
- "A product has been added to the cart".