Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

eDocLite Dependency Hierarchy

...

Phase

Role

Skill Set

Model the Business Process

Analyst

Process Modeling

Model the Form Details

Analyst

Form Prototyping

Model the Document Workflow

Analyst

Workflow Modeling

Procure Work Groups

Developer, System Administrator


Create the Parent Document Type

Developer

XML

Create the Child Document Types

Developer

XML, Workflow Modeling

Create the eDocLite Form

Developer

HTML & JSP

Create Rule Attributes

Developer

XML, Workflow Modeling

Create Rule Templates

Developer

XML, Workflow Modeling

Create Rules

Developer

XML, Workflow Modeling

Implement Workflow Components

Deployer/System Administrator (IET)


Simulate the Business Process

QA

Process Modeling, Workflow Modeling

Create Validation Checklists

QA

Process Modeling, Workflow Modeling

Sample Business Process Model

...

Sample Document Workflow Model

Element Notation

...


Element

Ground Notation Rule

Request

The first route node, a.k.a. the start node, in the workflow's route path. This is where the Request Firewall Change document is created by an initiator.

Purple "Document"

A node in the route path. Each node represents a point in the business process where a responsible party is viewing (and possibly editing) the Request Firewall Change document.

Lavender Parallelogram

A rule template that is applied to each node. Each rule template is associated with a set of rules and rule attributes.

Orange Sail

A rule attribute associated with a rule template.

Lime Rectangle

The responsible party or parties who take action on a node.

Red Arrow

The action that must be taken to get from one node to the next node.

Blue Join Line

When connected to a rule attribute, it represents a rule that evaluates that rule attribute

Finish

Means the workflow has completed with flying colors.

Sample Work Groups

Responsible Party

Work Group

Requester

Initiator.Role.RuleAttribute

Desktop Services

ucd.IET.DES.DevelopmentSupport.WorkGroup

Firewall Policy Group

ucd.IET.AppDev.FirewallPolicyGroup.Workgroup

Firewall Gatekeeper

ucd.IET.DCCS.FirewallSysAdmin.Workgroup

Super User Workgroup

ucd.IET.AppDev.KualiRice.SysAdmin.Workgroup

Default Exception Workgroup

ucd.IET.AppDev.KualiRice.SysAdmin.Workgroup

Responsibility Matrix:

Node

Responsible Party

Responsibility Condition(s)

Action Requested

Request

Initiator.Role.RuleAttribute (whoever creates the document)

none

SUBMIT

Review Current Configuration

ucd.IET.DES.DevelopmentSupport.WorkGroup

none

APPROVE

Initial Approval

ucd.IET.AppDev.FirewallPolicyGroup.Workgroup

non-urgent request

APPROVE

Initial Approval

ucd.IET.DCCS.FirewallSysAdmin.Workgroup

urgent request

APPROVE

Final Approval

ucd.IET.AppDev.FirewallPolicyGroup.Workgroup

non-urgent request

APPROVE

Final Approval

ucd.IET.DCCS.FirewallSysAdmin.Workgroup

urgent request

APPROVE

Acknowledge Configuration

Initiator.Role.RuleAttribute

none

ACKNOWLEDGE

...

Code Block
titleRequestFirewallChange.eDoc.ParentDocType.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.ParentDocType</name>
		<description>Request Firewall Change eDocLite Parent Document Type</description>
		<label>Request Firewall Change eDocLite Parent Document Type</label>
		<blanketApprovePolicy>NONE</blanketApprovePolicy>
		<docHandler>${workflow.url}/EDocLite</docHandler>
		<active>true</active>
		<routingVersion>2</routingVersion>
	</documentType>
</documentTypes>
</data>

...

