Download the PHP package imagina/notification-module without Composer
On this page you can find all versions of the php package imagina/notification-module. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download imagina/notification-module
More information about imagina/notification-module
Files in imagina/notification-module
Package notification-module
Short Description Module handling the real time notifications
License MIT
Informations about the package notification-module
Inotification module 4.1.1
Improved version of the Asgard Notification Module - https://github.com/AsgardCms/Notification
Realease Notes
Added
- Rules
CreateNotificationRequest - Validation message for request rules
Labs Mobiledefault provider for SMS notificationsProvider,Rule,TemplateandTypeNotificationAsgard Entities ScaffolddefaultEmailViewconfigproviderandrecipientcolumns intonotification__notificationstablenotificationTypesconfig to be seeded in the notification__notification_types tableprovidersconfig to add new providers configurationsNotificationTypeTableSeederdepending on the configEventServiceProviderto listening dynamically all the events defined in the configprovidersNotificationHandlerto handle all the events listened by theEventServiceProviderRule->conditionsvalidationsImaginaNotificationimproved version of theAsgardNotification
Note
with the new
ImaginaNotificationservice, the columnuser_idwas replaced byrecipientin the tablenotification__notifications
Installation
Composer
Execute the following command in your terminal:
Note
After installation you'll have to give you the required permissions to get to the blog module pages in the backend.**
Run migrations and seeders
Providers configuration
/Config/config.php
| Option | Description | Required |
|---|---|---|
| name | Name to show in frontend administrator | Yes |
| systemName | Name to use in backend | Yes |
| icon | Icon to use in frontend administrator | No |
| color | Color to use in frontend administrator | No |
| rules | Rules to validate the recipient, see the available rules | No |
| fields | Fields necessary to configure the provider, see the Provider Fields | Yes |
| settings | the available settings for each rules | No |
Provider Fields
All the fields necessary to configure the provider: api keys, login, user names, passwords.
Each field need to be defined with the dynamic fields configuration in the basequasar-app. Here a list of the fields required:
| Option | Description | Required |
|---|---|---|
| id | it's necessary to the crud in frontend, only the value it's necessary: |
Yes |
| status | a select field with Enable/Disable options ('1' or '0') | Yes |
| default | a checkbox field for the default provider by type of notification | Yes |
| type | Type of the notification, defined in the config notificationTypes and seeded in the notification__notification_types |
Yes |
| saveInDatabase | required field for save in the notification__notifications table or not |
Yes |
Note
Each Provider field can define the route to the public config to replace the keys from ENV file, just add the configRoute value:
this setting is only used at the time of sending a notification, the rest of the application will continue to use the settings from the .env file.
Provider Settings
The settings necessary to customize the fields of the provider for each Rule
Each setting need to be defined with the dynamic fields configuration in the basequasar-app. Here a list of the settings required:
| Option | Description | Required |
|---|---|---|
| status | a select field with Enable/Disable options ('1' or '0') | Yes |
| saveInDatabase | required field for save in the notification__notifications table or not |
Yes |
Note
the required fields of the Provider have more precedence over the Rule Settings.
Publish the configuration
Usage
There is two ways for use the sending of notifications:
1 Quickly send notifications to your frontend application.
Inject the Modules\Notification\Services\Inotification interface where you need it and assign it to a class variable.
2 Using Events and defining the Notifiable config in each module to administrate from the database by the Rules
Notifiable Configuration
First in each module you need to define the Notifiable config, the Notification module will be detect the configuration and will sending to the frontend for the creation of the Rules, each Rule need to be saved in the database for having effect.
| Option | Description | Required |
|---|---|---|
| title | Name of the entity to show in frontend administrator | Yes |
| entityName | Class Path Name for an unique name for the notifiable, example: Modules\\ModuleName\\Entities\\EntityName |
Yes |
| events | Array of arrays for all the events notifiable to the entity, only needs the title (for the frontend) and path (class path name) |
Yes |
| conditions | Conditions to validate the Rule, if is empty the Rule will be executed without restrictions, see the Notifiable conditions configuration | No |
| settings | array to add options to the provider settings | No |
Notifiable conditions configuration
The conditions are configured like the dynamic fields of the basequasar-app. however, there are only 3 types of conditions available:
1 recursive
2 select with static options
3 select with dynamic options
Note
All conditions require the
anydefault value, the handle detects it and validates it
Event Example
Notifiable Config Example
Provider Config Example providers
Flow Chart

All versions of notification-module with dependencies
composer/installers Version ~1.0
imagina/core-module Version ^10.0
kawankoding/laravel-fcm Version ^0.2.0
symfony/http-client Version ^6.4
symfony/mailgun-mailer Version ^6.4