Form building best practice for non-supported elements

Hey there everyone! I have been exploring Camunda 8 for countless hours since January and I have found out that forms can be either built using my desktop modeler which uses form-js and there are lots of form elements that form-js does not support.

Another way is creating an external form and passing its link to the form key. In this method, the form cannot be rendered in Tasklist UI. So we need to develop out own Tasklist or route to another URL using in a link in Text View element (which supports markdown).

My question is, what is everybody else doing? If we cannot create custom forms, so what’s the point?
Which method is widely used among the users?
Do you create forms with form-js? Does it meet all your needs?
Do you create external forms? Then how do you pass the data of your form fields? Do you use API requests in your form javascript?

Hi @okaeiz - I’m curious what elements you need that aren’t currently supported? I can look to see what is on the Tasklist roadmap, as new features are added with every release.

Hi @okaeiz,

Currently, there are two most common ways of using forms with Tasklist:

  1. Out-of-the-box approach: design forms with components available in Camunda and render them in the Tasklist UI.
  2. Custom approach: extend Camunda forms with custom components (or use external forms) and build a custom tasklist using Camunda’s Tasklist API.

Based on user requests, we’re continuously adding more components to Camunda forms (form-js). If you have specific requests, let us know! :slight_smile:

In case the out-of-the-box features are insufficient for your needs, you can extend them with custom implementations and build custom solutions with Camunda’s APIs.

Hi there again and thank you @nathan.loding and @Volodymyr_Melnyk for your help.
Regarding the unsupported elements, I couldn’t find any form element using which the users can upload attachments. That’s just an example though.
The other problem is, the elements are not customizable. Since I need to design forms in specific right-to-left languages, designing a full right to left form using CSS attributes for every single element is tricky. And the fonts cannot be changed as well.

Now regarding the 2 common ways that you mentioned, I tried using the first approach and I prefer that, but because of the restrictions on customization, I decided to use the 2nd approach but not with a customized Tasklist. I used external forms with the standard Tasklist and since the external forms cannot be rendered in Tasklist, I had to put a link to the external form in there. And this is not what I truly desire.

I want to know if RTL and font support features are going to be added. If it is within the roadmap scope, I’d be eager to help and contribute.

Also, I installed the latest version of the Desktop Modeler. It seems now I can create HTML View components as well. It is some good progress. But I think the RTL support for text fields is still a problem.

I read the official docs of this newly added component, the section on security and sanitation strategy says that this component can only be used to present information; and not for inputs. Since I still need to use text fields for that purpose, RTL and font support are needed.

@okaeiz - great feedback, thank you!

File uploads are something that has been discussed quite a bit, and presents some unique challenges. For instance, the process engine (Zeebe) can only handle 4Mb payloads at a time, so what happens if the file is larger than 4Mb? Where is the file stored? Is only a reference sent to Zeebe as a process variable, and if so, how do you fetch the data back? It is something the team is actively investigating and working on.

Customization of the styles is purposely limited in Tasklist to ensure the product operates across all platforms for all users in a predictable way. I think supporting RTL and localization is a great piece of feedback!

What is your use case for using a custom font within Tasklist?

Wise words, @nathan.loding .The payload limitations seems like a problem. But if solved - which I’m sure your guys will figure out how - it’s a great success!

Since I am designing the form for Persian users, the readability and beauty of the form highly depends on the font. Before converting to Camunda, I used Processmaker to manage the business processes. After the 2023 Camunda Con and countless hours of reading the official documentation, I found out that Camunda is better in many aspects.

The only issue is the localization and appearance. I hope Camunda team helps us in that regard.

1 Like

@okaeiz - thanks for the feedback, I’ve shared it with the team!