Child Document Type

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 Type</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="Request" nextNode="ReviewCurrentConfiguration" />
		          	<requests name="ReviewCurrentConfiguration" nextNode="InitialApproval" />
				<requests name="InitialApproval" nextNode="FinalApproval" />
				<requests name="FinalApproval" nextNode="AcknowledgeConfiguration" />
				<requests name="AcknowledgeConfiguration" />
        	      </routePath>
		</routePaths>
	      <routeNodes>
			<start name="Request">
				<activationType>P</activationType>
			</start>
			<requests name="ReviewCurrentConfiguration">
				<activationType>P</activationType>
				<ruleTemplate>RequestFirewallChange.eDoc.ReviewCurrentConfiguration.RuleTemplate</ruleTemplate>
			</requests>
			<requests name="InitialApproval">
				<activationType>P</activationType>
				<ruleTemplate>RequestFirewallChange.eDoc.InitialApproval.RuleTemplate</ruleTemplate>
			</requests>
			<requests name="FinalApproval">
				<activationType>P</activationType>
				<ruleTemplate>RequestFirewallChange.eDoc.FinalApproval.RuleTemplate</ruleTemplate>
			</requests>		
			<requests name="AcknowledgeConfiguration">
				<activationType>S</activationType>
				<ruleTemplate>RequestFirewallChange.eDoc.AcknowledgeConfiguration.RuleTemplate</ruleTemplate>
				<mandatoryRoute>false</mandatoryRoute>
				<finalApproval>false</finalApproval>
			</requests>
		</routeNodes>
	</documentType>
</documentTypes>
</data>

