Simple service provider for sending notification to members over different media.
A SilverStripe module for handling notifications to user. This can be use to send notifications via various mediums to a
Various notification are handled via a NotificationProvider. e.g.:
NotificationEmailProvider will send email
NotificationDataObjectProvider will store notifications in a DataObject for display one the
libphonenumber-for-php provides better mobile phone number validation.
composer require webtorque/silverstripe-notifications:^0.0
Create a YAML config file to configure the
NotificationService. You need to speciify a notification parser and a list
of notification providers.
NotificationService: constructor: 0: '%$NotificationParser' 1: - "%$NotificationEmailProvider" - "%$NotificationDataObjectProvider"
NotificationParser will read notification format information from a
NotificationType data objects.
Notification types can be edited in the CMS. The expectation is that notification types will be predefined in your YML
config. Creation or deletion of notification type are disallowed for all users.
NotificationType: default_records: - SystemName: 'RegistrationApproval' Name: 'Registration Approval' - SystemName: 'RegistrationApproved' Name: 'Registration Approved' - SystemName: 'NewPatientRequest' Name: 'New Patient Request' - SystemName: 'PatientRequestApproved' Name: 'Patient Request Approved' - SystemName: 'PatientRequestDeclined' Name: 'Patient Request Declined'
$service = Injector::inst()->get('NotificationService'); $deliveries = $service->send( 'RegistrationApproval', # Notification type system name. ['extra' => 'Data to inject in the message'], # Abritary data to inject in the NotificationParser. Member::currentUser(), # User who should receive the notification. '/notification/call-to-action-url' # Optional Call-to-Action URL. ); # List of NotificationFailureException for providers who failed to deliver the notification. $deliveries->getFailures(); # List of response from providers delivered their notification as expected. $deliveries->getDeliveries();
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem