This extension allow to trigger notification when an expiration date is about to be reached.
iTop 2.3.0 or above
|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|
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:
|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:
Activeto enable the cron to execute this Expiration rule in the Background task.
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 Ruleas 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)
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:
|$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
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
SELECT ExpirationRuleit should propose you a link to create a new one.
Admin tools, the sub-menu
Universal Searchand search for class
ExpirationRule, it will list the existing rules and offer to create one with the