Versions Compared

Key

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

...

Code Block
titleRFC-ChildDocTypes.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>eDoc.RequestFirewallChange</name>
		<parent>eDoc.RequestFirewallChange.Parent</parent>
		<description>eDoc.RequestFirewallChange Child Document Type</description>
		<label>eDoc.RequestFirewallChange Child Document Type</label>
		<postProcessorName>edu.iu.uis.eden.edl.EDocLitePostProcessor</postProcessorName>		
		<superUserWorkgroupName>eDoc.FirewallPolicyGroup.Workgroup</superUserWorkgroupName>
		<blanketApprovePolicy>NONE</blanketApprovePolicy>
		<defaultExceptionWorkgroupName>eDoc.FirewallPolicyGroup.Workgroup</defaultExceptionWorkgroupName>
		<docHandler>${workflow.url}/EDocLite</docHandler>
		<active>true</active>
		<routingVersion>2</routingVersion>
		<routePaths>
			<routePath>
          			<start name="Initiated" nextNode="eDoc.RequestFirewallChange.Node1" />
		          	<requests name="eDoc.RequestFirewallChange.Node1" />
        	</routePath>
		</routePaths>
	      <routeNodes>
        		<start name="Initiated">
          			<activationType>P</activationType>
		      	<mandatoryRoute>false</mandatoryRoute>
          			<finalApproval>false</finalApproval>
        		</start>
	     		<requests name="eDoc.RequestFirewallChange.Node1">
           			<activationType>P</activationType>
          			<ruleTemplate>eDoc.RequestFirewallChange.Node1</ruleTemplate>
          			<mandatoryRoute>false</mandatoryRoute>
          			<finalApproval>false</finalApproval>
           		</requests>
           </routeNodes>
	</documentType>
</documentTypes>
</data>


Create the eDocLite Form

  1. Set up the The eDocLite skeleton Skeleton
    Code Block
    titleEDLForm.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  <users xmlns="ns:workflow/UserEDocLite" xsi:schemaLocation="ns:workflow/UserEDocLite resource:UserEDocLite">
      
    	<edl name="eDoc.RequestFirewallChange.Form" title="Request Firewall  <user>
                <workflowId>FPG1</workflowId>Change">
    	...
    	...
    	</edl>
    
    	<style name="eDoc.RequestFirewallChange.Style">
    	...
    	...
    	</style>
    
    	<association>
    		<docType>eDoc.RequestFirewallChange</docType>
    		<definition>eDoc.RequestFirewallChange.Form</definition>
    		<style>eDoc.RequestFirewallChange.Style</style>
        		<active>true</active>
      	</association>
    
    </edoclite>
    </data>
     <emplId>FPG1</emplId>

  2. Define fields
    Code Block
    
      <edl name="eDoc.RequestFirewallChange.Form" title="Request Firewall Change">
        <security  <authenticationId>FPG1</authenticationId>>
        <createInstructions>** Fields with an asterisk    <uuId>FPG1</uuId>are required.</createInstructions>
        <instructions>** Questions with an asterisk are   <emailAddress>FPG1@ucdavisrequired.edu<</emailAddress>instructions>
        <validations />
          <displayName>Firewall Group Policy User One</displayName><attributes />
    
        <fieldDef name="dateOfChange" title="Date and Time for Change">
    <givenName>Firewall Group Policy User</givenName>    <display>
            <lastName>One<<type>text</lastName>
     type>
          </user>display>
        </fieldDef>
    
      <user>  <fieldDef name="descriptionOfChange" title="Description of the Port Change">
        <workflowId>FPG2</workflowId>  <display>
              <emplId>FPG2<<type>textarea</emplId>type>
          </display>
         <authenticationId>FPG2<</authenticationId>fieldDef>
    
        <fieldDef name="ingressEgressCharacteristic" title="Ingress/Egress Characteristic">
       <uuId>FPG2</uuId>   <display>
             <emailAddress>FPG2@ucdavis.edu</emailAddress><type>textarea</type>
          </display>
        </fieldDef>
    <displayName>Firewall
    Group Policy User Two</displayName> <fieldDef name="destinationSourceSpecification" title="Destination/Source Specification">
          <display>
     <givenName>Firewall Group Policy User</givenName>    <type>textarea</type>
          </display>
     <lastName>Two</lastName>   </fieldDef>
    
        <fieldDef name="termOfRuleChange" title="Term of Rule Change (indefinite or otherwise)">
          <display>
            <<type>text</user>type>
          </users>display>
        </data>
    
    <?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="eDoc.RequestFirewallChange.Form" title="Request Firewall Change">
