This extension allow to trigger notification when an expiration date is about to be reached.
iTop 2.3.0 or above
Date | Version | Description |
---|---|---|
2020-10-28 | 1.0.3 | * Add German translations (Thanks to Lars Kaltefleiter!) |
2020-03-11 | 1.0.2 | * Add dutch translations (Thanks to Jeffrey Bostoen!) * Add missing rights on some triggers and Actions for “Notification Manager” profile |
2019-02-18 | 1.0.1 | * Fix extension was not loaded (missing model.combodo-notify-on-expiration.php file in includes) * Fix minutes were not picked in configured execution time * Workaround for multiple executions in the defined minute |
2019-01-10 | 1.0.0 | First official version - deprecated |
2018-03-28 | 0.1.0 | First release |
Use the Standard installation process for this extension.
Once the new module has been installed, edit the configuration file config-itop.php and look for the following new section:
'combodo-notify-on-expiration' => array ( 'time' => '03:00', 'enabled' => true, 'debug' => false, ),
The following settings are available to configure the module:
Parameter | Type | Description | Default Value |
---|---|---|---|
time | hour:minute | Time of the day, when the process should start. | 03:00 |
enabled | boolean | Should the process run? | true |
debug | boolean | Should the CRON log be enrich with debug information? | false |
The Notification on Expiration is handled by the service cron.php once a day. Make sure this one is scheduled to run on your system. More information in the chapter about Background tasks.
To check the status of this service, use the command:
php webservices/cron.php --auth_user=admin --auth_pwd=admin --status_only=1
Example: Setup a notification 20 days before a License expires
The extension brings a new Menu entry Expiration rules in the “Service Management” category
To create a new one:
CustomerContract
Active
to enable the cron to execute this Expiration rule in the Background task.
Example: setting Class
=Licence, Date to check
=end_date and Term of notice
=20 the resulting OQL will be:
SELECT Licence WHERE end_date = DATE_ADD(CURRENT_DATE(), INTERVAL 20 DAY)
Expiration Rule
as you want, for License, Customer Contract and even multiple for the same class but with a different term of notice
Example: You can get a recurring Notification for Contract ending in the next 20 days.
SELECT Contract AS C WHERE C.end_date < DATE_ADD(CURRENT_DATE(), INTERVAL 20 DAY) AND C.end_date > CURRENT_DATE() AND C.status = 'production'
In that example, you will receive for a single ending contract, multiple email notification, one everyday during 20 days, unless you change the end_date
or the status
before the end_date
Create a Trigger using the extension added: Trigger (on expiration)
You may filter
it further, with an OQL:
SELECT Licence WHERE perpetual='no'
Create a Notification, defining who should receive it and the body of the message
On top of the standard placeholders, this extension brings also:
Placeholder | Purpose |
$rule->name$ | The name of the Expiration rule which has trigger this notification |
$rule->description$ | The Description of the Expiration rule which has trigger this notification |
$rule->term_of_notice$ | The Term of notice in days defined in the Expiration rule which has trigger this notification |
Link the Notification to the above created Trigger.
Q: The sub-Menu Expiration rules
does not appear under Service Management
A: Also the root cause of this issue is not understood yet, there are many possibilities to create Expiration rules without that Menu.
ExpirationRule
: it provides a mean to create a new rule and list existing.Admin tools
, the sub-menu Run queries
: SELECT ExpirationRule
it should propose you a link to create a new one.Admin tools
, the sub-menu Universal Search
and search for class ExpirationRule
, it will list the existing rules and offer to create one with the New
menu