...

  1. The eDocLite Form Skeleton
    Code Block
    titleRequestFirewallChange.eDoc.Form.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">
    <edoclite xmlns="ns:workflow/EDocLite" xsi:schemaLocation="ns:workflow/EDocLite resource:EDocLite">
      
    	<edl name="RequestFirewallChange.eDoc.Form" title="Request Firewall Change">
    		<security />
    		<createInstructions>** Fields with an asterisk are required.</createInstructions>
    		<instructions>** Fields with an asterisk are required.</instructions>
    		<validations />
    		<attributes />
    	        ...
    	        ...
    	</edl>
    
    	<style name="RequestFirewallChange.eDoc.Style">
    	<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:my-class="xalan://edu.iu.uis.eden.edl.WorkflowFunctions" version="1.0">
    		<xsl:include href="widgets" />
    		<xsl:output indent="yes" method="html" omit-xml-declaration="yes" version="4.01" />
    		<xsl:variable name="actionable" select="/documentContent/documentState/actionable" />
    		<xsl:variable name="docHeaderId" select="/documentContent/documentState/docId" />
    		<xsl:variable name="editable" select="/documentContent/documentState/editable" />
    		<xsl:variable name="globalReadOnly" select="/documentContent/documentState/editable != 'true'" />
    		<xsl:variable name="docStatus" select="//documentState/workflowDocumentState/status" />
    		<xsl:variable name="isAtNodeInitiated" select="my-class:isAtNode($docHeaderId, 'Initiated')" />
    		<xsl:variable name="isPastInitiated" select="my-class:isNodeInPreviousNodeList('Initiated', $docHeaderId)" />
    		<xsl:variable name="isUserInitiator" select="my-class:isUserInitiator($docHeaderId)" />
    		<xsl:param name="overrideMain" select="'true'" />
            
    		<xsl:template name="mainForm">
    			<html xmlns="">
    			  <head>
    			  <script language="javascript" />
    			  <xsl:call-template name="htmlHead" />
    			  </head>
      			<body onload="onPageLoad()">
    			  <xsl:call-template name="errors" />
    			  <xsl:call-template name="header" />
    			  <xsl:call-template name="instructions" />
    		  	  <xsl:variable name="formTarget" select="'EDocLite'" />
    		          <form action="{$formTarget}" enctype="multipart/form-data" id="edoclite" method="post" onsubmit="return validateOnSubmit(this)">
    		  	    <xsl:call-template name="hidden-params" />
    		  	    <xsl:call-template name="mainBody" />
    		  	    <xsl:call-template name="notes" />
    		  	    <br />
    		  	    <xsl:call-template name="buttons" />
    		  	    <br />
    		  	  </form>
                              <xsl:call-template name="footer" />
        		  	</body>
        		       </html>
    		</xsl:template>
    
    		<xsl:template name="mainBody">
    			...
    			...
     		</xsl:template>
    
      		<xsl:template name="nbsp">
    			<xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
    		</xsl:template>
    	</xsl:stylesheet>
    	</style>
    
    	<association>
    		<docType>RequestFirewallChange.eDoc.ChildDocType</docType>
    		<definition>RequestFirewallChange.eDoc.Form</definition>
    		<style>RequestFirewallChange.eDoc.Style</style>
        		<active>true</active>
      	</association>
    
    </edoclite>
    </data>
    

  2. Form Definition
    Code Block
    titleRequestFirewallChange.eDoc.Form.xml
        <fieldDef name="dateOfChange" title="Date and Time for Change: MM/DD/YYYY">
          <display>
            <type>text</type>
          </display>
          <validation required="true">
            <regex>^[0-1]?[0-9](/|-)[0-3]?[0-9](/|-)[1-2][0-9][0-9][0-9]$</regex>
            <message>Enter a valid date in the format mm/dd/yyyy.</message>
          </validation>
        </fieldDef>
    
        <fieldDef name="descriptionOfChange" title="Description of the Port Change">
          <display>
            <type>textarea</type>
            <meta>
              <name>rows</name>
              <value>5</value>
            </meta>
            <meta>
              <name>cols</name>
              <value>60</value>
            </meta>
            <meta>
              <name>wrap</name>
              <value>hard</value>
            </meta>
          </display>
          <validation required="true">
            <message>Enter a description of the port change.</message>
          </validation>
        </fieldDef>
    
        <fieldDef attributeName="RequestFirewallChange.eDoc.isUrgent.RuleAttribute" name="isUrgent" title="URGENT">
          <display>
            <type>select</type>
              <values title="NO">NO</values>
              <values title="YES">YES</values>
          </display>
          <validation required="true">
              <message>Is this request URGENT?</message>
          </validation>
        </fieldDef>
    
        <fieldDef name="ingressEgressCharacteristic" title="Ingress/Egress Characteristic">
          <display>
            <type>textarea</type>
            <meta>
              <name>rows</name>
              <value>5</value>
            </meta>
            <meta>
              <name>cols</name>
              <value>60</value>
            </meta>
            <meta>
              <name>wrap</name>
              <value>hard</value>
            </meta>
          </display>
          <validation required="true">
            <message>Enter the ingress/egress characteristic.</message>
          </validation>
        </fieldDef>
    
        <fieldDef name="sourceSpecification" title="Source Specification">
          <display>
            <type>textarea</type>
            <meta>
              <name>rows</name>
              <value>5</value>
            </meta>
            <meta>
              <name>cols</name>
              <value>60</value>
            </meta>
            <meta>
              <name>wrap</name>
              <value>hard</value>
            </meta>
          </display>
          <validation required="true">
            <message>Enter the source specification.</message>
          </validation>
        </fieldDef>
    
        <fieldDef name="destinationSpecification" title="Destination Specification">
          <display>
            <type>textarea</type>
            <meta>
              <name>rows</name>
              <value>5</value>
            </meta>
            <meta>
              <name>cols</name>
              <value>60</value>
            </meta>
            <meta>
              <name>wrap</name>
              <value>hard</value>
            </meta>
          </display>
          <validation required="true">
            <message>Enter the destination specification.</message>
          </validation>
        </fieldDef>
    
        <fieldDef name="termOfRuleChange" title="Term of Rule Change (indefinite or otherwise)">
          <display>
            <type>text</type>
            <meta>
              <name>size</name>
              <value>50</value>
            </meta>
          </display>
          <validation required="true">
            <message>Enter term of the rule change.</message>
          </validation>
        </fieldDef>
    
        <fieldDef name="relatedProject" title="Project Related to Requested Rule(s) Change">
          <display>
            <type>text</type>
            <meta>
              <name>size</name>
              <value>50</value>
            </meta>
          </display>
          <validation required="true">
            <message>Enter a related project to the requested rule change.</message>
          </validation>
        </fieldDef>
    

  3. Form Stylesheet
    Code Block
    titleRequestFirewallChange.eDoc.Form.xml
      <xsl:template name="mainBody">
        <table xmlns="" align="center" border="0" cellpadding="0" cellspacing="0" class="bord-r-t" width="80%">
          <tr>
            <td align="left" border="3" class="thnormal" colspan="1">
              <br />
              <h3>
                University of California, Davis
                <br />
                eDoclite Tutorial
    	  </h3>
              <br />
            </td>
            <td align="center" border="3" class="thnormal" colspan="2">
              <br />
              <h2>Request Firewall Change Form</h2>
            </td>
          </tr>
          <tr>
            <td class="headercell5" colspan="100%">
            <b>Request Details</b>
            </td>
          </tr>
          <tr>
            <td class="thnormal">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'dateOfChange'" />
                <xsl:with-param name="renderCmd" select="'title'" />
              </xsl:call-template>
              <font color="#ff0000">*</font>
            </td>
            <td class="datacell">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'dateOfChange'" />
                <xsl:with-param name="renderCmd" select="'input'" />
                <xsl:with-param name="readOnly" select="$isPastInitiated" />
              </xsl:call-template>
            </td>
    
          </tr>
          <tr>
            <td class="thnormal">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'descriptionOfChange'" />
                <xsl:with-param name="renderCmd" select="'title'" />
              </xsl:call-template>
              <font color="#ff0000">*</font>
            </td>
            <td class="datacell">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'descriptionOfChange'" />
                <xsl:with-param name="renderCmd" select="'input'" />
                <xsl:with-param name="readOnly" select="$isPastInitiated" />
              </xsl:call-template>
            </td>
          </tr>
          <tr>
            <td class="thnormal">
              <xsl:call-template name="widget_render">
              <xsl:with-param name="fieldName" select="'isUrgent'" />
              <xsl:with-param name="renderCmd" select="'title'" />
              </xsl:call-template>
              <font color="#ff0000">*</font>
            </td>
            <td class="datacell">
              <xsl:call-template name="widget_render">
              <xsl:with-param name="fieldName" select="'isURgent'" />
              <xsl:with-param name="renderCmd" select="'input'" />
              <xsl:with-param name="readOnly" select="$isPastInitiated" />
              </xsl:call-template>
            </td>
          </tr>
          <tr>
            <td class="thnormal">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'ingressEgressCharacteristic'" />
                <xsl:with-param name="renderCmd" select="'title'" />
              </xsl:call-template>
              <font color="#ff0000">*</font>
            </td>
            <td class="datacell">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'ingressEgressCharacteristic'" />
                <xsl:with-param name="renderCmd" select="'input'" />
                <xsl:with-param name="readOnly" select="$isPastInitiated" />
              </xsl:call-template>
            </td>
          </tr>
          <tr>
            <td class="thnormal">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'destinationSourceSpecification'" />
                <xsl:with-param name="renderCmd" select="'title'" />
    
              </xsl:call-template>
              <font color="#ff0000">*</font>
            </td>
            <td class="datacell">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'destinationSourceSpecification'" />
                <xsl:with-param name="renderCmd" select="'input'" />
                <xsl:with-param name="readOnly" select="$isPastInitiated" />
    
              </xsl:call-template>
            </td>
          </tr>
          <tr>
            <td class="thnormal">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'termOfRuleChange'" />
                <xsl:with-param name="renderCmd" select="'title'" />
              </xsl:call-template>
              <font color="#ff0000">*</font>
    
            </td>
            <td class="datacell">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'termOfRuleChange'" />
                <xsl:with-param name="renderCmd" select="'input'" />
                <xsl:with-param name="readOnly" select="$isPastInitiated" />
              </xsl:call-template>
            </td>
          </tr>
          <tr>
            <td class="thnormal">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'relatedProject'" />
                <xsl:with-param name="renderCmd" select="'title'" />
              </xsl:call-template>
              <font color="#ff0000">*</font>
            </td>
            <td class="datacell">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'relatedProject'" />
                <xsl:with-param name="renderCmd" select="'input'" />
                <xsl:with-param name="readOnly" select="$isPastInitiated" />
              </xsl:call-template>
            </td>
          </tr>
        </table>
        <br xmlns="" />
    <xsl:template>
    

