Versions Compared

Key

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

...

Create the eDocLite Form

  1. The eDocLite Form 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 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>** Fields 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>
    
    Define fields
    Code Block
    
      <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>
    
    Add field details
    Code Block
    
      <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>
            <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 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">
          <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="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>
    
    Add field validation
    Code Block
    
      <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>
          <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><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'" />
            
     <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">
    		<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'" />
    		      <display>    <form     <type>textarea</type>
            <meta>
              <name>rows</name>
              <value>5</value>
            </meta>
            <meta>
              <name>cols</name>
              <value>60</value>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>
            </meta>         <meta>         <xsl:call-template name="footer" <name>wrap</name>>
        		  	</body>
       <value>hard</value> 		       </html>
    		</meta>xsl:template>
    
    		<xsl:template name="mainBody">
    			...
    			...
     		</display>
     xsl:template>
    
       <validation required		<xsl:template name="truenbsp">
    			<xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
    		</xsl:template>
    	</xsl:stylesheet>
    	</style>
    
    	<association>
     <message>Enter the ingress/egress characteristic.</message>		<docType>eDoc.RequestFirewallChange</docType>
    		<definition>eDoc.RequestFirewallChange.Form</definition>
    		<style>eDoc.RequestFirewallChange.Style</style>
        		<active>true</active>
      	</validation>association>
    
      </edoclite>
    </fieldDef>
    data>
    

  2. Field Definitions
    Code Block
    titleEDLForm.xml
        <fieldDef name="destinationSourceSpecificationdateOfChange" title="Destination/Source SpecificationDate and Time for Change">
          <display>
            <type>textarea<<type>text</type>
            <meta>
              <name>rows</name></display>
              <value>5</value>
            </meta>
    <validation required="true">
           <meta>
     <regex>^[0-1]?[0-9](/|-)[0-3]?[0-9](/|-)[1-2][0-9][0-9][0-9]$</regex>
            <message>Enter <name>cols</name>a valid date in the format mm/dd/yyyy.</message>
        <value>60</value>  </validation>
          </meta>fieldDef>
    
        <fieldDef name="descriptionOfChange" title="Description of <meta>the Port Change">
          <display>
     <name>wrap</name>       <type>textarea</type>
       <value>hard</value>     <meta>
       </meta>       <<name>rows</display>name>
          <validation required="true">   <value>5</value>
         <message>Enter the destination/source specification.</message>meta>
          </validation>  <meta>
      </fieldDef>      <fieldDef name="termOfRuleChange" title="Term of Rule Change (indefinite or otherwise)"> <name>cols</name>
              <display><value>60</value>
            <type>text<</type>meta>
            <meta>
              <name>size<<name>wrap</name>
              <value>50<<value>hard</value>
            </meta>
          </display>
          <validation required="true">
            <message>Enter a termdescription of the ruleport change.</message>
          </validation>
        </fieldDef>
    
        <fieldDef name="relatedProjectingressEgressCharacteristic" title="Project Related to Requested Rule(s) ChangeIngress/Egress Characteristic">
          <display>
            <type>text<<type>textarea</type>
            <meta>
              <name>size<<name>rows</name>
              <value>50<<value>5</value>
            </meta>
          </display>  <meta>
              <name>cols</name>
              <value>60</value>
            </meta>
    <validation required="true">        <meta>
      <message>Enter a related project to the requested rule change.</message><name>wrap</name>
              <<value>hard</validation>value>
        </fieldDef>    </edl>
    

