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

...

Element Notation

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>

...

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

...