A Document Type is an object that brings workflow components together into a cohesive unit (routing configuration). One of its primary responsibilities is to define the routing path for a document. The routing path is the process definition for the document. It can consist of various types of nodes that perform certain actions, such as sending action requests to responsible parties, transmitting emails, or splitting the route path into parallel branches.
In addition to the routing path, it contains the Post Processor which receives event callbacks from the engine, the DocHandler which is the access point into the client application from the Action List and Access Control for certain actions. It can also define various policies that control how documents of that type are processed by the workflow engine.
This document has four parts:
A detailed explanation of the common fields in the Document Type XML definition
An example of each Document Type with a description of each field in it
Descriptions of the Document Type policies
A description of inheritance as applied to Document Types
There are some common attributes in every Document Type, but each Document Type can be customized to provide different functions.
Document Types
Document Type Policies
Inheritance
Table 3.9. Common Fields in Document Type XML Definition
Field | Description |
---|---|
name | The name of the Document Type |
parent | The parent Document Type of this Document Type. Each Child Document Type inherits the attributes of its parent Document Type. |
description | The description of the Document Type; its primary responsibilities. |
label | The label of the Document Type, how it’s recognized |
postProcessorName | The name of the postProcessor that takes charge of the routing for this Document Type |
postprocessor | A component that gets called throughout the routing process and handles a set of standard events that all eDocs (electronic documents) go through. |
superUserGroupName | The name of a workgroup whose members are the super users of this Document Type. Super users of this Document Type can execute a super user document search on this Document Type. |
blanketApproveGroupName | The name of a workgroup whose members have the blanketapprove rights over this Document Type. |
defaultExceptionGroupName | The name of the workgroup whose members receive an exception notice when a document of this Document Type encounters an exception in its routing. |
docHandler | The DocHandler that handles the routing of this Document Type |
active | A true or false indicator for the active status of this document |
policies | The policies that apply to this Document Type |
policy | The policy that applies to this Document Type. Use this when there is only one policy for the Document Type. value: A true or false indicator for whether the action for the policy will be taken |
routingVersion | This field exists only for backward compatibility with older versions of KEW. Originally, KEW only supported sequential routing paths (as opposed to those with splits and joins). The KEW getDocRouteLevel() API returns an integer that represents the numerical step in the routing process. This number only has meaning for those documents that define sequential routing.
|
routePaths | The routing paths for this Document Type |
routePath | The routing path for this Document Type. Use this field when there is just one routing path for this Document Type. |
routeNode | A point or node on the routing path of this Document Type |
routeModule | The most basic module; it allows KEW to generate Action Requests |
start | The starting node of this Document Type during routing |
requests | The requested next node in the routing of this Document Type |
activationType | The activation type of the next node that is requested by this Document Type. There are two activation types:
|
ruleTemplate | The ruleTemplate that applies to the routing node in this Document Type |
split | The routing path splits into branches and can continue on any of them at a split. |
branch | One of the branches in the routing path. |
join | The point in the routing path where the split branches join together. |
process | There is a sub-process in the routing path; in other words, some nodes in the routing path will activate a sub-process. |
simple | A new node in the routing path
|
dynamic | This changes the node to dynamic when it transitions to the next node in the routing path; therefore, the routing path is dynamic rather than static. |
BlanketApproveTest
<documentType> <name>BlanketApproveTest</name> <description>BlanketApproveTest</description> <label>BlanketApproveTest</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <policies> <policy> <name>DEFAULT_APPROVE</name> <value>false</value> </policy> </policies> </documentType>
name: This is the Document Type for Blanket Approve Test.
description: This Document Type is used to test the Blanket Approve function.
label: This Document Type is recognized as the BlanketApproveTest type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently Active. In other words, it is in use.
Policies for this Document Type contains two policies: The DEFAULT_APPROVE policy is set false by default. In other words, the default approve action on this type of document is NOT to approve it.
BlanketApproveSequentialTest
<documentType> <name>BlanketApproveSequentialTest</name> <parent>BlanketApproveTest</parent> <description>BlanketApproveSequentialTest</description> <label>BlanketApproveSequentialTest</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW”>WorkflowAdmin</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”>WorkflowAdmin</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <routePaths> <routePath> <start name="AdHoc" nextNode="WorkflowDocument" /> <requests name="WorkflowDocument" nextNode="WorkflowDocument2" /> <requests name="WorkflowDocument2" nextNode="Acknowledge1" /> <requests name="Acknowledge1" nextNode="Acknowledge2" /> <requests name="Acknowledge2" /> </routePath> </routePaths> <routeNodes> <start name="AdHoc"> <activationType>P</activationType> </start> <requests name="WorkflowDocument"> <activationType>P</activationType> <ruleTemplate>WorkflowDocumentTemplate</ruleTemplate> </requests> <requests name="WorkflowDocument2"> <activationType>P</activationType> <ruleTemplate>WorkflowDocument2Template</ruleTemplate> </requests> <requests name="Acknowledge1"> <activationType>P</activationType> <ruleTemplate>Ack1Template</ruleTemplate> </requests> <requests name="Acknowledge2"> <activationType>P</activationType> <ruleTemplate>Ack2Template</ruleTemplate> </requests> </routeNodes> </documentType>
name: This is the Document Type for Blanket Approve Sequential Test. There is a sequence of routing nodes, and no routing node can be skipped.
parent: The parent Document Type is BlanketApproveTest. This Document Type inherits the policies that BlanketApproveTest has.
description: This Document Type is used to test the Blanket Approve Sequential function.
label: This Document Type is recognized as the blanketApproveSequentialTest type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the WorkflowAdmin.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApprove right on this type of document.
defaultExceptionGroupName: The members of the WorkflowAdmin will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
routePath: The routing path for this Document Type is: AdHoc -> WorkflowDocument -> WorkflowDocument2 -> Acknowledge1 -> Acknowledge2.
routeNode: Based on the routePath, there are five nodes in the routing of this Document Type:
The starting node for this Document Type is AdHoc. On the initiation of a document of this type, the postProcessor in Kuali Enterprise Workflow (KEW) activates the node, AdHoc.
The next node in the routing for this Document Type is WorkflowDocument. On request, the node is activated and applies the rules in rule template, WorkflowDocumentTemplate.
The next node in the routing for this Document Type is WorkflowDocument2. On request, the node is activated and applies the rules in rule template, WorkflowDocument2Template.
The next node in the routing for this Document Type is Acknowledge1. On request, the node is activated and applies the rules in rule template, Ack1Template.
The next node in the routing for this Document Type is Acknowledge2. On request, the node is activated and applies the rules in rule template, Ack2Template.
BlanketApproveParallelTest
<documentType> <name>BlanketApproveParallelTest</name> <parent>BlanketApproveTest</parent> <description>BlanketApproveParallelTest</description> <label>BlanketApproveParallelTest</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <routePaths> <routePath> <start name="AdHoc" nextNode="WorkflowDocument" /> <requests name="WorkflowDocument" nextNode="Split" /> <split name="Split" nextNode="WorkflowDocumentFinal"> <branch name="B1"> <requests name="WorkflowDocument2-B1" nextNode="WorkflowDocument3-B1" /> <requests name="WorkflowDocument3-B1" nextNode="Join" /> </branch> <branch name="B2"> <requests name="WorkflowDocument3-B2" nextNode="WorkflowDocument2-B2" /> <requests name="WorkflowDocument2-B2" nextNode="Join" /> </branch> <branch name="B3"> <requests name="WorkflowDocument4-B3" nextNode="Join" /> </branch> <join name="Join" /> </split> <requests name="WorkflowDocumentFinal" nextNode="Acknowledge1" /> <requests name="Acknowledge1" nextNode="Acknowledge2" /> <requests name="Acknowledge2" /> </routePath> </routePaths> <routeNodes> <start name="AdHoc"> <activationType>P</activationType> </start> <requests name="WorkflowDocument"> <activationType>P</activationType> <ruleTemplate>WorkflowDocumentTemplate</ruleTemplate> </requests> <split name="Split" /> <requests name="WorkflowDocument2-B1"> <activationType>P</activationType> <ruleTemplate>WorkflowDocument2Template</ruleTemplate> </requests> <requests name="WorkflowDocument2-B2"> <activationType>P</activationType> <ruleTemplate>WorkflowDocument2Template</ruleTemplate> </requests> <requests name="WorkflowDocument3-B1"> <activationType>P</activationType> <ruleTemplate>WorkflowDocument3Template</ruleTemplate> </requests> <requests name="WorkflowDocument3-B2"> <activationType>P</activationType> <ruleTemplate>WorkflowDocument3Template</ruleTemplate> </requests> <requests name="WorkflowDocument4-B3"> <activationType>P</activationType> <ruleTemplate>WorkflowDocument4Template</ruleTemplate> </requests> <join name="Join" /> <requests name="WorkflowDocumentFinal"> <activationType>P</activationType> <ruleTemplate>WorkflowDocumentFinalTemplate</ruleTemplate> </requests> <requests name="Acknowledge1"> <activationType>P</activationType> <ruleTemplate>Ack1Template</ruleTemplate> </requests> <requests name="Acknowledge2"> <activationType>P</activationType> <ruleTemplate>Ack2Template</ruleTemplate> </requests> </routeNodes> </documentType>
name: This is the Document Type for Blanket Approve Parallel Test. At some point in the routing, the route path may split and a node can be skipped if another parallel node takes action on the document.
Parent: The parent Document Type is BlanketApproveTest. This Document Type inherits the routing that exists for BlanketApproveTest.
description: This Document Type is used to test the Blanket Approve Parallel function.
label: This Document Type is recognized as the blanketApproveParallelTest type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
routePath: The routing path for this Document Type is: AdHoc -> WorkflowDocument -> split -> B1\B2\B3 -> Join -> WorkflowDocumentFinal -> Acknowledge1 -> Acknowledge2.
routeNode: Based on the routePath, there are six nodes in the routing of this Document Type:
The starting node for this Document Type is AdHoc. On the initiation of a document of this type, the postProcessor in KEW activates the node, AdHoc.
The next node in the routing for this Document Type is WorkflowDocument. On request, the node is activated and applies the rules in rule template, WorkflowDocumentTemplate. Then, the routing path splits into three branches for the next node.
One branch is B1. On request, the node WorkflowDocument2-B1 is activated and applies the WorkflowDocument2Template. The next node in this branch is WorkflowDocument3-B1. On request, the node is activated and applies the WorkflowDocument3Template.
One branch is B2. On request, the node WorkflowDocument3-B2 is activated and applies the WorkflowDocument3Template. The next node in this branch is WorkflowDocument2-B2. On request, the node is activated and applies the WorkflowDocument2Template.
One branch is B3. On request, the node WorkflowDocument4-B3 is activated and applies the WorkflowDocument4Template.
Then, the routing path joins and the route merges back together into one route.
The next node in the routing for this Document Type is WorkflowDocumentFinal. On request, the node is activated and applies the rules in rule template, WorkflowDocumentFinalTemplate.
The next node in the routing for this Document Type is Acknowledge1. On request, the node is activated and applies the rules in rule template, Ack1Template.
The next node in the routing for this Document Type is Acknowledge2. On request, the node is activated and applies the rules in rule template, Ack2Template.
NotificationTest
<documentType> <name>NotificationTest</name> <description>NotificationTest</description> <label>NotificationTest</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <routePaths> <routePath> <start name="AdHoc" nextNode="NotifyFirst" /> <requests name="NotifyFirst" nextNode="Split" /> <split name="Split" nextNode="NotifyFinal"> <branch name="LeftBranch"> <requests name="NotifyLeftBranch" nextNode="Join" /> </branch> <branch name="RightBranch"> <requests name="NotifyRightBranch" nextNode="Join" /> </branch> <join name="Join" /> </split> <requests name="NotifyFinal" /> </routePath> </routePaths> <routeNodes> <start name="AdHoc"> <activationType>P</activationType> </start> <requests name="NotifyFirst"> <activationType>P</activationType> <ruleTemplate>NotifyFirstTemplate</ruleTemplate> </requests> <split name="Split" /> <requests name="NotifyLeftBranch"> <activationType>P</activationType> <ruleTemplate>NotifyLeftBranchTemplate</ruleTemplate> </requests> <requests name="NotifyRightBranch"> <activationType>P</activationType> <ruleTemplate>NotifyRightBranchTemplate</ruleTemplate> </requests> <join name="Join" /> <requests name="NotifyFinal"> <activationType>P</activationType> <ruleTemplate>NotifyFinalTemplate</ruleTemplate> </requests> </routeNodes> </documentType>
name: This is the Document Type for Notification Test. At some point in the routing, the route path may split, and a node can be skipped if another notification node takes action on the document.
description: This Document Type is used to test the notification function.
label: This Document Type is recognized as the NotificationTest type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
routePath: The routing path for this Document Type is: AdHoc -> NotifyFirst -> split -> LeftBranch\RightBranch -> Join -> NotifyFinal.
routeNode: Based on the routePath, there are four nodes in the routing of this Document Type:
o The starting node for this Document Type is AdHoc. On the initiation of a document of this type, the postProcessor in KEW activates the node, AdHoc.
The next node in the routing for this Document Type is NotifyFirst. On request, the node is activated and applies the rules in rule template, NotifyFirstTemplate. Then the routing path splits into two branches for the next node.
One branch is LeftBranch. On request, the node is activated and applies the NotifyLeftBranchTemplate.
One branch is RightBranch. On request, the node is activated and applies the NotifyRightBranchTemplate.
Then the routing path joins together again.
The next node in the routing for this Document Type is NotifyFinal. On request, the node is activated and applies the rules in rule template, NotifyFinalTemplate
NotificationTestChild
<documentType> <name>NotificationTestChild</name> <parent>NotificationTest</parent> <description>NotificationTest</description> <label>NotificationTest</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <policies> <policy> <name>SEND_NOTIFICATION_ON_SU_APPROVE</name> <value>true</value> </policy> </policies> </documentType>
name: This is the Document Type for Notification Test Child.
Parent: The parent Document Type is NotificationTest. This Document Type inherits the routing that NotificationTest has.
description: This Document Type is used to test the Notification function.
label: This Document Type is recognized as the NotificationTest type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
Policy: There is only one policy that applies to this Document Type: SEND_NOTIFICATION_ON_SU_APPROVE. This policy currently applies to this Document Type. In other words, a notification will be sent to the designated two users when a SuperUser approves a document of this type.
BlanketApproveMandatoryNodeTest
<documentType> <name>BlanketApproveMandatoryNodeTest</name> <parent>BlanketApproveTest</parent> <description>BlanketApproveMandatoryNodeTest</description> <label>BlanketApproveMandatoryNodeTest</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <routePaths> <routePath> <start name="AdHoc" nextNode="WorkflowDocument" /> <requests name="WorkflowDocument" nextNode="WorkflowDocument2" /> <requests name="WorkflowDocument2" nextNode="Acknowledge1" /> <requests name="Acknowledge1" nextNode="Acknowledge2" /> <requests name="Acknowledge2" /> </routePath> </routePaths> <routeNodes> <start name="AdHoc"> <activationType>P</activationType> </start> <requests name="WorkflowDocument"> <activationType>P</activationType> <ruleTemplate>WorkflowDocumentTemplate</ruleTemplate> <mandatoryRoute>true</mandatoryRoute> </requests> <requests name="WorkflowDocument2"> <activationType>P</activationType> <ruleTemplate>WorkflowDocument2Template</ruleTemplate> <mandatoryRoute>true</mandatoryRoute> <finalApproval>true</finalApproval> </requests> <requests name="Acknowledge1"> <activationType>P</activationType> <ruleTemplate>Ack1Template</ruleTemplate> </requests> <requests name="Acknowledge2"> <activationType>P</activationType> <ruleTemplate>Ack2Template</ruleTemplate> </requests> </routeNodes> </documentType>
name: This is the Document Type for Blanket Approve Mandatory Node Test.
Parent: The parent Document Type is BlanketApproveTest. This Document Type inherits the policies that NotificationTest has.
description: This Document Type is used to test the Blanket Approve Mandatory Node.
label: This Document Type is recognized as the BlanketApproveMandatoryNodeTest type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
routePath: The routing path for this Document Type is: AdHoc -> WorkflowDocument -> WorkflowDocument2 -> Acknowledge1 -> Acknowledge2.
routeNode: Based on the routePath, there are five nodes in the routing of this Document Type:
The starting node for this Document Type is AdHoc. On the initiation of a document of this type, the postProcessor in KEW activates the node AdHoc.
The next node in the routing for this Document Type is WorkflowDocument. On request, the node is activated, applies the rules in rule template, WorkflowDocumentTemplate, and sets the mandatory route as true. In other words, the document must route through this node.
The next node in the routing for this Document Type is WorkflowDocument2. On request, the node is activated, applies the rules in rule template, WorkflowDocument2Template, and sets the mandatory route as true. In other words, the document must route through this node.
The next node in the routing for this Document Type is Acknowledge1. On request, the node is activated and applies the rules in rule template, Ack1Template.
The next node in the routing for this Document Type is Acknowledge2. On request, the node is activated and applies the rules in rule template, Ack2Template.
SaveActionEventTest
<documentType> <name>SaveActionEventTest</name> <description>SaveActionEventTest</description> <label>SaveActionEventTest</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <policies> <policy> <name>DEFAULT_APPROVE</name> <value>false</value> </policy> </policies> <routePaths> <routePath> <start name="AdHoc" nextNode="WorkflowDocument" /> <requests name="WorkflowDocument" /> </routePath> </routePaths> <routeNodes> <start name="AdHoc"> <activationType>P</activationType> </start> <requests name="WorkflowDocument"> <activationType>P</activationType> <ruleTemplate>WorkflowDocumentTemplate</ruleTemplate> </requests> </routeNodes> </documentType>
name: This is the Document Type for Save Action Event Test.
description: This Document Type is used to test the Blanket Approve Mandatory Node.
label: This Document Type is recognized as the SaveActionEventTest type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
Policies for this Document Type: The DEFAULT_APPROVE policy is set false by default. In other words, the default approve action on this type of document is NOT to approve it.
routePath: The routing path for this Document Type is: AdHoc -> WorkflowDocument.
routeNode: Based on the routePath, there are two nodes in the routing of this Document Type:
The starting node for this Document Type is AdHoc. On the initiation of a document of this type, the postProcessor in KEW activates the node AdHoc.
The next node in the routing for this Document Type is WorkflowDocument. On request, the node is activated and applies the rules in rule template WorkflowDocumentTemplate.
SaveActionEventTestNonInitiator
<documentType> <name>SaveActionEventTestNonInitiator</name> <description>SaveActionEventTest With No Initiator Only Save Required</description> <label>SaveActionEventTestNonInitiator</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <policies> <policy> <name>DEFAULT_APPROVE</name> <value>false</value> </policy> <policy> <name>INITIATOR_MUST_SAVE</name> <value>false</value> </policy> </policies> <routePaths> <routePath> <start name="AdHoc" nextNode="WorkflowDocument" /> <requests name="WorkflowDocument" /> </routePath> </routePaths> <routeNodes> <start name="AdHoc"> <activationType>P</activationType> </start> <requests name="WorkflowDocument"> <activationType>P</activationType> <ruleTemplate>WorkflowDocumentTemplate</ruleTemplate> </requests> </routeNodes> </documentType>
name: This is the Document Type for Save Action Event Test Non Initiator.
description: This Document Type is used to test the saving of an action event by non-initiator.
label: This Document Type is recognized as the SaveActionEventTestNonInitiator type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
Policies for this Document Type:
The DEFAULT_APPROVE policy is set false by default. In other words, the default approve action on this type of document is NOT to approve it.
The INITIATOR_MUST_SAVE policy is set false by default. In other words, the initiator does NOT have to save the document for the non-initiator to save the actions on it.
routePath: The routing path for this Document Type is: AdHoc -> WorkflowDocument.
routeNode: Based on the routePath, there are two nodes in the routing of this Document Type:
The starting node for this Document Type is AdHoc. On the initiation of a document of this type, the postProcessor in KEW activates the node AdHoc.
The next node in the routing for this Document Type is WorkflowDocument. On request, the node is activated and applies the rules in rule template, WorkflowDocumentTemplate.
TakeWorkgroupAuthorityDoc
<documentType> <name>TakeWorkgroupAuthorityDoc</name> <description>TakeWorkgroupAuthority Action Test</description> <label>TakeWorkgroupAuthorityDoc</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <policies> <policy> <name>DEFAULT_APPROVE</name> <value>false</value> </policy> </policies> <routePaths> <routePath> <start name="AdHoc" nextNode="WorkgroupByDocument" /> <requests name="WorkgroupByDocument" /> </routePath> </routePaths> <routeNodes> <start name="AdHoc"> <activationType>P</activationType> </start> <requests name="WorkgroupByDocument"> <activationType>P</activationType> <ruleTemplate>WorkgroupByDocument</ruleTemplate> </requests> </routeNodes> </documentType>
name: This is the Document Type for Take Workgroup Authority Doc.
description: This Document Type is used to decide authorized workgroups by Document Type.
label: This Document Type is recognized as the TakeWorkgroupAuthorityDoc type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
Policies for this Document Type: The DEFAULT_APPROVE policy is set false by default. In other words, the default approve action on this type of document is NOT to approve it.
routePath: The routing path for this Document Type is: AdHoc -> WorkflowDocument.
routeNode: Based on the routePath, there are two nodes in the routing of this Document Type:
The starting node for this Document Type is AdHoc. On the initiation of a document of this type, the postProcessor in KEW activates the node AdHoc.
The next node in the routing for this Document Type is WorkflowDocument. On request, the node is activated and applies the rules in rule template, WorkflowDocumentTemplate.
MoveSequentialTest
<documentType> <name>MoveSequentialTest</name> <parent>BlanketApproveTest</parent> <description>Move Sequential Test</description> <label>Move Sequential Test</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <routePaths> <routePath> <start name="AdHoc" nextNode="WorkflowDocument" /> <requests name="WorkflowDocument" nextNode="WorkflowDocument2" /> <requests name="WorkflowDocument2" nextNode="Acknowledge1" /> <requests name="Acknowledge1" nextNode="Acknowledge2" /> <requests name="Acknowledge2" /> </routePath> </routePaths> <routeNodes> <start name="AdHoc"> <activationType>P</activationType> </start> <requests name="WorkflowDocument"> <activationType>P</activationType> <ruleTemplate>WorkflowDocumentTemplate</ruleTemplate> </requests> <requests name="WorkflowDocument2"> <activationType>P</activationType> <ruleTemplate>WorkflowDocument2Template</ruleTemplate> </requests> <requests name="Acknowledge1"> <activationType>P</activationType> <ruleTemplate>Ack1Template</ruleTemplate> </requests> <requests name="Acknowledge2"> <activationType>P</activationType> <ruleTemplate>Ack2Template</ruleTemplate> </requests> </routeNodes> </documentType>
name: This is the Document Type for Move Sequential Test.
Parent: The parent Document Type is BlanketApproveTest. This Document Type inherits the policies that BlanketApproveTest has.
description: This Document Type is used to test Move Sequence.
label: This Document Type is recognized as MoveSequentialTest type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
routePath: The routing path for this Document Type is: AdHoc -> WorkflowDocument -> WorkflowDocument2 -> Acknowledge1 -> Acknowledge2.
routeNode: Based on the routePath, there are five nodes in the routing of this Document Type:
The starting node for this Document Type is AdHoc. On the initiation of a document of this type, the postProcessor in KEW activates the node AdHoc.
The next node in the routing for this Document Type is WorkflowDocument. On request, the node is activated, applies the rules in rule template, WorkflowDocumentTemplate, and sets the mandatory route as true. In other words, the document must route through this node.
The next node in the routing for this Document Type is WorkflowDocument2. On request, the node is activated, applies the rules in rule template, WorkflowDocument2Template, and sets the mandatory route as true. In other words, the document must route through this node.
The next node in the routing for this Document Type is Acknowledge1. On request, the node is activated and applies the rules in rule template, Ack1Template.
The next node in the routing for this Document Type is Acknowledge2. On request, the node is activated and applies the rules in rule template, Ack2Template.
MoveInProcessTest
<documentType> <name>MoveInProcessTest</name> <parent>BlanketApproveTest</parent> <description>Move In Process Test</description> <label>Move In Process Test</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <routePaths> <routePath> <start name="AdHoc" nextNode="WorkflowDocument" /> <requests name="WorkflowDocument" nextNode="MyRadSubProcess" /> <process name="MyRadSubProcess" nextNode="WorkflowDocumentFinal" /> <requests name="WorkflowDocumentFinal" /> </routePath> <routePath processName="MyRadSubProcess" initialNode="WorkflowDocument2"> <requests name="WorkflowDocument2" nextNode="WorkflowDocument3" /> <requests name="WorkflowDocument3" /> </routePath> </routePaths> <routeNodes> <start name="AdHoc"> <activationType>P</activationType> </start> <requests name="WorkflowDocument"> <activationType>P</activationType> <ruleTemplate>WorkflowDocumentTemplate</ruleTemplate> </requests> <process name="MyRadSubProcess" /> <requests name="WorkflowDocument2"> <activationType>P</activationType> <ruleTemplate>WorkflowDocument2Template</ruleTemplate> </requests> <requests name="WorkflowDocument3"> <activationType>P</activationType> <ruleTemplate>WorkflowDocument3Template</ruleTemplate> </requests> <requests name="WorkflowDocumentFinal"> <activationType>P</activationType> <ruleTemplate>WorkflowDocumentFinalTemplate</ruleTemplate> </requests> </routeNodes> </documentType>
name: This is the Document Type for Move In Process Test.
Parent: The parent Document Type for this Document Type is BlanketApproveTest. This Document Type inherits the policies that BlanketApproveTest has.
description: This Document Type is used to test Move In Process.
label: This Document Type is recognized as the MoveInProcessTest type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
routePath: The routing path for this Document Type is: AdHoc -> WorkflowDocument -> MyRadSub Process -> WorkflowDocument2 -> WorkflowDocument3 -> WorkflowDocumentFinal. There is a sub-process MyRadSubProcess in this path.
routeNode: As can be seen from the routePath, there are five nodes in the routing of this Document Type:
The starting node for this Document Type is AdHoc. On the initiation of a document of this type, the postProcessor in KEW activates the node AdHoc.
The next node in the routing for this Document Type is WorkflowDocument. On request, the node is activated, applies the rules in rule template, WorkflowDocumentTemplate, and initiates a sub process MyRadSubProcess.
The next node in MyRadSubProcess for this Document Type is WorkflowDocument2. On request, the node is activated and applies the rules in rule template, WorkflowDocument2Template.
The next node in MyRadSubProcess for this Document Type is WorkflowDocument3. O the request, the node is activated and applies the rules in rule template, WorkflowDocument3Template.
The next node in the routing for this Document Type is WorkflowDocumentFinal. On request, the node is activated and applies the rules in rule template WorkflowDocumentFinalTemplate.
AdhocRouteTest
<documentType> <name>AdhocRouteTest</name> <description>AdhocRouteTest</description> <label>AdhocRouteTest</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <routePaths> <routePath> <start name="AdHoc" nextNode="One" /> <requests name="One" /> </routePath> </routePaths> <routeNodes> <start name="AdHoc"> <activationType>P</activationType> </start> <requests name="One"> <activationType>S</activationType> <ruleTemplate>WorkflowDocumentTemplate</ruleTemplate> </requests> </routeNodes> </documentType>
name: This is the Document Type for Adhoc Route Test.
description: This Document Type is used to test Ad Hoc Route.
label: This Document Type is recognized as the AdhocRouteTest type.
postProcessorName: the postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
routePath: The routing path for this Document Type is: AdHoc -> One.
routeNode: Based on the routePath, there are two nodes in the routing of this Document Type:
The starting node for this Document Type is AdHoc. On the initiation of a document of this type, the postProcessor in KEW activates the node AdHoc.
The next node in the routing for this Document Type is One. On request, the node is activated by the type S and applies the rules in rule template, WorkflowDocumentTemplate.
PreApprovalTest
<documentType> <name>PreApprovalTest</name> <description>PreApprovalTest</description> <label>PreApprovalTest</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <routePaths> <routePath> <start name="AdHoc" nextNode="PreApprovalTestOne" /> <requests name="PreApprovalTestOne" /> </routePath> </routePaths> <routeNodes> <start name="AdHoc"> <activationType>P</activationType> </start> <requests name="PreApprovalTestOne"> <activationType>S</activationType> <ruleTemplate>WorkflowDocumentTemplate</ruleTemplate> </requests> </routeNodes> </documentType>
name: This is the Document Type for PreApprovalTest.
description: This Document Type is used to test Pre-Approval.
label: This Document Type is recognized as the PreApprovalTest type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type. • docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
routePath: The routing path for this Document Type is: AdHoc -> PreApprovalTestOne.
routeNode: Based on the routePath, there are two nodes in the routing of this Document Type:
The starting node for this Document Type is AdHoc. On the initiation of a document of this type, the postProcessor in KEW activates the node AdHoc.
The next node in the routing for this Document Type is PreApprovalTestOne. On request, the node is activated by the type S and applies the rules in rule template, WorkflowDocumentTemplate.
VariablesTest
<documentType> <name>VariablesTest</name> <description>VariablesTest</description> <label>VariablesTest</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <routePaths> <routePath> <start name="AdHoc" nextNode="setStartedVar" /> <simple name="setStartedVar" nextNode="setCopiedVar"/> <simple name="setCopiedVar" nextNode="PreApprovalTestOne"/> <requests name="PreApprovalTestOne" nextNode="setEndedVar"/> <simple name="setEndedVar" nextNode="setGoogleVar"/> <simple name="setGoogleVar" nextNode="setXPathVar"/> <simple name="setXPathVar" nextNode="resetStartedVar"/> <simple name="resetStartedVar" nextNode="logNode"/> <simple name="logNode" nextNode="logNode2"/> <simple name="logNode2"/> </routePath> </routePaths> <routeNodes> <start name="AdHoc"> <activationType>P</activationType> </start> <simple name="setStartedVar"> <type>org.kuali.rice.kew.engine.node.var.SetVarNode</type> <name>started</name> <value>startedVariableValue</value> </simple> <simple name="setCopiedVar"> <type>org.kuali.rice.kew.engine.node.var.SetVarNode</type> <name>copiedVar</name> <value>var:started</value> </simple> <requests name="PreApprovalTestOne"> <activationType>S</activationType> <ruleTemplate>WorkflowDocumentTemplate</ruleTemplate> </requests> <simple name="setEndedVar"> <type>org.kuali.rice.kew.engine.node.var.SetVarNode</type> <name>ended</name> <value>endedVariableValue</value> </simple> <simple name="setGoogleVar"> <type>org.kuali.rice.kew.engine.node.var.SetVarNode</type> <name>google</name> <value>url:http://google.com</value> </simple> <simple name="setXPathVar"> <type>org.kuali.rice.kew.engine.node.var.SetVarNode</type> <name>xpath</name> <value>xpath:concat(local-name(//documentContent),$ended)</value> </simple> <simple name="resetStartedVar"> <type>org.kuali.rice.kew.engine.node.var.SetVarNode</type> <name>started</name> <value>aNewStartedVariableValue</value> </simple> <simple name="logNode"> <type>org.kuali.rice.kew.engine.node.LogNode</type> <message>var:xpath</message> </simple> <simple name="logNode2"> <type>org.kuali.rice.kew.engine.node.LogNode</type> <level>ErRoR</level> <log>Custom.Logger.Name</log> <message>THAT'S ALL FOLKS</message> </simple> </routeNodes> </documentType>
name: This is the Document Type for VariablesTest.
description: This Document Type is used to test Variables.
label: This Document Type is recognized as the VariablesTest type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
routePath: The routing path for this Document Type is: AdHoc -> setStartedVar -> setCopiedVar -> preApprovalTestOne -> setEndedVar -> setGoogleVar -> setXPathVar -> resetStartedVar -> logNode -> logNode2.
routeNode: Based on the routePath, there are ten nodes in the routing of this Document Type:
The starting node for this Document Type is AdHoc. On the initiation of a document of this type, the postProcessor in KEW activates the node AdHoc.
The next node in the routing for this Document Type is setStartedVar.
Its type is org.kuali.rice.kew.engine.node.var.SetVarNode
Its name is started.
Its value is startedVariableValue.
The next node in the routing for this Document Type is setCopiedVar.
Its type is org.kuali.rice.kew.engine.node.var.SetVarNode.
Its name is copiedVar.
The value that it is copying is var:started.
The next node in the routing for this Document Type is preApprovalTestOne. On request, the node is activated by the type S and applies the rules in rule template WorkflowDocumentTemplate.
The next node in the routing for this Document Type is setEndedVar
Its type is org.kuali.rice.kew.engine.node.var.SetVarNode.
Its name is ended.
Its value is endedVariableValue.
The next node in the routing for this Document Type is setGoogleVar.
Its type is org.kuali.rice.kew.engine.node.var.SetVarNode.
Its name is google. It links to http://google.com.
The next node in the routing for this Document Type is setXpathVar.
Its type is org.kuali.rice.kew.engine.node.var.SetVarNode.
Its name is xpath.
It adds //documentContent to the current path.
The next node in the routing for this Document Type is resetStartedVar.
Its type is org.kuali.rice.kew.engine.node.var.SetVarNode.
Its name is started.
It resets the started node at a new node, aNewStartedVariableValue.
The next node in the routing for this Document Type is logNode.
Its type is org.kuali.rice.kew.engine.node.LogNode.
It sends a message about the xpath of the variables at var:xpath.
The next node in the routing for this Document Type is logNode2.
Its type is org.kuali.rice.kew.engine.node.LogNode.
Its level is ErRoR.
It opens the log Custom.Logger.Name.
It returns a message THAT'S ALL FOLKS.
SUApproveDocumentNotifications
<documentType> <name>SUApproveDocumentNotifications</name> <parent>SUApproveDocument</parent> <description>SUApproveDocumentNotifications</description> <label>SUApproveDocumentNotifications</label> <postProcessorName>org.kuali.rice.kew.postprocessor.DefaultPostProcessor</postProcessorName> <superUserGroupName namespace=”KR-WKFLW” >TestWorkgroup</superUserGroupName> <blanketApproveGroupName namespace=”KR-WKFLW”>TestWorkgroup</blanketApproveGroupName> <defaultExceptionGroupName namespace=”KR-WKFLW”> TestWorkgroup</defaultExceptionGroupName> <docHandler>_blank</docHandler> <active>true</active> <policies> <policy> <name>SEND_NOTIFICATION_ON_SU_APPROVE</name> <value>true</value> </policy> </policies> </documentType>
name: This is the Document Type for SuperUser Approve Document Notifications.
description: This Document Type is used to test the SuperUser Approve Document Notifications.
label: This Document Type is recognized as the SUApproveDocumentNotifications type.
postProcessorName: The postProcessor for this Document Type is org.kuali.rice.kew.postprocessor.DefaultPostProcessor.
superUserGroupName: The super users for this Document Type are members of the TestWorkgroup.
blanketApproveGroupName: The members of the TestWorkgroup have blanketApproval right on this type of document.
defaultExceptionGroupName: The members of the TestWorkgroup will receive an exception notice for documents of this Document Type.
docHandler: The Doc Handler for this type of document is _blank.
active: This Document Type is currently active. In other words, it is in use.
There is just one policy for this Document Type: The SEND_NOTIFICATION_ON_SU_APPROVE policy is set true by default. In other words, notifications will be automatically sent on SuperUser's approval.
Current Document Type polices:
DISAPPROVE
DEFAULT_APPROVE
INITIATOR_MUST_ROUTE
INITIATOR_MUST_SAVE
INITIATOR_MUST_CANCEL
INITIATOR_MUST_BLANKET_APPROVE
LOOK_FUTURE
SEND_NOTIFICATION_ON_SU_APPROVE
SUPPORTS_QUICK_INITIATE
NOTIFY_ON_SAVE
blanketApprovePolicy
ALLOW_SU_POST_PROCESSOR_OVERIDE
Document Type Policies defined in the Document Type XML have this structure:
<documentType> <name>...</name> <policies> <policy> <name>DEFAULT_APPROVE</name> <value>true</value> </policy> <policy> <name>LOOK_FUTURE</name> <value>false</value> <policy> </policies> </documentType>
The DISAPPROVE policy determines whether a document will discontinue routing (transactions). When a document has been disapproved, the document initiator and previous approvers will receive notice of this disapproval action.
The DEFAULT_APPROVE policy determines whether a document will continue processing with or without any approval requests. If a document is set to have no approval requests, its put into exception routing. Then, the document will continue to route to the exception workgroup associated with the last route node or to the workgroup defined in the defaultExceptionWorkgroupname.
The INITIATOR_MUST_ROUTE policy sets the rule that the user who initiates the document must route it.
The INITIATOR_MUST_SAVE policy sets the rule that the user who initiated the document will be the only one authorized to save the document.
The INITIATOR_MUST_CANCEL policy sets the rule that the user who initiated the document will be the only one authorized to cancel the document.
The INITIATOR_MUST_BLANKET_APPROVE policy sets the rule that the user who initiated the document is the only one authorized to blanket approve the document.
The LOOK_FUTURE policy determines whether the document can be brought into a simulated route from the route log. This policy simulates where the document would end up if it completed the route.
The SEND_NOTIFICATION_ON_SU_APPROVE policy indicates to KEW that it is to send a notification on SuperUser approval.
The SUPPORTS_QUICK_INITIATE policy indicates whether the Document Type is displayed on the Quick Links, so that users can quickly initiate instances of the document.
The NOTIFY_ON_SAVE policy indicates whether a notification should be sent in when a save action is applied to this Document Type.
The blanketApprovePolicy policy indicates who can blanket approve a workflow document. Its values are either ANY or NONE.
ANY means that anybody can blanket approve the document.
NONE means that no one can blanket approve the document.
Alternatively, the configuration of the document can be set up to specify a blanketApproveWorkgroupName. blanketApproveWorkgroupName indicates that members of that workgroup can blanket approve the document. You can specify either blanketApprovePolicy OR blanketApproveWorkgroupName in the Document Type.
Since the blanket approve policy is not a true/false policy (like the others), it is specified as an element in the Document Type XML:
<documentType> <name>...</name> . . . <blanketApprovePolicy>NONE</blanketApprovePolicy> </documentType>
There is currently the ability to override the "Perform Post Processor Logic" on the "Super User Action on Action Requests" page. This functionality is configurable by document type and as such allows for inheritance.
By default, the ALLOW_SU_POST_PROCESSOR_OVERIDE it's set to true. The checkbox appears on the super user screen as:
In order to turn off the post processor check box, you would add this to the documentType definition:
<policies> <policy> <name>ALLOW_SU_POSTPROCESSOR_OVERRIDE</name> <value>false</value> </policy> </policies>
Document Types can specify a parent Document Type. This allows them to be included in a Document Type hierarchy from which certain behavior can be inherited from their parent Document Type.
These fields are inherited:
superUserGroupName: Indicates members of the workgroup who can perform SuperUser actions on the document
blanketApproveGroupName: Indicates members of the workgroup that can blanket approve the document.
notificationFromAddress: Sends a notice to the sender when the transfer of the document is completed.
messageEntity: A head and body of the message.
policies: Indicates a set of rule(s) applied in the document. For each policy, True means policy DOES apply, False means policy does NOT apply.
searchable attributes: Constraint(s) assigned as the searchable criteria for a document.
route paths/route nodes: Designated traveling points before the document reaches its destination in a routing process.
Special notes about inheritance:
Policies: In the Policies section, there are multiple Document Type policies (INITAITOR_MUST_ROUTE, DEFAULT_APPROVE, etc). Each policy can be overridden on an individual basis. In contrast to the route path, there is no need to override the entire policies section for a Document Type. For more detailed information about Document Type policies, please see Document Type Policies (above) in this document.
Route paths/ route nodes: To override the route path and route node definitions of a parent Document Type, you must override ALL route node and route path definitions. You cannot inherit and use just part of a route path; it's all or nothing.
The Rules Engine follows these rules to determine its rule evaluation set for a Document Type at a particular node:
The Rules Engine looks at the Rule Template name of the current node and selects all rules with that template and that document's Document Type. It adds those rules to the rule evaluation set.
If the Document Type has a parent Document Type, it selects all rules with that template and that parent Document Type and adds those to the rule evaluation set.
Its repeats step two until it reaches the root of the Document Type hierarchy.
The final rule evaluation set includes all of these rules.