Defining the Style Sheet to Render the Form

  1. Setup the Styelsheet Skeleton
    Code Block
    
    <style name="eDoc.RequestFirewallChange.Style">meta>
         <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'" />
       </display>
          <validation required="true">
            <message>Enter the ingress/egress characteristic.</message>
          </validation>
        </fieldDef>
    
        <fieldDef name="destinationSourceSpecification" title="Destination/Source Specification">
          <display>
            <type>textarea</type>
            <meta>
              <name>rows</name>
              <value>5</value>
            </meta>
            <meta>
    <xsl:template name="mainForm">     <html xmlns="">   <name>cols</name>
     <head>       <script language="javascript" <value>60</>value>
          <xsl:call-template name="htmlHead" />   </meta>
        </head>    <meta>
    <body onload="onPageLoad()">       <xsl:call-template name="errors" <name>wrap</>name>
            <xsl:call-template name="header" <value>hard</>value>
          <xsl:call-template name="instructions" </>meta>
          <xsl:variable name="formTarget" select="'EDocLite'" /></display>
          <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" />
     <validation required="true">
            <message>Enter the destination/source specification.</message>
          </validation>
        </fieldDef>
    
        <fieldDef name="termOfRuleChange" title="Term of Rule Change (indefinite or otherwise)">
          <display>
           <br <type>text</>type>
            <xsl:call-template name="buttons" /><meta>
             <br <name>size</>name>
          </form>    <value>50</value>
      <xsl:call-template name="footer" />     </body>meta>
          </html>display>
      </xsl:template>    <xsl:template<validation namerequired="mainBody">
    
      </xsl:template>true">
       <xsl:template name="nbsp">    <message>Enter <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
      </xsl:template>term of the rule change.</message>
          </validation>
        </xsl:stylesheet>
    </style>
    
    Define the mainBody
    Code Block
    fieldDef>
    
        <xsl:template<fieldDef name="mainBodyrelatedProject"> title="Project Related to  $docStatus=<xsl:value-of select="$docStatus" /> -->Requested Rule(s) Change">
          <display>
    <table xmlns="" align="center" border="0" cellpadding="0" cellspacing="0" class="bord-r-t" width="80%">
     <type>text</type>
         <tr>   <meta>
         <td align="left" border="3" class="thnormal" colspan="1">
     <name>size</name>
             <br <value>50</>value>
            </meta>
     <h3>     </display>
           University of California, Davis<validation required="true">
            <message>Enter a related project to the requested <brrule change.</>message>
          </validation>
         eDoclite Tutorial
    	  </h3>
              <br /</fieldDef>
    

  2. Stylesheet mainBody Definition
    Code Block
    titleRFC-EDLForm.xml
    
      <xsl:template name="mainBody">
        <table xmlns="" align="center" border="0" cellpadding="0" cellspacing="0" class="bord-r-t" width="80%">
            </td><tr>
            <td align="centerleft" border="3" class="thnormal" colspan="21">
              <br />
              <h2>Request Firewall Change Form</h2>
     <h3>
                University of California, Davis
          </td>      <br </tr>>
          <tr>      eDoclite Tutorial
    	 <td class="headercell5" colspan="100%"> </h3>
              <b>Request<br Details</b>>
            </td>
          </tr>  <td align="center" border="3" class="thnormal" colspan="2">
     <tr>         <td class="thnormal"<br />
              <xsl:call-template name="widget_render"><h2>Request Firewall Change Form</h2>
            </td>
       <xsl:with-param name="fieldName" select="'dateOfChange'" />   </tr>
          <tr>
            <xsl:with-param name<td class="renderCmdheadercell5" selectcolspan="'title'100%" />
            <b>Request  </xsl:call-template>
      Details</b>
           <font color="#ff0000">*</font>
     td>
          </td>tr>
            <td class="datacell"><tr>
              <xsl:call-template name="widget_render<td class="thnormal">
                <xsl:withcall-paramtemplate name="fieldName" select="'dateOfChange'" /widget_render">
                <xsl:with-param name="renderCmdfieldName" select="'inputdateOfChange'" />
                <xsl:with-param name="readOnlyrenderCmd" select="$isPastInitiated'title'" />
              </xsl:call-template>
            </td>    <font color="#ff0000">*</font>
      </tr>      </td>
    <tr>         <td class="thnormaldatacell">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'descriptionOfChangedateOfChange'" />
                <xsl:with-param name="renderCmd" select="'titleinput'" />
                <xsl:with-param name="readOnly" select="$isPastInitiated" />
              </xsl:call-template>
            </td>
          <font color="#ff0000">*</font>tr>
           <tr>
    </td>         <td class="datacellthnormal">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'descriptionOfChange'" />
                <xsl:with-param name="renderCmd" select="'inputtitle'" />
                <xsl:with-param name="readOnly" select="$isPastInitiated" /></xsl:call-template>
                 </xsl:call-template><font color="#ff0000">*</font>
            </td>
          </tr>  <td class="datacell">
       <tr>         <td class="thnormal"><xsl:call-template name="widget_render">
                <xsl:callwith-templateparam name="widget_render"fieldName" select="'descriptionOfChange'" />
                <xsl:with-param name="fieldNamerenderCmd" select="'ingressEgressCharacteristicinput'" />
                <xsl:with-param name="renderCmdreadOnly" select="'title'$isPastInitiated" />
              </xsl:call-template>
            </td>
         <font color="#ff0000">*</font>tr>
           <tr>
    </td>         <td class="datacellthnormal">
              <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="$isPastInitiatedtitle'" />
              </xsl:call-template>
            </td>  <font color="#ff0000">*</font>
       </tr>       <tr></td>
            <td class="thnormaldatacell">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'destinationSourceSpecificationingressEgressCharacteristic'" />
                <xsl:with-param name="renderCmd" select="'titleinput'" />
                <xsl:with-param name="readOnly" select="$isPastInitiated" />
              </xsl:call-template>
            </td>
     <font color="#ff0000">*     </font>tr>
           <tr>
    </td>         <td class="datacellthnormal">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'destinationSourceSpecification'" />
                <xsl:with-param name="renderCmd" select="'inputtitle'" />
                <xsl:with-param name="readOnly" select="$isPastInitiated" /></xsl:call-template>
              <font color="#ff0000">*</xsl:call-template>font>
            </td>
          </tr>  <td class="datacell">
       <tr>         <td class="thnormal<xsl:call-template name="widget_render">
                <xsl:callwith-templateparam name="widget_render"fieldName" select="'destinationSourceSpecification'" />
                <xsl:with-param name="fieldNamerenderCmd" select="'termOfRuleChangeinput'" />
                <xsl:with-param name="renderCmdreadOnly" select="'title'$isPastInitiated" />
              </xsl:call-template>
            </td>
        <font color="#ff0000">*  </font>tr>
            </td><tr>
            <td class="datacellthnormal">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'termOfRuleChange'" />
                <xsl:with-param name="renderCmd" select="'inputtitle'" />
                <xsl:with-param name="readOnly" select="$isPastInitiated" />
              </xsl:call-template>
            </td>       </tr><font color="#ff0000">*</font>
            <tr></td>
            <td class="thnormaldatacell">
              <xsl:call-template name="widget_render">
                <xsl:with-param name="fieldName" select="'relatedProjecttermOfRuleChange'" />
                <xsl:with-param name="renderCmd" select="'titleinput'" />
                </xsl<xsl:call-template>
    with-param name="readOnly" select="$isPastInitiated" />
             <font color="#ff0000">*</font>xsl:call-template>
            </td>
          </tr>
       <td class="datacell">  <tr>
            <xsl:call-template name<td class="widget_renderthnormal">
                <xsl:with-param name="fieldName" select="'relatedProject'" /call-template name="widget_render">
                <xsl:with-param name="renderCmdfieldName" select="'inputrelatedProject'" />
                <xsl:with-param name="readOnlyrenderCmd" select="$isPastInitiated'title'" />
              </xsl:call-template>
              <font color="#ff0000">*</td>font>
            </tr>td>
        </table>    <td <br xmlnsclass="datacell" />
      </xsl:template> 

Defining the Workgroups

...

  1.  

...

  1.  

...

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

...

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

...

  1.       

...

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

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

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

...

  1.          

...

  1. </xsl:call-template>
            

...

  1. </

...

  1. td>
          </

...

  1. tr>
        </

...

  1. table>
      

...

  1.   <br 

...

  1. xmlns="" />
    

    Defining the Workgroups

    Code Block

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