I have a spring boot application. I have added task-form.html in src/main/webapp/forms folder.
I have referenced the form as embedded form to a user task in bpmn as shown below.
<bpmn:userTask id="Task_1kw6h8b" name="Step1" camunda:formKey="embedded:app:forms/task-form.html" camunda:candidateGroups="MetadataScanningTeam">
<bpmn:extensionElements>
<camunda:executionListener delegateExpression="${ddmultiInstance}" event="end" />
</bpmn:extensionElements>
<bpmn:incoming>SequenceFlow_1war6r2</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_137ulpt</bpmn:outgoing>
</bpmn:userTask>
When i initiate the process, for the corresponding user task, the form is not getting loaded. I am getting the error
Form failure : The context path is either empty or undefined.
Since it is spring boot application, do i need to reference the form differently? Any help is much appreciated.
Hi @ChandruM,
Do you have a custom context path defined? There was a bug related to this, which has recently been resolved with https://app.camunda.com/jira/browse/CAM-10187.
Best,
Nikola
@nikola.koevski, I do not have any context path defined. I am running it from http://localhost:8081/app/tasklist/
@ChandruM, in that case, one theory that I have is that you’re using the wrong reference type (https://docs.camunda.org/manual/7.11/user-guide/task-forms/#embedded-task-forms):
- When using
embedded:app:
you’re supposed to use the @EnableProcessApplication
annotation since this tells the engine that the form is stored in a separate archive deployed on the shared Process Engine. (this is how the behavior is defined for Shared Engine deployments).
- If you’re working with a non
ProcessApplication
deployment, you should use embedded:deployment:
since this tells the engine that the form is stored in the database.
If this doesn’t help, then I would ask if you can provide an example project that replicates the issue, so I can reproduce it on my side.
Best,
Nikola
2 Likes
Hi @ChandruM,
in spring-boot you should save the forms in the folder src/main/resources/static
.
Hope this helps, Ingo
1 Like
Thank you @Ingo_Richtsmeier and @nikola.koevski.
I am still trying to fix this. The contextpath is always is null when fetching the form. I am not sure what i am missing. But i am trying to debug. Will get back if i am able to resolve the issue.
I was able to resolve the issue by doing the following steps.
1.) there is no src/main/webapp with spring boot applications, use src/main/resources/static
2.) for camunda to link the resource to the engine, you will need a process application. This is done easily by adding “@EnableProcessApplication” to your spring boot app.
3.) Autodeployment requires a src/main/resources/META-INF/processes.xml file, but you can leave it empty
Thanks you @nikola.koevski and @Ingo_Richtsmeier for your inputs which helped me to resolve the issue.
On the official documentation can we add the above information so that it might help the community?
Hi @ChandruM,
on each page of the documentation is an icon that links to the documentation source in github.
You can easily create a pull request with improvements.
Hope this helps, Ingo
1 Like