{MEETING: TITLE = text_field, ORGANIZER = user_field, START_DATE_TIME = date_field,
SEQUENCE = number_field, ATTENDEES = user_field, MEETING_FIELD = document_field,
UID = text_field, DURATION = text_or_list_field, [CANCEL = CANCEL,]
[DESCRIPTION = text_or_text_area_field,] [LOCATION = text_field,]
[COMMENT = text field] }
The Meeting action business rule is used to generate a meeting request file (with a file name of meeting.ics) when a record is added or updated. When an email is sent following the invocation of the rule, the action generates new meeting requests, updates existing meeting requests and cancels meeting requests within user's online calendars such as Microsoft Outlook.
The rule should be configured within a preupdate directive. To complete the action of generating a meeting request, a MAIL action rule should be configured to communicate the request via email to the participants' calendars.
The fields referenced by the MEETING rule attributes must be configured within the issue, and the fields representing MEETING_FIELD, UID, and SEQUENCE attributes are updated and then saved within the issue when the MEETING rule executes. The UID value is generated the first time the MEETING rule executes and remains the same for the life of the issue, so it is recommended to make the UID field read-only and not visible to the user. The SEQUENCE value starts with 0 the first time the rule executes within an issue and is incremented by 1 every time the rule executes, thereby generating an updated meeting request file. It is also recommended to make the SEQUENCE field read-only and not visible to the user. The MEETING_FIELD field can also be configured as read-only and can be made invisible to the end user.
The following are required attributes and are enforced at rule compilation and execution time; only their presence is enforced, not the field types specified in the syntax above:
Attribute | Field Type | Purpose |
TITLE | Text | The title or subject of the meeting |
ORGANIZER | User | The user that creates and hosts the meeting |
START_DATE_TIME | Date | The date and time of the start of the meeting |
SEQUENCE | Number | This is used to store an auto-generated value for each meeting request generated. This field must be within the issue, but does not need to be visible |
ATTENDEES | User - single or multi-valued | A user, or a list of users who are invited to participate in the meeting |
MEETING_FIELD | Document | This is used to store the auto-generated meeting request file within the issue. It does not need to be visible |
UID | Text | This is an auto-generated value that uniquely identifies the meeting request. This is stored within the issue, but does not need to be visible |
DURATION | Text or List |
This is a value that specifies how long the meeting is being scheduled for.
The value specifying the meeting duration needs to have the following format. A default of 1 hour duration is used if the value cannot be parsed: X day(s) Y hour(s) Z minute(s) Examples 30 minutes |
Attribute | Field Type | Purpose |
CANCEL | This is used to generate a cancellation notice for the meeting that is sent to all attendees. This is not a field, but should be set to a value of CANCEL | |
DESCRIPTION | Text or Text Area | This provides a description of the meeting that is being generated |
LOCATION | Text or Text Area | This is information on the location of the meeting |
COMMENT | Text or Text Area | This is a comment that is added to the meeting request |
Note that HTML Area fields are not recommended for use as DESCRIPTION, LOCATION and COMMENT attributes.
The following rule is used to generate a meeting request file stored in the MEETING_FILE field, based on the current issue:
<== preupdate ==>
if (STATUS = 'New') {
{MEETING: TITLE = SHORT_DESCR, DESCRIPTION = DESCRIPTION,
ORGANIZER = MEETING_ORGANIZER,
START_DATE_TIME = MEETING_TIME,
SEQUENCE = MEETING_SEQUENCE,
ATTENDEES = MEETING_ATTENDEES,
MEETING_FIELD = MEETING_FILE,
LOCATION = MEETING_LOCATION,
UID = MEETING_UID,
DURATION = MEETING_DURATION
};
}
This example show a rule which cancels a meeting based on the STATUS field:
<== preupdate ==>
if (STATUS = 'Cancel') {
{MEETING: TITLE = SHORT_DESCR,
CANCEL = CANCEL,
COMMENT = COMMENTS,
ORGANIZER = MEETING_ORGANIZER,
START_DATE_TIME = MEETING_TIME,
SEQUENCE = MEETING_SEQUENCE,
ATTENDEES = MEETING_ATTENDEES,
MEETING_FIELD = MEETING_DOC,
UID = MEETING_UID,
DURATION = MEETING_DURATION };
}
A MAIL action business rule should be configured to send the meeting request to the participants. This is achieved via the following steps:
<div style="display:none">$$MEETING_FILE$$</div>