Description of problem: If you have 2 same name taskform FLTs which exist in differet packages, business-central may pick up a taskform FLT in a wrong package. Because GuvnorConnectionUtils.getFormTemplateURLFromGuvnor()/templateExistsInRepo() iterates all packages in Guvnor and search taskform with just 'TaskName'. Official docs tells: https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_BRMS_Platform/5/html-single/BRMS_Business_Process_Management_Guide/index.html#Adding_New_Process_and_Task_Forms > 8.7. Adding New Process and Task Forms > > Task forms for a specific type of human task (uniquely identified by its task name) can be linked to that human task by creating a template with the name {taskName}.ftl. So it's a designed behaviour but it doesn't sound nice to users. A better behaviour would be searching taskform with 'package name' + 'TaskName'. Steps to Reproduce: 1. Import attached repository_export_duplicate_taskform_name.zip (It has 2 'TaskA-taskform.flt' which exist in 'pkg1' and 'pkg2') 2. Login business-central as john 3. Go to 'Process Overview' and start 'process2' 4. Go to 'Personal Tasks' and view the TaskA from pkg2.process2 Actual results: The task form is one from pkg1. You will see in the taskform: User Task Form: process1.TaskA Expected results: The task form is one from pkg2. You will see in the taskform: User Task Form: process2.TaskA
Created attachment 798613 [details] repository_export_duplicate_taskform_name.zip
My idea of generated task form identifier is, that it would consist of following [pkg-name]_[process-name]_[task-name].ftl This would mean that there could be same task name in : 1) two different processes in two different packages 2) two different processes in same package There would be conflict if there would be same task names defined in one process but this is not likely to happen and it is quite confusing design such process.