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:
http://server:port/WorkflowWebServiceClients/WorkflowWebserviceClients/Workflow.jsp
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:
Sample JspMappingRules.xml File
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapping-rules >
<mapping-rules>
<workbasketList-rules>
<rule expression='true'>/WorkflowWebserviceClients/WorkbasketList.jsp?showSize=true&showBold=true&showMaint=true</rule>
</workbasketList-rules>
<workbasketTOC-rules>
<!-- inputs
workbasketName, user
-->
<rule expression='workbasketName.matches(".* MATCHED .*")'>/CustomClients/WorkbasketTOCSelect.jsp</rule>
<rule expression='true'>/WorkflowWebserviceClients/WorkbasketTOC.jsp</rule>
</workbasketTOC-rules>
<workpieceInfo-rules>
<!-- 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>
</workpieceInfo-rules>
<WorkpieceInfo><!--
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.
-->
<One>
<GoOptions><!--
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'/>
</GoOptions>
<References>
<Reference type='' />
</References>
<ValueDefault show='false' />
<Values>
<Value name='APPROVERID' show='false' validator='validateFunction()'>
<PickList>
</PickList>
</Value>
</Values>
</One>
<ApproverDrops>
<GoOptions>
<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'/>
</GoOptions>
</ApproverDrops>
<Default>
<GoOptions>
<OptionDefault show='true' validator='true' preaction='true' postaction='true'/>
</GoOptions>
</Default>
</WorkpieceInfo>
</mapping-rules>