...

Code Block
titleRequestFirewallChange.eDoc.Rules.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">
<rules xmlns="ns:workflow/Rule" xsi:schemaLocation="ns:workflow/Rule resource:Rule">
	<rule>
      		<documentType>RequestFirewallChange.eDoc.ChildDocType</documentType>
      		<ruleTemplate>RequestFirewallChange.eDoc.ReviewCurrentConfiguration.RuleTemplate</ruleTemplate>
      		<description>Review Current Configuration Rule</description>
      		<ignorePrevious>false</ignorePrevious>
      		<responsibilities>
        		<responsibility>
          			<workgroup>ucd.IET.DES.DevelopmentSupport.WorkGroup</workgroup>
          			<actionRequested>A</actionRequested>
          			<priority>1</priority>
        		</responsibility>
      		</responsibilities>
    	</rule>
	<rule>
      		<documentType>RequestFirewallChange.eDoc.ChildDocType</documentType>
      		<ruleTemplate>RequestFirewallChange.eDoc.InitialApproval.RuleTemplate</ruleTemplate>
      		<description>Initial Approval By Firewall SysAdmin Rule</description>
      		<ignorePrevious>false</ignorePrevious>
      		<ruleExtensions>
        			<ruleExtension>
         	 			<attribute>RequestFirewallChange.eDoc.isUrgent.RuleAttribute</attribute>
          				<ruleTemplate>RequestFirewallChange.eDoc.InitialApproval.RuleTemplate</ruleTemplate>
          				<ruleExtensionValues>
            					<ruleExtensionValue>
              						<key>isUrgent</key>
              						<value>YES</value>
            					</ruleExtensionValue>
          				</ruleExtensionValues>
        			</ruleExtension>
	      	</ruleExtensions>
      		<responsibilities>
        		<responsibility>
          			<workgroup>ucd.IET.DCCS.FirewallSysAdmin.Workgroup</workgroup>
          			<actionRequested>A</actionRequested>
          			<priority>1</priority>
        		</responsibility>
      		</responsibilities>
    	</rule>
	<rule>
      		<documentType>RequestFirewallChange.eDoc.ChildDocType</documentType>
      		<ruleTemplate>RequestFirewallChange.eDoc.InitialApproval.RuleTemplate</ruleTemplate>
      		<description>Initial Approval By Firewall Policy Group Rule</description>
      		<ignorePrevious>false</ignorePrevious>
      		<ruleExtensions>
        			<ruleExtension>
         	 			<attribute>RequestFirewallChange.eDoc.isUrgent.RuleAttribute</attribute>
          				<ruleTemplate>RequestFirewallChange.eDoc.InitialApproval.RuleTemplate</ruleTemplate>
          				<ruleExtensionValues>
            					<ruleExtensionValue>
              						<key>isUrgent</key>
              						<value>NO</value>
            					</ruleExtensionValue>
          				</ruleExtensionValues>
        			</ruleExtension>
	      	</ruleExtensions>
      		<responsibilities>
        		<responsibility>
          			<workgroup>ucd.IET.AppDev.FirewallPolicyGroup.Workgroup</workgroup>
          			<actionRequested>A</actionRequested>
          			<priority>1</priority>
        		</responsibility>
      		</responsibilities>
    	</rule>
	<rule>
      		<documentType>RequestFirewallChange.eDoc.ChildDocType</documentType>
      		<ruleTemplate>RequestFirewallChange.eDoc.FinalApproval.RuleTemplate</ruleTemplate>
      		<description>Final Approval By Firewall SysAdmin Rule</description>
      		<ignorePrevious>false</ignorePrevious>
      		<ruleExtensions>
        			<ruleExtension>
         	 			<attribute>RequestFirewallChange.eDoc.isUrgent.RuleAttribute</attribute>
          				<ruleTemplate>RequestFirewallChange.eDoc.FinalApproval.RuleTemplate</ruleTemplate>
          				<ruleExtensionValues>
            					<ruleExtensionValue>
              						<key>isUrgent</key>
              						<value>NO</value>
            					</ruleExtensionValue>
          				</ruleExtensionValues>
        			</ruleExtension>
	      	</ruleExtensions>
      		<responsibilities>
        		<responsibility>
          			<workgroup>ucd.IET.DCCS.FirewallSysAdmin.Workgroup</workgroup>
          			<actionRequested>A</actionRequested>
          			<priority>1</priority>
        		</responsibility>
      		</responsibilities>
    	</rule>
	<rule>
      		<documentType>RequestFirewallChange.eDoc.ChildDocType</documentType>
      		<ruleTemplate>RequestFirewallChange.eDoc.FinalApproval.RuleTemplate</ruleTemplate>
      		<description>Final Approval By Firewall Policy Group Rule</description>
      		<ignorePrevious>false</ignorePrevious>
      		<ruleExtensions>
        			<ruleExtension>
         	 			<attribute>RequestFirewallChange.eDoc.isUrgent.RuleAttribute</attribute>
          				<ruleTemplate>RequestFirewallChange.eDoc.FinalApproval.RuleTemplate</ruleTemplate>
          				<ruleExtensionValues>

            					<ruleExtensionValue>
              						<key>isUrgent</key>
              						<value>YES</value>
            					</ruleExtensionValue>
          				</ruleExtensionValues>
        			</ruleExtension>
	      	</ruleExtensions>
      		<responsibilities>
        		<responsibility>
          			<workgroup>ucd.IET.AppDev.FirewallPolicyGroup.Workgroup</workgroup>
          			<actionRequested>A</actionRequested>
          			<priority>1</priority>
        		</responsibility>
      		</responsibilities>
    	</rule>
	<rule>
      		<documentType>RequestFirewallChange.eDoc.ChildDocType</documentType>
      		<ruleTemplate>RequestFirewallChange.eDoc.AcknowledgeConfiguration.RuleTemplate</ruleTemplate>
      		<description>Acknowledge Configuration Rule</description>
      		<ignorePrevious>true</ignorePrevious>
      		<responsibilities>
        		<responsibility>
          			<role>edu.iu.uis.eden.routetemplate.InitiatorRoleAttribute!INITIATOR</role>
				<approvePolicy>F</approvePolicy>
          			<actionRequested>K</actionRequested>
          			<priority>1</priority>
        		</responsibility>
      		</responsibilities>
    	</rule>
