The main user interface for Enterprise Workflow is the web client on the same Apache Tomcat server (or other web-application container) as the Enterprise Workflow web-service server.
For example:
The Enterprise Workflow web client is divided into three sections:
You can configure the web client to use custom JSP pages for workpiece and information display and then write an expression to select which JSP file to use, based on workbasket, user, process, process-step, workpiece-class, or any of the workpiece attributes.
The XML file JspMappingRules.xml contains the mapping for which JSP files to use. The web client first looks for this code in /webapps/WorkflowWebServiceClients/CustomClients. If it is not found there, it looks in /webapps/WorkflowWebServiceClients/WorkflowWebserviceClients.
Use the CustomClients folder for your customizations. This folder is not distributed with any updates to the web application, so your customizations will remain intact during updates. The default JspMappingRules.xml file is in WorkflowWebServiceClients and contains mapping rules that choose the default pages for workbasket table of contents (WorkbasketTOC.jsp) and workpiece information (WorkpieceInfo.jsp). Copy JspMappingRules.xml, WorkpieceInfo.jsp, and WorkbasketTOC.jsp from WorkflowWebserviceClients to CustomClients as a template to make your changes.

JspMappingRules.xml Syntax

The sample file below includes the following tags:

  • mapping-rules - The document root. All the other content must be within these tags.
  • rules - There are three types: workbasketList-rules, workbasketTOC-rules, and workpieceInfo-rules. Each defines how that area displays in the web client. The web client finds the first rule tag that evaluates to true. Rules contain either a full UNC web path for the page to display, or another set of rules.

    Note: You must have one workbasketList-rules rule with an expression that is always true. This includes parameters that turn on or off certain features, such as whether to display the number of workpieces in the workbasket next to the workbasket name.

  • expression - For each rule, a Java expression that is evaluated at run time. When true, the expression's value is the web path to the page, relative to the web application root (for example: http://server:port/WorkflowWebServiceClients/).

    For example:

    • To make the expression always true, use true.
    • To make the expression true only if the workbasket name is Jenny, use workbasketName.equals("Jenny").

      For information on how to construct a Java expression involving string components, look up Java expression syntax.

Sample JspMappingRules.xml File

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapping-rules >
<rule expression='true'>/WorkflowWebserviceClients/WorkbasketList.jsp?showSize=true&amp;showBold=true&amp;showMaint=true</rule>
<!-- inputs
workbasketName, user
<rule expression='workbasketName.matches(".* MATCHED .*")'>/CustomClients/WorkbasketTOCSelect.jsp</rule>
<rule expression='true'>/WorkflowWebserviceClients/WorkbasketTOC.jsp</rule>
<!-- inputs
workbasketName, user, process, processStepId, workpieceClass, workpieceAttributes by name
<rule expression='Arrays.asList(new Object[] {"370","25","110","330","340","350"}).contains(processStepId)' >/CustomClients/WorkpieceInfoApproverDrops.jsp?use=WorkpieceInfo/ApproverDrops</rule>
<rule expression='workbasketName.startsWith("Jack Frost")' >/CustomClients/WorkpieceInfoForRichard.jsp?use=WorkpieceInfo/One</rule>
<rule expression='true'>/WorkflowWebserviceClients/WorkpieceInfo.jsp?use=WorkpieceInfo/Default</rule>
each workpieceInfo-rule may refer to an instance within WorkpieceInfo to specify options for
dislaying options, references or variable when using WorkpieceInfoOptions, WorkpieceInfoReferences, 
or WorkpieceInfoValues custom tags.
GoOptions specify whether or not to display the option and the 
validator, preAction, and postAction javascript functions to 
be called from the advanceWorkpiece function invoked when the 
option is selected
<Option id='Show the value' show='false' validator='ringabell()' />
<OptionDefault show='true' validator='true' preaction='true' postaction='true'/>
<Reference type='' />
<ValueDefault show='false' />
<Value name='APPROVERID' show='false' validator='validateFunction()'>
<Option id='Return unchanged' show='true' validator='validateReturnUnchanged(form)' preaction='changeValues(form)' postaction='changedValues(form)'/>
<Option id='Changed Vendor Table' show='true' validator='validateChangedVendorTable(form)' preaction='changeValues(form)' postaction='changedValues(form)'/>
<Option id='Picked Approver List / ID' show='true' validator='validatePickedApproverList(form)' preaction='changeValues(form)' postaction='changedValues(form)'/>
<OptionDefault show='true' validator='true' preaction='true' postaction='true'/>
<OptionDefault show='true' validator='true' preaction='true' postaction='true'/>
Still have questions? We can help. Submit a case to technical support

Last Modified On:
You don't have the appropriate permissions.
No, open a new Support Case