Gantt Dependency Notifications

Requirements

The following things are needed to get the most out of this article.

Set up Gantt Dependencies

If you're not sure how to create dependencies between things on the Gantt view, please see the section on Dependencies in the Gantt Views article.

Please be aware that the workflow described in this article was designed for Finish-Start dependencies between tasks only (where task B cannot start until task A is completed).

Make sure the Workflow is present and active

In the Object Meets Criteria Workflow list, there should be a workflow named "Next Task Notification Email". If this is not present, please see "The Workflow Definition" at the end of this article.

If you're not sure how to import a workflow, please see the document on Importing Workflows.

Once it is there, please make sure the Active box is checked - if it isn't, edit the workflow and check the box.

Make sure the Email Template is present and set up correctly

In the Email Templates list, please make sure the "Next Task Notification Email" template is present. If not, please create an email template with that name, and modify the body to add your desired message.

The Workflow Service

Please contact CreataCRM to make sure the workflow service has been set up for your site.

The Workflow

The workflow is based around Criteria. We have set it up so that whenever a task is completed, the workflow runs for that task.

Setup

The important parts of this setup are the Active checkbox, the Target Type and the Criteria. The name itself is not important, although it helps to have it be meaningful.

  1. Active must be checked or the workflow will be ignored by the service. Please be aware that if you do need to change this, it can take up to an hour for the workflow service to pick up the newly active workflow.
  2. Target Object Type should be Task.
  3. The Criteria should be "[DateCompleted] is not null".
  4. If you have existing tasks with dependencies in your database, we recommend also adding the second part of the criteria, "And [DateCompleted] >= #2018-03-30#", replacing the date with Today's date in Year-Month-Day format. The hashes are important, and tell the criteria evaluator that what is inside them is a date.

What it does

When a task is marked as completed, the workflow searches the database for dependencies of that task, and sends an email to each user on that Task.

It does not check the dependency type, so all dependencies for that task (whether they be Start-Start, Finish-Start, Finish-Finish or Start-Finish) will be alerted.

This also does not work for Jobs on either end of the dependency - the workflow assumes all of the dependencies are between tasks.

The Workflow Definition

If the workflow was not present in your database, please import the following definition. If you need help with importing, please see the Importing Workflows article.

<xml xmlns="http://www.w3.org/1999/xhtml"><block type="variables_set" id="1" x="160" y="107"><field name="To">id</field><value name="Value"><block type="get_member" id="2"><field name="TypeName">CreataCRM.Library.Tasks.Task</field><field name="TheField">Oid</field><value name="TheObject"><block type="target_object_get" id="3"></block></value></block></value><next><block type="variables_set" id="4"><field name="To">nextTasks</field><value name="Value"><block type="get_objects" id="5"><field name="TypeName">CreataCRM.Library.Projects.GanttDependency</field><value name="Filter"><block type="string_format" id="6"><mutation params="1"></mutation><field name="FormatParam0">Id</field><value name="FormatString"><block type="text" id="7"><field name="TEXT">[PredecessorId] = '*|Id|*'</field></block></value><value name="FormatValue0"><block type="variables_get" id="8"><field name="VAR">id</field></block></value></block></value></block></value><next><block type="controls_forEach" id="9"><field name="Argument">task</field><value name="Values"><block type="variables_get" id="10"><field name="VAR">nextTasks</field></block></value><statement name="Handler"><block type="variables_set" id="11"><field name="To">item1</field><value name="Value"><block type="find_object" id="12"><field name="TypeName">CreataCRM.Library.Tasks.Task</field><value name="Filter"><block type="string_format" id="13"><mutation params="1"></mutation><field name="FormatParam0">Id</field><value name="FormatString"><block type="text" id="14"><field name="TEXT">[Oid] = '*|Id|*'</field></block></value><value name="FormatValue0"><block type="get_member" id="15"><field name="TypeName">CreataCRM.Library.Projects.GanttDependency</field><field name="TheField">SuccessorId</field><value name="TheObject"><block type="variables_get" id="16"><field name="VAR">task</field></block></value></block></value></block></value></block></value><next><block type="controls_if" id="17"><value name="IF0"><block type="logic_compare" id="18"><field name="LogicOperation">Equal</field><value name="LeftOperand"><block type="get_member" id="19"><field name="TypeName">CreataCRM.Library.Tasks.Task</field><field name="TheField">IsReady</field><value name="TheObject"><block type="variables_get" id="20"><field name="VAR">item1</field></block></value></block></value><value name="RightOperand"><block type="logic_boolean" id="21"><field name="BOOL">TRUE</field></block></value></block></value><statement name="DO0"><block type="controls_forEach" id="22"><field name="Argument">assigned</field><value name="Values"><block type="get_member" id="23"><field name="TypeName">CreataCRM.Library.Tasks.Task</field><field name="TheField">AssignedUsers</field><value name="TheObject"><block type="variables_get" id="24"><field name="VAR">item1</field></block></value></block></value><statement name="Handler"><block type="variables_set" id="25"><field name="To">user</field><value name="Value"><block type="get_member" id="26"><field name="TypeName">CreataCRM.Library.Tasks.TaskAssignedUser</field><field name="TheField">User</field><value name="TheObject"><block type="variables_get" id="27"><field name="VAR">assigned</field></block></value></block></value><next><block type="send_simple_email_v2" id="28"><mutation attachtocount="0" attachment="0"></mutation><field name="BodyIsHtml">TRUE</field><value name="To"><block type="get_member" id="36"><field name="TypeName">CreataCRM.Library.Security.ExtendedUser</field><field name="TheField">Email</field><value name="TheObject"><block type="variables_get" id="37"><field name="VAR">user</field></block></value></block></value><value name="User"><block type="variables_get" id="30"><field name="VAR">user</field></block></value><value name="Subject"><block type="get_member" id="31"><field name="TypeName">CreataCRM.Library.Campaigns.EmailTemplate</field><field name="TheField">Subject</field><value name="TheObject"><block type="find_object" id="32"><field name="TypeName">CreataCRM.Library.Campaigns.EmailTemplate</field><value name="Filter"><block type="text" id="33"><field name="TEXT">[Name] = 'Next Task Notification Email'</field></block></value></block></value></block></value><value name="Body"><block type="MergeEmailTemplateBlock" id="34"><field name="TemplateName">Next Task Notification Email</field><value name="MergeTarget"><block type="variables_get" id="35"><field name="VAR">item1</field></block></value></block></value></block></next></block></statement></block></statement></block></next></block></statement></block></next></block></next></block></xml>

results matching ""

    No results matching ""