<security />
<createInstructions>** Fields with an asterisk are required.</createInstructions>
<instructions>** Questions with an asterisk are required.</instructions>
<validations />
<attributes />

</edl>

<style name="eDoc.RequestFirewallChange.Style">

</style>

<association>
<docType>eDoc.RequestFirewallChange</docType>
<definition>eDoc.RequestFirewallChange.Form</definition>
<style>eDoc.RequestFirewallChange.Style</style>
<active>true</active>
</association>
</edoclite>
</data>

Code Block
\\
# Define fields

<edl name="eDoc.RequestFirewallChange.Form" title="Request Firewall Change">
<security />
<createInstructions>** Fields with an asterisk are required.</createInstructions>
<instructions>** Questions with an asterisk are required.</instructions>
<validations />
<attributes />

<fieldDef name="dateOfChange" title="Date and Time for Change">
<display>
<type>text</type>
</display>
</fieldDef>

<fieldDef name="descriptionOfChange" title="Description of the Port Change">
<display>
<type>textarea</type>
</display>
</fieldDef>

<fieldDef name="ingressEgressCharacteristic" title="Ingress/Egress Characteristic">
<display>
<type>textarea</type>
</display>
</fieldDef>

<fieldDef name="destinationSourceSpecification" title="Destination/Source Specification">
<display>
<type>textarea</type>
</display>
</fieldDef>

<fieldDef name="termOfRuleChange" title="Term of Rule Change (indefinite or otherwise)">
<display>
<type>text</type>
</display>
</fieldDef>

<fieldDef name="relatedProject" title="Project Related to Requested Rule(s) Change">
<display>
<type>text</type>
</display>
</fieldDef>

</edl>

Code Block
\\
# Add field details

...

  1. fieldDef>
    
        <fieldDef name="relatedProject" title="Project Related to Requested Rule(s) Change">
          <display>
            <type>text</type>
          </display>
        </fieldDef>
    
      </edl>
    

  2. Add field details
    Code Block
    
      <edl name="eDoc.RequestFirewallChange.Form" title="Request Firewall Change">

...

  1. 
        <security />

...

  1. 
        <createInstructions>** Fields with an asterisk are required.</createInstructions>

...

  1. 
        <instructions>** Questions with an asterisk are required.</instructions>

...

  1. 
        <validations />

...

  1. 
        <attributes />

...

  1. 
    
        <fieldDef name="dateOfChange" title="Date and Time for Change">

...

  1. 
          <display>
            <type>text</type>

...

  1. 
          </display>

...

  1. 
        </fieldDef>

...

  1. 
    
        <fieldDef name="descriptionOfChange" title="Description of the Port Change">

...

  1. 
          <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>
        </fieldDef>
    
    
        <fieldDef name="ingressEgressCharacteristic" title="Ingress/Egress

...

  1.  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>
        </fieldDef>
    
        <fieldDef name="destinationSourceSpecification" title="Destination/Source Specification">

...

  1. 
          <display>
            <type>textarea</type>

...

<fieldDef name="termOfRuleChange" title="Term of Rule Change (indefinite or otherwise)">
<display>
<type>text</type>
<meta>
<name>size</name>
<value>50</value>
</meta>
</display>
</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>
</fieldDef>

</edl>

Code Block
\\
# Add field validation

...

  1. 
            <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>
        </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>
        </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>
        </fieldDef>
    
      </edl>
    

  2. Add field validation
    Code Block
    
      <edl name="eDoc.RequestFirewallChange.Form" title="Request Firewall Change">

