Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Create the Child Document Type

Here we create one a child document type to support the behavior of our workflow. Besides identifying the name and parent of this document type, we define two other main things: routePaths and routeNodes. These that identifies the route path and route nodes which define the behavior of the workflow.

Let's use the following naming conventions:

...

<process name>.eDoc.ChildDocType

...

Child Document Types and associated XML files

...

<process name>.eDoc.<node name>.Node

...

Route Nodes

...

<process name>.eDoc.<rule template name>.RuleTemplate

...

Rule Templates

...

<process name>.eDoc.<split name>.Split

...

Splits

...

.

...

...

<process name>.eDoc.<join name>.Join

...

Joins

Code Block
titleRequestFirewallChange.eDoc.ChildDocType.xml
<?xml version="1.0" encoding="UTF-8"?>
<data xmlns="ns:workflow" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ns:workflow resource:WorkflowData">
<documentTypes xmlns="ns:workflow/DocumentType" xsi:schemaLocation="ns:workflow/DocumentType resource:DocumentType">
	<documentType>
		<name>RequestFirewallChange.eDoc.ChildDocType</name>
		<parent>RequestFirewallChange.eDoc.ParentDocType</parent>
		<description>Request Firewall Change eDocLite Child Document Type</description>
		<label>Request Firewall Change eDocLite Child Document Typee</label>
		<postProcessorName>edu.iu.uis.eden.edl.EDocLitePostProcessor</postProcessorName>

		<superUserWorkgroupName>ucd.IET.AppDev.KualiRice.SysAdmin.Workgroup</superUserWorkgroupName>
		<defaultExceptionWorkgroupName>ucd.IET.AppDev.KualiRice.SysAdmin.Workgroup</defaultExceptionWorkgroupName>
		<docHandler>${workflow.url}/EDocLite</docHandler>
		<active>true</active>
		<routingVersion>2</routingVersion>
		<routePaths>
			<routePath>
          			<start name="RequestFirewallChange.eDoc.Request.Node" nextNode="RequestFirewallChange.eDoc.ReviewCurrentConfiguration.Node" />
		          	<requests name="RequestFirewallChange.eDoc.ReviewCurrentConfiguration.Node" nextNode="RequestFirewallChange.eDoc.isUrgent.Split" />
				<split name="RequestFirewallChange.eDoc.isUrgent.Split" nextNode="RequestFirewallChange.eDoc.AcknowledgeConfiguration.Node">
					<branch name="RequestFirewallChange.eDoc.isUrgent.Branch">
						<requests name="RequestFirewallChange.eDoc.FulfillUrgentRequest.Node" nextNode="RequestFirewallChange.eDoc.ReviewUrgentRequest.Node" />
						<requests name="RequestFirewallChange.eDoc.ReviewUrgentRequest.Node" nextNode="RequestFirewallChange.eDoc.isUrgent.Join" />
					</branch>
					<branch name="RequestFirewallChange.eDoc.isNotUrgent.Branch">
						<requests name="RequestFirewallChange.eDoc.ReviewRequest.Node" nextNode="RequestFirewallChange.eDoc.FulfillRequest.Node" />
						<requests name="RequestFirewallChange.eDoc.FulfillRequest.Node" nextNode="RequestFirewallChange.eDoc.isUrgent.Join" />
					</branch>
					<join name="RequestFirewallChange.eDoc.isUrgent.Join" />
				</split>
				<requests name="RequestFirewallChange.eDoc.AcknowledgeConfiguration.Node" />
        	      </routePath>
		</routePaths>
	      <routeNodes>
			<start name="RequestFirewallChange.eDoc.Request.Node">
				<activationType>P</activationType>
			</start>
			<requests name="RequestFirewallChange.eDoc.ReviewCurrentConfiguration.Node">
				<activationType>P</activationType>
				<ruleTemplate>RequestFirewallChange.eDoc.ReviewCurrentConfiguration.RuleTemplate</ruleTemplate>
			</requests>
			<split name="RequestFirewallChange.eDoc.isUrgent.Split" />
			<requests name="RequestFirewallChange.eDoc.FulfillUrgentRequest.Node">
				<activationType>P</activationType>
				<ruleTemplate>RequestFirewallChange.eDoc.FulfillUrgentRequest.RuleTemplate</ruleTemplate>
			</requests>
			<requests name="RequestFirewallChange.eDoc.ReviewUrgentRequest.Node">
				<activationType>P</activationType>
				<ruleTemplate>RequestFirewallChange.eDoc.ReviewUrgentRequest.RuleTemplate</ruleTemplate>
			</requests>
			<requests name="RequestFirewallChange.eDoc.ReviewRequest.Node">
				<activationType>P</activationType>
				<ruleTemplate>RequestFirewallChange.eDoc.ReviewRequest.RuleTemplate</ruleTemplate>
			</requests>
			<requests name="RequestFirewallChange.eDoc.FulfillRequest.Node">
				<activationType>P</activationType>
				<ruleTemplate>RequestFirewallChange.eDoc.FulfillRequest.RuleTemplate</ruleTemplate>
			</requests>
			<join name="RequestFirewallChange.eDoc.isUrgent.Join" />
			<requests name="RequestFirewallChange.eDoc.AcknowledgeConfiguration.Node">
				<activationType>S</activationType>
				<ruleTemplate>RequestFirewallChange.eDoc.AcknowledgeConfiguration.RuleTemplate</ruleTemplate>
				<mandatoryRoute>false</mandatoryRoute>
				<finalApproval>false</finalApproval>
			</requests>
		</routeNodes>
	</documentType>
</documentTypes>
</data>
Info

We use the following naming conventions:

<process name>.eDoc.ChildDocType

Child Document Types and associated XML files

<process name>.eDoc.<node name>.Node

Route Nodes

<process name>.eDoc.<rule template name>.RuleTemplate

Rule Templates

<process name>.eDoc.<split name>.Split

Splits

<process name>.eDoc.<branch name>.Branch

Branches

<process name>.eDoc.<join name>.Join

Joins

Create the eDocLite Form

Based on the request details required by our process above (way above), we now build the form for the users to enter those details into.

...