Form Failure - No Camunda Form Definition was found

Hi,

I am new to Camunda and trying to go through “Adding Forms and Starting Up A Spring Boot Project” tutorial on youtube.
I am constantly getting Form Failure error with "No Camunda Form Definition was found for Camunda Form Ref:" message.
I have tried multiple combinations to use in “Form Ref” field without any success.

image

My form name is preapreDeparture.form and form Id is destinationForm and location is resources/static/forms/preapreDeparture.form.
Values I have tried so far are

  • preapreDeparture.form
  • /forms/preapreDeparture.form
  • /static/forms/preapreDeparture.form
  • destinationForm
  • /forms/destinationForm
  • /static/forms/destinationForm

for all these values I keep getting “No Camunda Form Definition was found for Camunda Form Ref” error. So whats the correct value I should use?

Thanks,
Kaustubh

1 Like

Hi @ksoman,

Try with below values
image

can you upload the form itself

The way that forms are attached to user tasks has changed slightly since that video was recored you can see how it works now.

1 Like

@hassang key=/forms/prepareDeparture.form, binding=latest didn’t work either.
I also tried key=destinationForm, binding=latest and key=/forms/destinationForm, binding=latest but without any luck.

@Niall - I watched your video and it explains how to configure form when deploying from Camunda Modeler. Could you please also make a video to show it when running it from Spring Boot when forms are store in resources folder resources/static/forms/

Also, what binding should be used when running it from spring(eclipse), is it deployment or latest or version ?

Thanks,
K

The video shows a way of connecting user task to forms that is not specific to any distro.
The only difference should be that you don’t need to deploy the process via rest, instead, you should just be able to start up your application

1 Like

Hi @ksoman,

It looks like you should try a previous version of the modeler and set form key to
camunda-forms:app:/forms/prepareDeparture.form

1 Like

@Niall - So, does that mean just the form “Id” as “Form Ref” is good enough irrespective of form location?
Somehow that is not working. What am I missing?

Hi @ksoman,

the form itself is picked up from the database, if you configure a formRef.

To get the form into the database, you have to deploy it. One way is shown in Nialls video. (Deployment form the modeler)

Another way to deploy the form is SpringBoot auto deployment.

There are two different ways, depending if you use @EnableProcessApplication on your @SpringBootApplication or not.

If you use a process application, the processes.xml in the META-INF folder has to look like:

<process-application
  xmlns="http://www.camunda.org/schema/1.0/ProcessApplication"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <process-archive>
    <properties>
      <property name="isDeleteUponUndeploy">false</property>
      <property name="isScanForProcessDefinitions">true</property>
      <property name="additionalResourceSuffixes">form</property>
    </properties>
  </process-archive>

</process-application>

The additionalResourceSuffixes will pick up all files ending with .form.

If you don’t use @EnableProcessApplication, you have to add this snippet to the application.yml

camunda.bpm:
  deployment-resource-pattern:
    - classpath*:**/*.bpmn
    - classpath*:**/*.bpmn20.xml
    - classpath*:**/*.dmn
    - classpath*:**/*.dmn11.xml
    - classpath*:**/*.form

Hope this helps, Ingo

5 Likes

@Ingo_Richtsmeier - That did the trick.

I am using @SpringBootApplication and adding below to application.yml worked.

camunda.bpm:
  deployment-resource-pattern:
    - classpath*:**/*.bpmn
    - classpath*:**/*.bpmn20.xml
    - classpath*:**/*.dmn
    - classpath*:**/*.dmn11.xml
    - classpath*:**/*.form

Form Ref = from Id ( without any path) and binding is deployment

Thanks,
K

3 Likes

Hi @Ingo_Richtsmeier,

Thanks for the detailed answer.

Does that mean Form Ref approach can only be used to link with a form deployed to the database whereas Form Key approach can be used to do both (link with a form resides within a process application or with a form deployed to the database)?

Hi @hassang,

yes.

From my perspective, the formRef is better that the formKey deployment approach, as you can specify a binding to a version with the reference. Using latest provides more flexibility updating just the process model or the form independently from each other.

But a missing piece for a nice developer experience is the option to deploy a form from the modeler directly: Deploy a single Camunda Form (without the bpmn diagram) · Issue #2498 · camunda/camunda-modeler · GitHub

Hope this helps, Ingo

3 Likes

Also without the ending “.form” - so only the pure Id

1 Like

@ksoman It didn’t work for me, Anything else you did but not available in this post

I updated the yaml file, am using the id but still the form does not get displayed. I’m tired now

My post: Camunda forms not visible v7.16 - Cockpit / Tasklist / Admin & Web - Camunda Platform Forum

In case you find something useful for me, please help

version I’m using is 7.15 and not 7.16 as

I solved your problem.The forms you have deployed is stored in database ----- act_ge_bytearray.
The forms are stored in this table , but its property – name is not like that you writted. So you need change it as same as the name in database .
For example: you need change the Form key : camunda-forms:deployment:static/forms/Form_check.form

Hello! I have the same problem, I’m using camunda platform 7.18 and modeler 5.8.0, I have one field ID when i’m creating the form in modeler. When I’m connecting it with bpmn and upload this using spring boot app with parameters:

camunda.bpm:
  deployment-resource-pattern:
    - classpath*:**/*.bpmn
    - classpath*:**/*.form

the form will be loaded, but in tasklist i have an issue : {“type”:“InvalidRequestException”,“message”:“No Camunda Form Definition was found for Camunda Form Ref: CamundaFormRefImpl [key=is-incident, binding=latest, version=null]”,“code”:null}

Could you please help with it?

Also I found a strange moment when I check db act_re_camformdef, the column key_ was with generated value by Camunda, after I have corrected value in the columns key_ and beginning id_ the form became available after refresh tasklist, what the problem can be?

Columns after fix:

1 Like