Versions Compared

Key

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

...

  1. Set up the eDocLite skeleton
    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">
    <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>
    
    Define fields
    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">
    <edoclite xmlns="ns:workflow/EDocLite" xsi:schemaLocation="ns:workflow/EDocLite resource:EDocLite">
      
      
      <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>
    

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

  3. Add field details
    Code Block
    <?xml version  <edl name="1eDoc.RequestFirewallChange.0Form" encodingtitle="UTF-8"?Request Firewall Change">
    <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>
            <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>
    

  4. Add field validation
    Code Block
    <?xml version  <edl name="1eDoc.RequestFirewallChange.0Form" encodingtitle="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 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>
              <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">
          <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="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>
          <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">
      <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" /> <value>60</value>
          <xsl:variable name="docHeaderId" select="/documentContent/documentState/docId" /> </meta>
           <xsl:variable name="editable" select="/documentContent/documentState/editable" /> <meta>
            <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'" /> <name>wrap</name>
              <value>hard</value>
            </meta>
          </display>
          <validation required="true">
            <message>Enter the destination/source specification.</message>
          </validation>
        <xsl:template name="mainForm"></fieldDef>
    
        <html<fieldDef xmlnsname="termOfRuleChange"> title="Term of Rule Change <head>(indefinite or otherwise)">
        <script language="javascript" /> <display>
          <xsl:call-template name="htmlHead" <type>text</>type>
        </head>    <meta>
    <body onload="onPageLoad()">       <xsl:call-template name="errors" <name>size</>name>
            <xsl:call-template name="header" <value>50</>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)<validation required="true">
            <xsl:call-template name="hidden-params" />
      <message>Enter term of the rule change.</message>
         <xsl:call-template name="mainBody" /> </validation>
        </fieldDef>
    
        <xsl:call-template<fieldDef name="notesrelatedProject" />
        title="Project Related to Requested Rule(s) Change">
       <br />  <display>
          <xsl:call-template name="buttons" <type>text</>type>
            <br<meta>
    />       </form>   <name>size</name>
       <xsl:call-template name="footer" />     <<value>50</body>value>
         </html>   </xsl:template>meta>
        <xsl:template name="mainBody">
     </display>
      </xsl:template>    <xsl:template<validation namerequired="nbsptrue">
        <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
      </xsl:template>    <message>Enter a related project to the requested rule change.</message>
          </validation>
        </xsl:stylesheet>fieldDef>
    
      </style>
    
    Define the mainBody
    edl>
    

Defining the Style Sheet to Render the Form

  1. Setup the Styelsheet Skeleton
    Code Block
    <style name="eDoc.Example1RequestFirewallChange.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"mainBody" />
            <xsl:call-template name="notes" />
            <br />
            <xsl:call-template name="notesbuttons" />
            <br />
          </form>
          <xsl:call-template name="buttonsfooter" />
        </body>
       <br </>html>
      </xsl:template>
    
      </form><xsl:template name="mainBody">
    
      </xsl:template>
    
      <xsl:call-template name="footernbsp">
    />    <xsl:text </body>disable-output-escaping="yes">&amp;nbsp;</xsl:text>
      </xsl:template>
          </html>
      </xsl:template>
    stylesheet>
    </style>
    

  2. Define the mainBody
    Code Block
      <xsl:template name="mainBody">
        $docStatus=<xsl:value-of select="$docStatus" /> -->
        <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="'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>
    
      <xsl:template name="nbsp">
        <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
      </xsl:template>
          
      </xsl:stylesheet>
    </style>
    

Reference

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