Difference between revisions of "Generate Notifications Only for Employee Comments"

From SDU
Jump to: navigation, search
m (Step 1. Create the scripts)
m (Step 1. Create the scripts)
 
Line 22: Line 22:
 
This script is triggered on the Act_Log table and attaches an event to the ticket. The script assumes that the Employee Access Type is associated with the Employee Interface and that it is also set as the default Access Type.
 
This script is triggered on the Act_Log table and attaches an event to the ticket. The script assumes that the Employee Access Type is associated with the Employee Interface and that it is also set as the default Access Type.
 
<source lang="javascript">alg::zemp_comment(...) {
 
<source lang="javascript">alg::zemp_comment(...) {
 +
// The following IF STATEMENT assumes that 2405 is the id of the Employee Access Type
 +
// and that the Employee Access Type is the default.
 
if (analyst.access_type == 2405 || is_null(analyst.access_type)) {
 
if (analyst.access_type == 2405 || is_null(analyst.access_type)) {
 
object attached_events_table_record, group_leader;
 
object attached_events_table_record, group_leader;
 
string z_evt;
 
string z_evt;
 
+
// Identify below the id of the event to attach.
z_evt = "evt:400005";
+
z_evt = "evt:400001";
  
 
if (!is_null(call_req_id.assignee)) {
 
if (!is_null(call_req_id.assignee)) {

Latest revision as of 15:11, 6 November 2008

To make corrections or additions to this article, select the edit tab above.
To discuss or ask questions about this article, select the discussion tab above.

Overview

This article provides instructions for generating a notification when an Employee adds a comment to a Request, Incident, or Problem. It requires two sets of triggers and scripts, an event, and at least one Multiple Notification Macro.

If implementing this customization it is recommended that you disable the Log Comment Activity Notification.

Procedures

Step 1. Create the scripts

A script is created as an .spl file and placed in the $NX_ROOT/site/mods/majic directory. When the Service Desk service starts, the contents of the majic directory are processed and cached. You can use any naming scheme you like for your .spl file, but it is recommended that the file be preceded with a 'z' for easy identification as a custom file (eg zMyCompany.spl, zcr_scripts.spl, zMyScripts.spl).

This script is triggered on the Act_Log table and attaches an event to the ticket. The script assumes that the Employee Access Type is associated with the Employee Interface and that it is also set as the default Access Type. <source lang="javascript">alg::zemp_comment(...) { // The following IF STATEMENT assumes that 2405 is the id of the Employee Access Type // and that the Employee Access Type is the default. if (analyst.access_type == 2405 || is_null(analyst.access_type)) { object attached_events_table_record, group_leader; string z_evt; // Identify below the id of the event to attach. z_evt = "evt:400001";

if (!is_null(call_req_id.assignee)) { send_wait(0, top_object(), "get_co_group"); if (msg_error()) { logf(ERROR, "%s %s - %s", call_req_id.type.sym, call_req_id.ref_num, msg[0]); } group_leader = msg[0]; send_wait(0, top_object(), "call_attr", "atev", "get_new_dob", NULL, NULL, group_leader); if (msg_error()) { logf(ERROR, "%s %s - %s", call_req_id.type.sym, call_req_id.ref_num, msg[0]); } attached_events_table_record = msg[0]; attached_events_table_record.obj_id = call_req_id; attached_events_table_record.event_tmpl = z_evt; send_wait(0, group_leader, "checkin"); if (msg_error()) { logf(ERROR, "error attaching event %s to %s %s - %s", z_evt, call_req_id.type.sym, call_req_id.ref_num, msg[0]); } else { logf(SIGNIFICANT, "successfully attached event %s to %s %s", z_evt, call_req_id.type.sym, call_req_id.ref_num); } } } }</source>

Step 2. Create the triggers

This step is to create the trigger that will initiate the script. The methods used to implement the trigger vary based on the Service Desk release.

For r11.x releases triggers are created via the Schema Designer utility. Add the following code as a Site-Defined Trigger to the alg (Request Activity Log) table. <source lang="javascript">POST_VALIDATE zemp_comment() 113 FILTER(type{-> 'LOG'});</source>


For older releases triggers are made by creating a .mod file and placing it in the $NX_ROOT/site/mods/majic directory. Name the .mod anything you like, but it is recommended that it be preceded with a 'z'. <source lang="javascript">alg {

 TRIGGERS {
   POST_VALIDATE zemp_comment() 113 FILTER(type{-> 'LOG'});
 };

};</source>

Step 3. Publish the Schema changes

The methods used to publish schema changes vary based on the Service Desk release.

For r11.x releases, follow these steps:

  1. Save your Schema changes
  2. Stop the Service Desk service
  3. Run pdm_publish from a command line (Applicable if you made changes via WSP)
  4. Start the Service Desk service

For older releases recycle the Service Desk service.