...

  1. 
        <security />

...

  1. 
        <createInstructions>** Fields with an asterisk are required.</createInstructions>

...

  1. 
        <instructions>** Questions with an asterisk are required.</instructions>

...

  1. 
        <validations />

...

  1. 
        <attributes />

...

  1. 
    
        <fieldDef name="dateOfChange" title="Date and Time for Change">

...

  1. 
          <display>
            <type>text</type>

...

  1. 
          </display>

...

  1. 
          <validation required="true">

...

  1. 
            <regex>^[0-1]?[0-9](/|-)[0-3]?[0-9](/|-)[1-2][0-9][0-9][0-9]$</regex>

...

  1. 
            <message>Enter a valid date in the format mm/dd/yyyy.</message>

...

  1. 
          </validation>

...

  1. 
        </fieldDef>

...

  1. 
    
        <fieldDef name="descriptionOfChange" title="Description of the Port Change">

...

  1. 
          <display>
            <type>textarea</type>

...

  1. 
            <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 name="ingressEgressCharacteristic" title="Ingress/Egress Characteristic">

...

  1. 
          <display>
            <type>textarea</type>

...

  1. 
            <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="destinationSourceSpecification" title="Destination/Source Specification">

...

<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>

</edl>

Code Block
\\

h3. Defining the Style Sheet to Render the Form
# Setup the Styelsheet Skeleton

...

  1. 
          <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/source 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>
    
      </edl>
    

Defining the Style Sheet to Render the Form

  1. Setup the Styelsheet Skeleton
    Code Block
    
    <style name="eDoc.RequestFirewallChange.Style">

...

  1. 
      <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:my-class="xalan://edu.iu.uis.eden.edl.WorkflowFunctions" version="1.0">

...

  1. 
      <xsl:include href="widgets" />

...

  1. 
      <xsl:output indent="yes" method="html" omit-xml-declaration="yes" version="4.01" />

...

  1. 
      <xsl:variable name="actionable" select="/documentContent/documentState/actionable" />

...

  1. 
      <xsl:variable name="docHeaderId" select="/documentContent/documentState/docId" />

...

  1. 
      <xsl:variable name="editable" select="/documentContent/documentState/editable" />

...

  1. 
      <xsl:variable name="globalReadOnly" select="/documentContent/documentState/editable != 'true'" />

...

  1. 
      <xsl:variable name="docStatus" select="//documentState/workflowDocumentState/status" />

...

  1. 
      <xsl:variable name="isAtNodeInitiated" select="my-class:isAtNode($docHeaderId, 'Initiated')" />

...

  1. 
      <xsl:variable name="isPastInitiated" select="my-class:isNodeInPreviousNodeList('Initiated', $docHeaderId)" />

...

  1. 
      <xsl:variable name="isUserInitiator" select="my-class:isUserInitiator($docHeaderId)" />

...

  1. 
      <xsl:param name="overrideMain" select="'true'" />

...

  1. 
            
      <xsl:template name="mainForm">

...

  1. 
        <html xmlns="">

...

  1. 
        <head>
          <script language="javascript"

...

  1.  />
          <xsl:call-template name="htmlHead" />

...

  1. 
        </head>

...

  1. 
        <body onload="onPageLoad()">

...

  1. 
          <xsl:call-template name="errors" />

...

  1. 
          <xsl:call-template name="header" />

...

  1. 
          <xsl:call-template name="instructions" />

...

  1. 
          <xsl:variable name="formTarget" select="'EDocLite'" />

...

  1. 
          <form action="{$formTarget}" enctype="multipart/form-data" id="edoclite" method="post" onsubmit="return validateOnSubmit(this)">

...

  1. 
            <xsl:call-template name="hidden-params" />

...

  1. 
            <xsl:call-template name="mainBody" />

...

  1. 
            <xsl:call-template name="notes" />

...

  1. 
            <br />
            <xsl:call-template name="buttons" />

...

  1. 
            <br />
          </form>
          <xsl:call-template name="footer" />

