# New Form Property

**URL:** https://forum.flowable.org/t/new-form-property/460
**Category:** Flowable Engine
**Created:** [April 9, 2017, 10:18pm UTC](https://forum.flowable.org/t/new-form-property/460 "2017-04-09T22:18:51Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![daniel.dourado](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/daniel.dourado/32/2321_2.png) [@daniel.dourado](https://forum.flowable.org/u/daniel.dourado)
#### Post date: [April 9, 2017, 10:18pm UTC](https://forum.flowable.org/t/new-form-property/460/1 "2017-04-09T22:18:51Z")

</div>

Hi,

in our client, we have a use case where we need the engine to control (based on modelation semantic) the properties that are supposed to be exposed/rendered in our custom UI(liferay portlet)…if we use the flowable already defined form types - string, long, enum,date and boolean - everything works fine, the problem is when we need to specify a new form type…we’ve been using the approach exposed by Jorran Barrez in his blog - [http://www.jorambarrez.be/blog/2013/03/13/creating-a-new-form-property-in-activiti/](http://www.jorambarrez.be/blog/2013/03/13/creating-a-new-form-property-in-activiti/) - but now, when converting from activiti to flowable, we can’t find a class in flowable, similar to AbstractFormPropertyRenderer (in fact, we’re not sure if we need this, once we render the types on our own UI)…we’re facing this error, while trying to start the engine:

org.flowable.engine.common.api.FlowableIllegalArgumentException: unknown type ‘multiselect’ actividadesOptions  
at org.flowable.engine.impl.form.FormTypes.parseFormPropertyType(FormTypes.java:55)  
at org.flowable.engine.impl.form.DefaultFormHandler.parseConfiguration(DefaultFormHandler.java:56)

Can anyone please help us clarifying how can we correct the bug that we’re facing or which could be a best (alternative) approach? in resume, our use case is; we need the engine to recognize custom/new form types, when fetching form properties, in a user task.

Final note: we’re using flowable 6.0.0

Kind regards

---

<div class="post-metadata">

### Author: ![tijs](https://avatars.discourse-cdn.com/v4/letter/t/bc79bd/32.png) [@tijs](https://forum.flowable.org/u/tijs)
#### Post date: [April 10, 2017, 7:19am UTC](https://forum.flowable.org/t/new-form-property/460/2 "2017-04-10T07:19:21Z")

</div>

Hi,

You can inject additional form types in the process engine configuration (customFormTypes or formTypes). Did you do this? The AbstractFormPropertyRenderer class is part of the Activiti Explorer and is used to render a form field type in the Vaadin UI. In Flowable 6 we switched to separate form definitions based on JSON with a new form builder for the Task form UI. But you can still use the basic form properties support when building your own form renderer in Flowable 6.

Best regards,

Tijs

---

<div class="post-metadata">

### Author: ![daniel.dourado](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/daniel.dourado/32/2321_2.png) [@daniel.dourado](https://forum.flowable.org/u/daniel.dourado)
#### Post date: [April 10, 2017, 9:36am UTC](https://forum.flowable.org/t/new-form-property/460/3 "2017-04-10T09:36:59Z")

</div>

Hi Tijs,

thank you very much for your quick reply.  
What we’ve done was following the approach presented by Joran, so, maybe  
the engine configuration isn’t fine with flowable (you may have evolve it).  
In detail, we set the engine configuration (in application context), like  
this:  
\<bean id=“processEngineConfiguration” class=“org.flowable.spring.SpringProcessEngineConfiguration”\<property name=“dataSource” ref=“dataSourceBpm”  
\<property name=“transactionManager” ref=“transactionManager”  
\<property name=“databaseSchemaUpdate” value=“true”  
\<property name=“asyncExecutorActivate” value=“false”  
\<property name=“customFormTypes”  
\<list  
\<bean class=“blabla.bpm.process.formtypes.MultiSelectFormType”  
\</list  
\</property  
\</bean

(note: if i put the ‘close tag’ (\>), this editor will not expose the string correctly)

Then we created the property class, extending AbstractFormType  
(MultiSelectFormType extends AbstractFormType).  
When we try to start the process (the form type is used at the beginning of  
the process), we get a unknown type ‘multiselect’… exception, at  
FormTypes.parseFormPropertyType  
Should we inject/configure additional form types in other way?

Thank you very much for the explanation on AbstractFormPropertyRenderer,  
we’re not needing it…we were using it because we thought the engine would  
only recognize the field if it had this (rendering) configuration/injection.

Best regards  
daniel

---

<div class="post-metadata">

### Author: ![daniel.dourado](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/daniel.dourado/32/2321_2.png) [@daniel.dourado](https://forum.flowable.org/u/daniel.dourado)
#### Post date: [April 11, 2017, 10:35pm UTC](https://forum.flowable.org/t/new-form-property/460/4 "2017-04-11T22:35:39Z")

</div>

Ok,

so, I had a problem in the code while building the engine. Now, the engine already detects the form property but still have a problem: I can’t get the values of the property. Is there any particular approach so that the engine can recognize the values of my custom form property? This property is mostly like the enum form type,that’s working perfectly (also has multiple values). Below (in comments, the previous version), you can find the code that reflects the engine configuration and start.  
Can anyone help me, please?

> [//this.processEngine=](https://this.processEngine=) ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration()  
> // .setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB\_SCHEMA\_UPDATE\_FALSE)  
> // .setDataSourceJndiName(jndi.contains(“java:comp/env/”)==true?jndi:“java:comp/env/” + jndi)  
> // .buildProcessEngine();
> 
> ProcessEngineConfigurationImpl configuration = (ProcessEngineConfigurationImpl) ProcessEngineConfiguration .createStandaloneProcessEngineConfiguration()  
> .setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB\_SCHEMA\_UPDATE\_FALSE)  
> .setDataSourceJndiName(jndi.contains(“java:comp/env/”)==true?jndi:“java:comp/env/” + jndi);
> 
> ```
> configuration.setCustomFormTypes(customFormTypes);
>         
> this.processEngine=configuration.buildProcessEngine();
> 
> ```

regards,  
daniel

---

<div class="post-metadata">

### Author: ![daniel.dourado](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/daniel.dourado/32/2321_2.png) [@daniel.dourado](https://forum.flowable.org/u/daniel.dourado)
#### Post date: [April 11, 2017, 10:59pm UTC](https://forum.flowable.org/t/new-form-property/460/5 "2017-04-11T22:59:58Z")

</div>

Hi,

I found out the justification for the previous problem - class **FormTypes** only allows multiple values to enum property type (method **parseFormPropertyType** )…is there any reason for this? Is there any workaround for scenarios where there are multiple values assigned to a custom form property, that’s not an enum?

regards,  
daniel

---

<div class="post-metadata">

### Author: ![tijs](https://avatars.discourse-cdn.com/v4/letter/t/bc79bd/32.png) [@tijs](https://forum.flowable.org/u/tijs)
#### Post date: [April 14, 2017, 3:13pm UTC](https://forum.flowable.org/t/new-form-property/460/6 "2017-04-14T15:13:56Z")

</div>

Hi Daniel,

No other reason then the other out-of-the-box supported types only need a single value. Is there a specific reason why you are using the form properties and not the new JSON forms added in Flowable 6? The new JSON forms are a lot more flexible to define new field types etc.

Best regards,

Tijs

---

<div class="post-metadata">

### Author: ![daniel.dourado](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/daniel.dourado/32/2321_2.png) [@daniel.dourado](https://forum.flowable.org/u/daniel.dourado)
#### Post date: [April 14, 2017, 5:34pm UTC](https://forum.flowable.org/t/new-form-property/460/7 "2017-04-14T17:34:26Z")

</div>

Hi Tijs,

thank you, once again, for your reply.  
We are also using the JSON format (and another 'external form’  
manager)…the fact is that we want to allow the designer (when the process  
needs human interaction - UserTask) to choose either, to invoke external  
forms or (if the task doesn’t need many or complicated input fields) to  
define the fields directly in the User Task configuration (that’s why we  
are using the Form properties). But I’ll see, if we can have a ‘design  
workaround’…  
Also, I would like to send you two final notes:

- I’ve already forked a copy of your repository at GitHub and I am  
willing to help. We’ll (the client where I am at the moment) start a  
project soon and I hope that we will send you some stuff, from our  
development team. But also, I’m available to help (in any way - correct,  
develop, whatever)…If you need anything specific and don’t have the  
’hands’to do it, don’t hesitate to contact,
- Because of the project that I refer in the previous lines, I need more  
info regarding your recent market approach with edorasware. If you don’t  
mind, I’ll send you an invitation thru Linkedin so that we can have a ‘less  
public’ 🙂 discussion.

Kind regards,  
daniel

---

<div class="post-metadata">

### Author: ![tijs](https://avatars.discourse-cdn.com/v4/letter/t/bc79bd/32.png) [@tijs](https://forum.flowable.org/u/tijs)
#### Post date: [April 18, 2017, 7:12am UTC](https://forum.flowable.org/t/new-form-property/460/8 "2017-04-18T07:12:57Z")

</div>

Hi Daniel,

Ok cool. We always are looking for developers that can work on new features for the Flowable Engine. Just sent me a message to discuss this. About the commercial support options als just sent me a message to discuss it further.

Best regards,

Tijs
