ConditionalMandatoryDocumentHandler

Description

The ActionHandler ConditionalMandatoryDocumentHandler checks if one or more document(s) are uploaded and if a condition is valid. It can also check if the uploaded files do match one or more supplied file names. If no matching documents are found, an error message appears and the task can only be finished once the required document(s) are attached.

If the document should be mandatory without a condition, this handler should be used:

https://tim-doc.atlassian.net/wiki/spaces/eng/pages/227739934

 


Class

com.dooris.bpm.actionhandler.ConditionalMandatoryDocumentHandler

Parameter

Parameter

Default Value

Description

Valid examples

Parameter

Default Value

Description

Valid examples

pattern

 

A Character string, which must be present in the document name or description. One or multiple patterns may be entered (multiple terms being separated by commas).

If no pattern is given, a check is run to make sure that at least one document (regardless of how it is named) is attached!

  • PhoneNumberList

  • PhoneNumberList,docx,TravelCosts

description

true

Denotes if the description of the document should also be checked according to the supplied pattern. Possible values for this are true (include) or false (do not include).

false

caseSensitive

false

Denotes if upper and lowercase formatting should be considered. This parameter is only taken into account if there is a pattern specified! Possible values for this are true (upper- and lower-case formatting are important) or false (ignore).

false

fileType

 

Declaration of file endings (separated by commas). Checks if all documents conform to the file ending, no matter if upper- or lower-case (example: given fileType=pdf both .pdf and .PDF are valid). If only this parameter is supplied, the uploading of documents is not mandatory. However, if documents are attached, they must conform to the file endings.

pdf, docx, pptx

enforcePattern

false

If set to “true”, all the attached documents must conform to the pattern specified above (Parameter 1). If “false”, only one file must conform to the pattern. Possible values for this are “true” or “false”.

true

checkCurrentNode

false

If set to “true”, the restrictions set by this handler are checked for documents uploaded on this current node.

true

conditionmandatory

 

The dependency is set here. E.g. condition="${variableA}"=="true"; checks if the variableA has been set. If yes, the specified document is mandatory.

  • "${variableB}">="100"

  • "${variableB}"!="${variableC}"

  • "${variableB}"=="${variableA}"

  • "(${count}+1)"=="150"

  • "${varibleA}"=="${variableB}&&100>${count}"

  • "${varibleA}"=="${variableB}||100>${count}"

 

 

Example:

We created a simple example process for this actionhandler.

We have a form attached to the process which asks for the number of the requested items. When the user enters a bigger number than the threshold, for our example it will be 100, a mandatory document will be requested, and the process won't be continued until the document is uploaded.

The actionhandler is set here with one parameter, condition. variableX is already set in the form attached to the process.

When we enter 101 in the input field and click on the start process instance, it will give us an error which is saying the mandatory document needed to be uploaded. The process won't be started until mandatory documents are uploaded.