cancel
Showing results for 
Search instead for 
Did you mean: 

Complex forms

damokles
Champ in-the-making
Champ in-the-making
Hi,

first of all I really like the activiti-explorer (v5.8), but how can you realize more complex forms?

Complex meaning e.g. a data-table or dynamic entries or even just a two column layout.

You can write your own property and renderer, I've recreated the example TextArea from activiti-in-action
and this works great if you are just displaying/editing a primitive.
But for complex objects you have the problem of the string serialization requirement for the form properties, sure you can
serialize your complex java object into a base64 encoded string an pass it around but this does not feel right.

Are there any tips on how to achieve a more complex form without having to write everything yourself outside
of explorer? Maybe some layout properties that could be attached to a form property. And the ability to define your
own layout manager.

-damokles
8 REPLIES 8

ronald_van_kuij
Champ on-the-rise
Champ on-the-rise
Activiti is a greate engine to implement workflow/business processes, but as with it's predecessor (jBPM<5) it will always be behind specific ui languages/frameworks. So personally, I do not use the forms of Activiti. I develop forms in JSF with Primefaces or XForms, but any other specific language will do. The forms do not interact with the engine directly and we do not use the form properties… That way it also looks and feels more like the rest of our app.

That does not mean it could be possible to have more complex forms, I just do not know how and have no desire to learn yet another exotic framework (the ui stuff, for the rest I *love* Activiti)

damokles
Champ in-the-making
Champ in-the-making
We want to use the activiti-explorer since it is a nice tool and we don't want to recreate everything ourself just because the forms are a bit constraining, if you have a good way on how to use other ui frameworks inside activiti-explorer please tell me.

trademak
Star Contributor
Star Contributor
Hi,

As I already mention in the Activiti in Action book, a great example of a more complex form component is the user search component.
This is implemented in the Activiti Explorer and shows that you can also do quite complex stuff with it.

Best regards,

ronald_van_kuij
Champ on-the-rise
Champ on-the-rise
We want to use the activiti-explorer since it is a nice tool

Don't get me wrong, It *is* a nice tool and we use it to, just not for actually executing the business processes

@Tijs: the search form is (imo) only slightly more 'complex'. It cannot be compared to the order, invoice and other forms we have…

damokles
Champ in-the-making
Champ in-the-making
As I already mention in the Activiti in Action book, a great example of a more complex form component is the user search component.
This is implemented in the Activiti Explorer and shows that you can also do quite complex stuff with it.

Yes I know that you can handcraft each component, the problem I have you can't give any additional information (like maxentries…) to the component, so the re-usability is limited since you would need to subclass it for every specific use, and since you have to have two classes and some xml config for each this is quite cumbersome. The other problem is that each value must be convertible to and from string. This is fine for the user control that returns a user id, but if you want to return a list of other objects you need something like json or a base64 encoded object which makes working with it a bit cumbersome.

Don't get me wrong, It *is* a nice tool and we use it to, just not for actually executing the business processes
So what do you use it for?

ronald_van_kuij
Champ on-the-rise
Champ on-the-rise
So what do you use it for?
Quick demos, some management things

damokles
Champ in-the-making
Champ in-the-making
Quick demos, some management things

So would you say it is not good enough for production use?

ronald_van_kuij
Champ on-the-rise
Champ on-the-rise
Code wise it is good enough, so if it meets your requirements in other ways, it is ready for production I'd say. I just does not meet our needs for ui things and extending it was not an option for several reasons amongst which arelearning a new framework and the need for changing the full AAA layer. Using Activiti CDI was a better choice, but again, for us!