</rules>
</data>

...

  1. Log in as requester1
  2. Click on EDocLites
  3. Click Search
  4. Find the eDocLite whose Definition Name is RequestFirewallChange.eDoc.Form
  5. Click on Create Document
  6. Here's the form we built:
    Image Removed
  7. Fill out the form, set URGENT to NO and click route
  8. Log in as DES1
  9. Click on Action List
  10. Find and open the document initiated by requester1. Its status should be ENROUTE
  11. Click on the document and it should look like so:
    Image RemovedClick approve
  12. Login as DCCS1
  13. Click on Action List. The document should not be in DCCS1's Action List.
  14. Log in as FPG1
  15. Click on Action List
  16. Find and open the document initiated by requester1 and approved by DES1. Its status should be ENROUTE
  17. Click approve
  18. Login as DCCS1
  19. Click on Action List
  20. Find and open the document initiated by requester1, approved by DES1, and approved by FPG1. Its status should be ENROUTE
  21. Click approve
  22. Log in as requester1 again
  23. Click on Action List
  24. Find and open the document initiated by requester1, approved by DES1, approved by FPG1, and acknowledged by DCCS1. Its status should be PROCESSED
  25. Click acknowledge
  26. Click Document Search
  27. Find the document again
  28. Click on the Log iconThe log should like like so:
    Image Removed

Validation Checklists

...