I am attempting to configure crm to notify the contact of a ticket when that ticket has been closed. I've made a workflow.xml file, but crm refuses to implement it. I've used the upload bit in the admin module, and no luck. I've also put the file in WEB-INF/setup/init, named it workflow.xml, workflow_en_US.xml, reloaded, stopped, started, undeployed, redeployed the application, but to no avail. What could I be doing wrong here? Is there a script that will manually import this file that I can run? Any hacks/advice appreciated.
Application Version: Centric CRM 4.1.3 (2007-06-04)
Database Version: (upgrade_v41-42)
(Linux 2.6)
My workflow.xml:
<?xml version="1.0" encoding="UTF-8"?>
<workflow>
<!-- Hooks decide which items can be hooked in Centric CRM, so if there is code
that executes the WorkflowManager when a ticket is updated or inserted,
the corresponding process is activated -->
<hooks>
<hook class="org.aspcfs.modules.troubletickets.base.Ticket" module="8">
<actions>
<action type="update" process="dhv.ticket.insert" enabled="true"/>
<action type="insert" process="dhv.ticket.insert" enabled="true"/>
</actions>
</hook>
<hook class="org.aspcfs.modules.actionplans.base.ActionItemWork" module="8">
<actions>
<action type="update" process="dhv.actionitemwork.update" enabled="true"/>
</actions>
</hook>
</hooks>
<schedules>
<schedule>
<events>
<event process="dhv.update.account.employees" second="0" minute="0" hour="*/2" dayOfMonth="*" month="*" dayOfWeek="*" year="*" extraInfo="" businessDays="true" enabled="true"/>
<event process="dhv.report.ticketList.overdue" second="0" minute="*/10" hour="8-18" dayOfMonth="*" month="*" dayOfWeek="*" year="*" extraInfo="" businessDays="true" enabled="false"/>
</events>
</schedule>
</schedules>
<processes>
<process name="dhv.ticket.insert" description="Ticket change notification" startId="2" type="OBJECT_EVENT" module="8">
<parameters>
</parameters>
<components>
<component id="2" class="org.aspcfs.modules.troubletickets.components.QueryTicketJustClosed"/>
<component id="3" parent="2" if="false" class="org.aspcfs.modules.troubletickets.components.QueryTicketJustAssigned"/>
<component id="4" parent="2" if="true" class="org.aspcfs.modules.components.SendEmailNotification">
<parameters>
<!-- Component parameters override the global process parameters -->
<parameter name="notification.module" value="Tickets"/>
<parameter name="notification.itemId" value="$"/>
<parameter name="notification.itemModified" value="$"/>
<parameter name="notification.userToNotify" value="$"/>
<parameter name="notification.userGroupToNotify" value="$"/>
<parameter name="notification.subject">Centric CRM Ticket Closed: $</parameter>
<parameter name="notification.body"><![CDATA[
<strong>The following ticket in Centric CRM has been closed:</strong>
--- Ticket Details ---
<strong>Ticket #</strong> $
Priority: $
Severity: $
Issue: $
Comment: $
Closed by: $
Solution: $
Contact: $
></parameter>]]
</parameters>
</component>
<component id="5" parent="3" if="true" class="org.aspcfs.modules.components.SendEmailNotification">
<parameters>
<parameter name="notification.module" value="Tickets"/>
<parameter name="notification.itemId" value="$"/>
<parameter name="notification.itemModified" value="$"/>
<parameter name="notification.userToNotify" value="$"/>
<parameter name="notification.subject">Centric CRM Ticket Assigned: $</parameter>
<parameter name="notification.body"><![CDATA[
<strong>The following ticket in Centric CRM has been assigned to you:</strong>
--- Ticket Details ---
<strong>Ticket #</strong> $
Priority: $
Severity: $
Issue: $
Assigned By: $
Comment: $
></parameter>]]
</parameters>
</component>
<component id="6" parent="2" if="true" class="org.aspcfs.modules.troubletickets.components.SendTicketSurvey" enabled="false"/>
<component id="7" parent="5" if="true" class="org.aspcfs.modules.components.SendEmailNotification">
<parameters>
<parameter name="notification.module" value="Tickets"/>
<parameter name="notification.itemId" value="$"/>
<parameter name="notification.itemModified" value="$"/>
<parameter name="notification.userGroupToNotify" value="$"/>
<parameter name="notification.skipUsers" value="$"/>
<parameter name="notification.subject">Centric CRM Ticket Assigned: $</parameter>
<parameter name="notification.body"><![CDATA[
<strong>The following ticket in Centric CRM has been assigned to: $</strong>
--- Ticket Details ---
<strong>Ticket #</strong> $
Priority: $
Severity: $
Issue: $
Assigned By: $
Comment: $
></parameter>]]
</parameters>
</component>
<component id="8" parent="2" if="true" class="org.aspcfs.modules.components.SendEmailNotification">
<parameters>
<!-- Component parameters override the global process parameters -->
<parameter name="notification.module" value="Tickets"/>
<parameter name="notification.itemId" value="$"/>
<parameter name="notification.itemModified" value="$"/>
<parameter name="notification.userToNotify" value="$"/>
<parameter name="notification.subject">Company Ticket Closed: $</parameter>
<parameter name="notification.body"><![CDATA[
<strong>The following supportticket has been closed:</strong>
--- Ticket Details ---
<strong>Ticket #</strong> $
Priority: $
Severity: $
Issue: $
Comment: $
Closed by: $
Solution: $
></parameter>]]
</parameters>
</component>
</components>
</process>
<!-- Action Step Alert Notifications -->
<process name="dhv.actionitemwork.update" description="Action Step Alert Notifications" startId="1" type="OBJECT_EVENT" module="8">
<parameters>
</parameters>
<components>
<component id="1" class="org.aspcfs.modules.actionplans.components.LoadStepDetails">
<parameters>
<!-- Component parameters override the global process parameters -->
<parameter name="linkedTicketObjectName" value="Ticket"/>
<parameter name="linkedAccountObjectName" value="Account"/>
</parameters>
</component>
<component id="2" parent="1" if="true" class="org.aspcfs.modules.actionplans.components.QueryStepJustCompleted"/>
<component id="3" parent="2" if="true" class="org.aspcfs.modules.components.SendEmailNotification">
<parameters>
<!-- Component parameters override the global process parameters -->
<parameter name="notification.module" value="Action Steps"/>
<parameter name="notification.itemId" value="$"/>
<parameter name="notification.from" value="noreply@127.0.0.1"/>
<parameter name="notification.itemModified" value="$"/>
<parameter name="notification.userToNotify" value="$"/>
<parameter name="notification.roleTo" value="$"/>
<parameter name="notification.departments.to" value="$"/>
<parameter name="notification.userGroupToNotify" value="$,$"/>
<parameter name="notification.subject">Centric CRM: Action Step Completion Alert</parameter>
<parameter name="notification.body"><![CDATA[
<strong>The following Action Step has been completed</strong>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td align="right">$:</td>
<td>$</td>
</tr>
<tr>
<td align="right">Step:</td>
<td>$</td>
</tr>
<tr>
<td align="right">Owner:</td>
<td>$</td>
</tr>
</table>
Click <a href="$$">here</a> to view the Action Plan
Centric CRM
></parameter>]]
</parameters>
</component>
<component id="4" parent="2" if="false" class="org.aspcfs.modules.actionplans.components.QueryStepJustStarted"/>
<component id="5" parent="4" if="true" class="org.aspcfs.modules.actionplans.components.QueryStepOwnerChanged"/>
<component id="6" parent="5" if="true" class="org.aspcfs.modules.components.SendEmailNotification">
<parameters>
<!-- Component parameters override the global process parameters -->
<parameter name="notification.module" value="Ticket Action Steps"/>
<parameter name="notification.itemId" value="$"/>
<parameter name="notification.itemModified" value="$"/>
<parameter name="notification.from" value="noreply@127.0.0.1"/>
<parameter name="notification.userToNotify" value="$"/>
<parameter name="notification.roleTo" value="$"/>
<parameter name="notification.departments.to" value="$"/>
<parameter name="notification.userGroupToNotify" value="$,$"/>
<parameter name="notification.subject">Centric CRM: Action Step Alert</parameter>
<parameter name="notification.body"><![CDATA[
<strong>The following Action Step requires your attention</strong>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td align="right">$:</td>
<td>$</td>
</tr>
<tr>
<td align="right">Step:</td>
<td>$</td>
</tr>
<tr>
<td align="right">Owner:</td>
<td>$</td>
</tr>
</table>
Click <a href="$$">here</a> to view the Action Plan
Centric CRM
></parameter>]]
</parameters>
</component>
<component id="7" parent="5" if="false" class="org.aspcfs.modules.components.SendEmailNotification">
<parameters>
<!-- Component parameters override the global process parameters -->
<parameter name="notification.module" value="Ticket Action Steps"/>
<parameter name="notification.itemId" value="$"/>
<parameter name="notification.from" value="noreply@127.0.0.1"/>
<parameter name="notification.itemModified" value="$"/>
<parameter name="notification.skipUsers" value="$"/>
<parameter name="notification.userGroupToNotify" value="$"/>
<parameter name="notification.subject">Centric CRM: Action Step Alert</parameter>
<parameter name="notification.body"><![CDATA[
<strong>The following Action Step requires your attention</strong>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td align="right">$:</td>
<td>$</td>
</tr>
<tr>
<td align="right">Step:</td>
<td>$</td>
</tr>
<tr>
<td align="right">Owner:</td>
<td>$</td>
</tr>
</table>
Click <a href="$$">here</a> to view the Action Plan
Centric CRM
></parameter>]]
</parameters>
</component>
</components>
</process>
<!-- Process to add up employees for all hierarchial organizations -->
<process name="dhv.update.account.employees" description="Update Number of Employees" startId="1" type="SCHEDULED_EVENT" module="1">
<parameters>
</parameters>
<components>
<component id="1" parent="0" class="org.aspcfs.modules.accounts.components.UpdateAccountEmployees" enabled="true"/>
</components>
</process>
<!-- Example of a Scheduled Event -->
<process name="dhv.report.ticketList.overdue" description="Overdue ticket notification" startId="1" type="SCHEDULED_EVENT" module="8">
<parameters>
</parameters>
<components>
<component id="1" parent="0" class="org.aspcfs.modules.troubletickets.components.GenerateTicketList" enabled="true">
<parameters>
<parameter name="ticketList.onlyOpen" value="true"/>
<parameter name="ticketList.onlyAssigned" value="true" enabled="false"/>
<parameter name="ticketList.onlyUnassigned" value="true" enabled="true"/>
<parameter name="ticketList.minutesOlderThan" value="10" enabled="true"/>
<parameter name="ticketList.lastAnchor" value="$" enabled="true"/>
<parameter name="ticketList.nextAnchor" value="$" enabled="true"/>
</parameters>
</component>
<component id="2" parent="1" class="org.aspcfs.modules.troubletickets.components.SendTicketListReport" enabled="true">
<parameters>
<!--
<parameter name="notification.to" value="support@darkhorseventures.com" enabled="false"/>
-->
<parameter name="notification.users.to" value="$"/>
<parameter name="notification.contacts.to" value="$" enabled="false"/>
<!-- not implemented
<parameter name="notification.departments.to" value="$" enabled="false"/>
-->
<parameter name="notification.subject">Centric CRM Unassigned Ticket Report ($)</parameter>
<parameter name="notification.body"><![CDATA[
- This is an automated message **
The following tickets in Centric CRM are unassigned and need attention:
></parameter>]]
<parameter name="report.ticket.content"><![CDATA[
Ticket # $
Created: $
Organization: $
Priority: $
Severity: $
Issue: $
Last Modified By: $
Comment: $
></parameter>]]
</parameters>
</component>
</components>
</process>
</processes>
</workflow>