User task output mapping

Hi,
I wounder, what is convinient way to get data from user within a user task.
My purpose is to make a sort of “smart-help” process for call-center users - user should be provided with proper instructions(user task ‘documentation’ tag) and then choose of several options to clear his question. I want to map user choice to process variables, and each user task should have specific mapping, defined in process definition.

Tag ‘ioSpecification’ seems not working for user tasks.

I could map result every time to the same process variable and then copy it’s value via separate task(script or smth.), but that require doubling a number of task. There should be a better way…

Same question for input data - how to define in process designer which data should be avaliable for user selection (interface rendering is out of scope, List<> object would be fine)

upd: Seems that froms should be used

Hi,

For Flowable 6 we have the form definitions that are implemented to provide this functionality.
In Flowable 5 there are form properties that you can define to present a form to the user.
When you complete a task with a form the values should be passed to the complete method as well, and they are automatically translated to process variables.
The user guide provides more information about the form properties. For form definitions in Flowable 6, we are currently working on the documentation.

Best regards,

Tijs

@tijs, thanks for hint
I’ve implemented form rendering, that’s ok in general.
Are there any options to customize form data based on runtime values(such as process variables)?
I need to make different amount of form property values (for example user should choose between his products and there might be any number of products).

Could you share a bit more details how you implemented the form rendering? Did you use the form properties or did you use the Flowable 6 form definitions?

Best regards,

Tijs

BTW, @tijs, which approach is recommended, form properties or definitions? In my grails plugin I’m in the middle of implementing rendering based on form properties. Do you think form definitions should be handled too?

Best regards
Filip

Hi Filip,

For Flowable 6 form definitions are recommended. Form properties are limited in possibilities and with the flexible JSON format of the form definitions there are much more possibilities. Form properties are still supported in Flowable 6 for backward compatibility reasons.

Best regards,

Tijs

I’ve used Form Properties. Rendering implemented via custom REST service, that put all the properties and values to custom DTO and throw it back to front system.

Could you provide any link to information about Flowable 6 form definitions? (Any blog post or exmaple…)
Haven’t found any mention in user guide, javadoc or even google - that’s why i thought it is the same in general.

Are there any plans to update eclipse designer with form definitions support?

It looks like form definitions is more about how to render a form, not how to define form values and properties. So the question above still in place - are there any options to map process variables on form property values?

Example: a process is meant to provide information about customer’s product.
At first step service task collect a list of customer products (let’s say some sort of service products)
Than customer should choose, one of his products to get details.
I suppose a user task(with a form attached) should be used.

The problem is - form defines a number of properties(along with property values) and i didn’t find any way to change it in runtime.

Is it possible to configure process definition for such task?

P.S: I research flowable because it allows business users to quickly edit and apply the definition of business processes. At the moment, a whole bunch of similar processes implemented in JavaScript and quickly edited as needed by users. How do you think, does flowable meet such requirments?

Hi,

An example process definition and form definitions would help to make your issue more clear. The form field ids of a form definition are directly coupled to the process variable names. So you can change the value of a form field by changing the process variable with the same name.

Best regards,

Tijs

Hi. I am new in Flowable.
Can you be more specific how to get task outcome please.
I Alfresco Activiti I have used task listener on complete user task with alfresco task script:

execution.setVariable(‘taskOutcome’, task.getVariable(‘wf_reviewOutcome’));

How to implement this in Flowable.
Thanks in advance.

I found in log outcome variable and it works.
Variable name is form_%formKey%_outcome

1 Like