Output the RACI value for particular role in the project

Doc. Composer allows you easily output responsibility of a role (pools and lanes in business process) against all related task and sub-process within the project at once. In this article we will demonstrate how to output all tasks related to particular role and his responsibility value by using customized templates.

Sample Code

<?xml version="1.0" encoding="UTF-8"?>
<ElementBaseInitiationBlock>
  
  <!-- Basic -->
  <Inline template="Basic (with anchor mark)"/>
  
  <!-- Chart Relations -->
  <HasValueChecker property="chartRelations">
    <Text style="@heading+">Responsibility</Text>
    <ParagraphBreak/>
    
    <TableBlock colWidths="80, 20" tableStyle="Summaries">
      <TableRow>
        <TableCell>
          <Text>Task</Text>
        </TableCell>
        <TableCell>
          <Text>Responsibility</Text>
        </TableCell>
      </TableRow>
      
      <ForEach property="chartRelations">
        <TableRow>
          <TableCell>
            <ModelElementProperty property="to">
              <Icon/>
              <Property property="name"/>
            </ModelElementProperty>
          </TableCell>
          <TableCell>
            <ModelElementProperty property="code">
              <ValueChecker property="code" value="R">
                <Text>Responsible</Text>								
              </ValueChecker>
              <ValueChecker property="code" value="A">
                <Text>Accountable</Text>								
              </ValueChecker>
              <ValueChecker property="code" value="C">
                <Text>Consulted</Text>								
              </ValueChecker>
              <ValueChecker property="code" value="I">
                <Text>Informed</Text>								
              </ValueChecker>
            </ModelElementProperty>
          </TableCell>
        </TableRow>
      </ForEach>
      
    </TableBlock>
  </HasValueChecker>
  
</ElementBaseInitiationBlock>

How to use the sample code?

  1. Open your project file with multiple Business Process Diagrams created, and pools and lanes are being reuse across multiple diagrams.
  2. On each of your Business Process diagram, right click on the blank area of the diagram and select Utilities > Generate RACI Diagram.
  3. Once you generated RACI for your business process diagrams, go to Tools > Composer > Manage Template XMLs…

    Manage Template XML

  4. Select General at the top left combo box.

    Select General category

  5. Right click on any template at the bottom left and select Duplicate…

    Duplicate any template

  6. Name the template as General/RoleResponsibility.

    Specify the name of the template

  7. Replace the template code with the sample code provided in the previous section.

    Replace template code with sample

  8. Click Save.
  9. Select Model Type at the combo box at top left.

    Select Model Type category

  10. Select Pool in the model type list.

    Select Pool model type

  11. Right click on the Basic template and select Duplicate…

    Duplicate Basic Template

  12. Name the template as RoleResponsibility.

    Name the model template

  13. Change the Inline template to General/RoleResponsibility.

    Modify inline statement of model template

  14. Repeat step 10 – 14 for Lanes.
  15. Now select Pools or Lanes in Model Explorer, and then drag out the RoleResponsibility from Template Pane onto document. The RACI value of the selected pools and lanes against all related tasks in the project are shown in the document.

    Drag & drop template to document

Explanation of sample code

The sample code demonstrate how to retrieve all RACI value of a role (pools or lanes) in the entire project. The RACI value act like a logical relationship between the role and task. We can use the chartRelations on the role (pools and lanes) to retrieve its RACI value against the tasks and sub-processes in the project.

<HasValueChecker property="chartRelations">
  <Text style="@heading+">Responsibility</Text>
  <ParagraphBreak/>
  
  <TableBlock colWidths="80, 20" tableStyle="Summaries">
    <TableRow>
      <TableCell>
        <Text>Task</Text>
      </TableCell>
      <TableCell>
        <Text>Responsibility</Text>
      </TableCell>
    </TableRow>
    
    <ForEach property="chartRelations">

Once we retrieved the chartRelations we can perform conditional formatting to printout a proper responsibility value.

<ModelElementProperty property="code">
  <ValueChecker property="code" value="R">
    <Text>Responsible</Text>								
  </ValueChecker>
  <ValueChecker property="code" value="A">
    <Text>Accountable</Text>								
  </ValueChecker>
  <ValueChecker property="code" value="C">
    <Text>Consulted</Text>								
  </ValueChecker>
  <ValueChecker property="code" value="I">
    <Text>Informed</Text>								
  </ValueChecker>
</ModelElementProperty>

Finally we create templates under Pool and Lane and reference to this template to output the RACI value.

<?xml version="1.0" encoding="UTF-8"?>
<ElementBaseInitiationBlock>
  
  <Inline template="General/RoleResponsibility"/>
    
</ElementBaseInitiationBlock>

Related Know-how

Related Link