Calendar invitations
- name:
- Calendar invitations
- description:
- Send a meeting request as an attachment of a mail notification
- version:
- 1.1.0
- release:
- 2024-08-07
- itop-version-min:
- 2.7.0
- code:
- itop-icalendar-action
- state:
- stable
- diffusion:
- Client Store, iTop Hub
- php-version-max:
- PHP 8.3
This extension provides a new type of “Action” which can be associated with any trigger: Calendar Invitation
Features
-
Allow to send a calendar invitation (also known as meeting request) related to a Ticket or a Work Order.
-
For eg. this allow to book the slot in the email calendar of the agent, from the start date to the end date of a Work Order.
-
Later if the Ticket is modified,
-
The calendar invitation is updated with new dates and/or description
-
New people are automatically included in the invitation, as soon as additional contacts are added to the ticket
-
People primarily invited which are no more linked to the ticket, receive an invitation cancellation.
-
It is even possible to delete completely the calendar invitation from all recipients, for example if the Work Order was deleted or cancelled.
-
-
If no end date is provided, the default meeting duration is 1 hour.
-
Recipients are defined by an OQL query with placeholders as for any emails notification.
Revision history
Date | Version | Description |
---|---|---|
2024-08-07 | 1.1.0 | Version included in Professional 3.2.0 * N°2039 - Add complementary name on child classes to avoid empty summary cards in iTop 3.1+ * N°7462 - On update cancel invitation for people no more in TO/CC since previous update * N°7504 - Rework actions / events class labels * N°7524 - Calendar invitations : Notification rejected by SMTP O365 * N°7692 - Update german translations thanks to @Attila0428 * N°7685 - Align Calendar invitation presentation to Email and add tooltip |
2024-04-12 | 1.0.6 | * N°2981 - Make the Reminder value
configurable * N°3484 - Calendar invitation : Set sender (reply to) display name / label in action email * N°6589 - Crash of iTop if fields TO or CC are empty in PHP8.0 * N°6851 - Calendar invitations : Notification in wrong format * N°7388 - Synchronize iTop objects with events in Outlook Calendar (creation/modify/suppress) |
2020-03-11 | 1.0.5 | * Add missing rights on some triggers and Actions for “Notification Manager” profile |
2018-11-28 | 1.0.4 | * Fix invitations when end date was prior to start
date * Handle empty start date * Add Combodo license |
2018-11-27 | 1.0.3 | Add support for different data time formats |
2018-08-28 | 1.0.2 | Compatibility improvement for Outlook, Zimbra. |
2016-02-09 | 1.0.1 | First official release of the component. Includes a fix for building the attachments in “Test” mode. |
Limitations
-
The 15min reminder added to the invitation does not seem to be taken into account.
Requirements
iTop 2.3.0 or above
Installation
Use the Standard installation process for
this extension.
When prompted with the list of extensions to install, check
Calendar Invitations.
Configuration
There is no configuration parameter for this extension in the iTop configuration file.
For instance date.timezone = Europe/Paris
Usage
This extension is used to create a new type of “Action” to be associated with Trigger. To create such an action go to “Admin Tools / Notifications”, in the “Actions” tab, click “New…” and pick “Calendar Invitation” from the list.
The following form will be displayed:
Field | Meaning | Sample Value |
---|---|---|
Name | Name of the action. Any value that is meaningful to distinguish this action | Invitation for implementing changes |
Description | A longer explanation about the purpose of this action. for information only. | |
Status | Whether or not the action is active (= In Production), Being tested or Inactive. | In Production |
Test Recipient | An email address for testing the notification. used when the status is “Being tested”. | test@demo.com |
From (address) | The email address used as the sender of the email. Depending on its security settings, your mail server may block the email if the sender is not a valid email address | itop@demo.com |
From (label) | A human readable label for the above email address. Will be used in the description of the invitation. | ITop Change Management |
Reply To | The email address to which the replies must be addressed, if different from the “From (address)”. | |
To | An OQL query which returns the list of the
mandatory attendees to the meeting. Placeholders are supported,
prefixed with a colon (: ) |
SELECT Person WHERE id=:this->agent_id |
CC | An OQL query which returns the list of the
mandatory attendees to the meeting. Placeholders are supported,
prefixed with a colon (: ) |
SELECT Person WHERE id=:this->changemanager_id |
Subject | The subject of the email. Placeholders are
supported, surrounded by $ . |
Invitation for implementing $this->ref$ |
Start Date/Time | The start date and time of the meeting. The format
is YYYY-MM-DD hh:mm:ss. Placeholders are supported, surrounded by
$ . |
$this->start_date$ |
End Date/Time | The start date and time of the meeting. The format
is YYYY-MM-DD hh:mm:ss. Placeholders are supported, surrounded by
$ . If this field is left blank, the meeting is assumed
to have a duration of one hour. |
|
Meeting Subject | The subject of the meeting. Placeholders are
supported, surrounded by $ . If this field is left
blank, the subject of the email will be used. |
|
Meeting Description | A longer description for the meeting. Placeholders
are supported, surrounded by $ . |
$this->hyperlink$ |
Meeting Location | A location for the meeting. Placeholders are
supported, surrounded by $ . |
|
Reminder duration | Allow to specify in minutes, the reminder notice | 15 |
Policy in case of previous invitations | No (always send a new invitation): does not update any previously sent invitations | past behavior |
Update : will update the previously sent invitation | ||
Cancel : will cancel the previously sent invitation |
Synchronize WorkOrder
Here is an example of how you could notify WorkOrder agent with a calendar invitation, which would be automatically updated when the workOrder dates are changed
Create a Trigger
Here we will use a On Object Update Trigger, but we could also have trigger it on Entering State.
We specified that if the dates are changed we want to update the agent in charge of doing the work.
Create the Action
Specifies the object dates which need to be mapped to the calendar invitation
Start date | $this->start_date$ |
---|---|
End date | $this->end_date$ |
It is possible to have a single object, an Approved Change for eg. which would trigger multiple independent Calendar invitations. An invitation for the CAB and an invitation for the Change implementation. Each actions will refer different date attributes of the Change…
Meeting description | $this->url$ |
---|
Q&A
Q: What happen if the agent as refused or deleted the
invitation and an update is sent?
A: This is a mail server decision, in general a
new invitation is presented to the agent.
Q: How can I trigger an event cancellation?
A: There must be an event or a particular object
modification, which can be seen by a trigger to start a
second “Calendar invitation” with a Policy in
case of previous invitations set to Cancel.
For the above WorkOrder example, the easiest might be to add a
state and transitions to cancel, the WorkOrder, and such transition
would trigger the invitation cancellation.