...

  1. 
        </body>

...

  1. 
        </html>

...

  1. 
      </xsl:template>

...

  1. 
    
      <xsl:template name="mainBody">

...

  1. 
    
      </xsl:template>

...

  1. 
    
      <xsl:template name="nbsp">

...

  1. 
        <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>

...

  1. 
      </xsl:template>

...

  1. 
          
      </xsl:stylesheet>

...

  1. 
    </style>
    

  2. Define the mainBody
    Code Block

...

  1. 
    

...

  1.  

...

  1.  

...

  1. <xsl:template name="mainBody">

...

  1. 
        $docStatus=<xsl:value-of select="$docStatus" /> -->

...

  1. 
        <table xmlns="" align="center" border="0" cellpadding="0" cellspacing="0" class="bord-r-t" width="80%">

...

  1. 
          <tr>
            <td align="left" border="3" class="thnormal" colspan="1">

...

  1. 
              <br />
              <h3>
                University of California, Davis
                <br />
                eDoclite Tutorial
    	  </h3>
              <br />
            </td>
            <td align="center" border="3" class="thnormal" colspan="2"

...

  1. >
              <br />
              <h2>Request Firewall Change Form</h2>
            </td>
          </tr>
          <tr>
            <td class="headercell5" colspan="100%">

...

  1. 
            <b>Request Details</b>

...

  1. 
            </td>

...

  1. 
          </tr>
          <tr>
            <td class="thnormal">

...

  1. 
              <xsl:call-template name="widget_render">

...

  1. 
                <xsl:with-param name="fieldName" select="'dateOfChange'" />

...

  1. 
                <xsl:with-param name="renderCmd" select="'title'" />

...

  1. 
              </xsl:call-template>

...

  1. 
              <font color="#ff0000">*</font>

...

  1. 
            </td>

...

  1. 
            <td class="datacell">

...

  1. 
              <xsl:call-template name="widget_render">

...

  1. 
                <xsl:with-param name="fieldName" select="'dateOfChange'" />

...

  1. 
                <xsl:with-param name="renderCmd" select="'input'

...

  1. " />
                <xsl:with-param name="readOnly" select="$isPastInitiated" />

...

  1. 
              </xsl:call-template>

...

  1. 
            </td>

...

  1. 
          </tr>

...

  1. 
          <tr>
            <td class="thnormal">

...

  1. 
              <xsl:call-template name="widget_

...

  1. render">
                <xsl:with-param name="fieldName" select="'descriptionOfChange'" />

...

  1. 
                <xsl:with-param name="renderCmd" select="'title'" />

...

  1. 
              </xsl:call-template>

...

  1. 
              <font color="#ff0000">*</font>

...

  1. 
            </td>

...

  1. 
            <td class="datacell">
              <xsl:call-template name="widget_render">

...

  1. 
                <xsl:with-param name="fieldName" select="'descriptionOfChange'" />

...

  1. 
                <xsl:with-param name="renderCmd" select="'input'" />

...

  1. 
                <xsl:with-param name="readOnly" select="$isPastInitiated" />

...

  1. 
              </xsl:call-template>

...

  1. 
            </td>

...

  1. 
          </tr>

...

  1. 
          <tr>
            <td class="thnormal">

...

  1. 
              <xsl:call-template name="widget_render">

...

  1. 
                <xsl:with-param name="fieldName" select="'ingressEgressCharacteristic'" />

...

  1. 
                <xsl:with-param name="renderCmd" select="'title'

...

  1. " />
              </xsl:call-template>

...

  1. 
              <font color="#ff0000">*</font>

...

  1. 
            </td>

...

  1. 
            <td class="datacell">

...

  1. 
              <xsl:call-template name="widget_render">

...

  1. 
                <xsl:with-param name="fieldName" select="'ingressEgressCharacteristic'"

...

  1.  />
                <xsl:with-param name="renderCmd" select="'input'" />

...

  1. 
                <xsl:with-param name="readOnly" select="$isPastInitiated" />

