Possible Alternatives
There are a few different ways in which content notifications can be enabled.
Workflows
The first is with Workflows. The Content Moderation Notifications module can, in theory, be used to create email notifications for content that is using a workflow. However, a user may want notifications for content that is not subject to a workflow, or for content changes that are not part of a workflow. Also, I personally have had difficulty configuring the Content Moderation Notifications module to send to specific email addresses; it only seemed to work for sending email notifications to users of a specific role.
DANSE
Another way is to use the DANSE module. DANSE is a framework for allowing users to subscribe to notifications of specific events. Documentation for use of this module is sparse, so one user created an issue describing how to use DANSE with the Push Framework module to allow users to subscribe (or be required to receive) notifications for certain content actions. This approach seems quite powerful but it has unfortunate limitations. In this case, notifications did not (could not?) indicate which content action had triggered the notification. Configuration of DANSE was also very complicated, requiring configuration changes for every content type whose content actions should trigger notifications. The configuration options themselves are poorly documented and not easy to understand.
ECA
Another way is to use ECA. ECA allows you to define actions Drupal should take based on certain events (like adding or updating content). ECA is becoming the go-to module for Drupal and Drupal CMS. In fact, I almost abandoned Simple Content Notifications entirely for ECA. However, ECA has a few critical limitations:
- It is incredibly cumbersome to construct the conditional logic needed if you want only certain content types to trigger notifications;
- It is equally cumbersome to construct conditional logic if you want to exclude the current user from the email notifications (so they don't get notifications about their own actions)
- If you want to disable notifications on dev, test, or local instances of your website, you have to set up the Config Split module (which is itself a whole other set of complications)
Because of the limitations of these alternative implementations, I decided to write a custom module.
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion