Is it possible to generate a flowable process using Flowable APIs? My use case involves asking the business user questions around how many approval steps, assignee etc and then I need to generate the process with the Human task. The motivation being that my users are not BPMN savvy.
Hi Srallapally.
Yes, there are plenty of possibilities:
DynamicBpmnService
generate BPMN on the fly and deploy it afterwards
Multiinstance - I think that’s the approach, which you should take.
Regards
Martin
Martin
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.flowable.engine;
import java.util.List;
import org.flowable.engine.dynamic.DynamicProcessDefinitionSummary;
import org.flowable.engine.impl.dynamic.DynamicEmbeddedSubProcessBuilder;
import org.flowable.engine.impl.dynamic.DynamicUserTaskBuilder;
This file has been truncated. show original
doesn’t have any method to create a Process Definition. What am I missing?
import com.fasterxml.jackson.databind.node.ObjectNode;
/**
* Service providing access to the repository of process definitions and deployments.
*
* @author Tijs Rademakers
*/
public interface DynamicBpmnService {
void injectUserTaskInProcessInstance(String processInstanceId, DynamicUserTaskBuilder dynamicUserTaskBuilder);
void injectParallelUserTask(String taskId, DynamicUserTaskBuilder dynamicUserTaskBuilder);
void injectEmbeddedSubProcessInProcessInstance(String processInstanceId, DynamicEmbeddedSubProcessBuilder dynamicEmbeddedSubProcessBuilder);
void injectParallelEmbeddedSubProcess(String taskId, DynamicEmbeddedSubProcessBuilder dynamicEmbeddedSubProcessBuilder);
ObjectNode getProcessDefinitionInfo(String processDefinitionId);
void saveProcessDefinitionInfo(String processDefinitionId, ObjectNode infoNode);
adds ne user task to the currently running process instance.
DynamicActivitiProcessTest
is the second option:
Is my favorite.
Regards
Martin