...

  1. 
              </xsl:call-template>

...

  1. 
            </td>

...

  1. 
          </tr>

...

  1. 
          <tr>
            <td class="thnormal">
              <xsl:call-template name="widget_render">

...

  1. 
                <xsl:with-param name="fieldName" select="'destinationSourceSpecification'" />

...

  1. 
                <xsl:with-param name="renderCmd" select="'title'" />

...

  1. 
              </xsl:call-template>

...

  1. 
              <font color="#ff0000">*</font>

...

  1. 
            </td>
            <td class="datacell">

...

  1. 
              <xsl:call-template name="widget_render">

...

  1. 
                <xsl:with-param name="fieldName" select="'destinationSourceSpecification'" />

...

  1. 
                <xsl:with-param name="renderCmd" select="'input'" />

...

  1. 
                <xsl:with-param name="readOnly" select="$isPastInitiated"

...

  1.  />
              </xsl:call-template>

...

  1. 
            </td>

...

  1. 
          </tr>

...

  1. 
          <tr>
            <td class="thnormal">

...

  1. 
              <xsl:call-template name="widget_render">

...

  1. 
                <xsl:with-param name="fieldName" select="'termOfRuleChange

...

  1. '" />
                <xsl:with-param name="renderCmd" select="'title'" />

...

  1. 
              </xsl:call-template>

...

  1. 
              <font color="#ff0000">*</font>

...

  1. 
            </td>

...

  1. 
            <td class="datacell">

...

  1. 
              <xsl:call-template name="

...

  1. widget_render">
                <xsl:with-param name="fieldName" select="'termOfRuleChange'" />

...

  1. 
                <xsl:with-param name="renderCmd" select="'input'" />

...

  1. 
                <xsl:with-param name="readOnly" select="$isPastInitiated" />

...

  1. 
              </xsl:call-template>

...

  1. 
            </td>

...

  1. 
          </tr>
          <tr>
            <td class="thnormal">

...

  1. 
              <xsl:call-template name="widget_render">

...

  1. 
                <xsl:with-param name="fieldName" select="'relatedProject'" />

...

  1. 
                <xsl:with-param name="renderCmd" select="'title'" />

...

  1. 
              </xsl:call-template>

...

  1. 
              <font color="#ff0000">*</font>

...

  1. 
            </td>

...

  1. 
            <td class="datacell">

...

  1. 
              <xsl:call-template name="widget_render">

...

  1. 
                <xsl:with-param name="fieldName" select="'relatedProject'" />

...

  1. 
                <xsl:with-param name="renderCmd" select="'input'"

...

  1.  />
                <xsl:with-param name="readOnly" select="$isPastInitiated" />

...

  1. 
              </xsl:call-template>

...

  1. 
            </td>

...

  1. 
          </tr>

...

  1. 
        </table>

...

  1. 
        <br xmlns="" />

...

  1. 
      </xsl:template>

...

Code Block
\\

h3. Defining the Workgroups
  1. 
    

Defining the Workgroups

Code Block

<?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">

...


  <workgroups xmlns="ns:workflow/Workgroup" xsi:schemaLocation="ns:workflow/Workgroup resource:Workgroup">

...


    <workgroup>
      <workgroupName>eDoc.FirewallPolicyGroup.Workgroup</workgroupName>

...

</data>

code

      <description>Firewall Policy Group for Firewall Change Requests</description>
      <members>
        <authenticationId>FPG1</authenticationId>
        <authenticationId>FPG2</authenticationId>
      </members>
    </workgroup>
  </workgroups>


</data>


Ingest XML Files

  1. Ingest widgets.xml
  2. Ingest Workgroups
  3. Ingest Document Type
  4. Ingest EDL Definition

    Reference

    https://test.kuali.org/confluence/display/KULRICE/EDocLite+Documentation+Guide
    https://test.kuali.org/confluence/display/KULRICE/eDocLite+Components+Detail#eDocLiteComponentsDetail-xsltdetail
    https://test.kuali.org/confluence/display/KULRICE092/Workgroup+Guide