Camunda authorization: https://smartstack.medium.com/camunda-authorizations-by-group-via-rest-cb9c747eb863
Camunda 7.13 example with Hikari: https://github.com/aravindhrs/camunda-springboot-postgres/blob/master/pom.xml
Camunda plugins for Camunda Modeler: https://www.javanibble.com/plugins-for-camunda-modeler/
#Camunda Performance of Job Executor: https://www.summit58.co/post/camunda-platform-performance-at-scale
Camunda run - AngularJS https://github.com/nikku/run-camunda#readme
Camunda user Task, pre and post listeners
Create a Process Engine Plugin Implementation Extend the org.camunda.bpm.engine.impl.cfg.AbstractProcessEnginePlugin abstract class:
public class InformAssigneeParseListenerPlugin extends AbstractProcessEnginePlugin {
@Override public void preInit(ProcessEngineConfigurationImpl processEngineConfiguration) { List preParseListeners = processEngineConfiguration.getCustomPreBPMNParseListeners(); if(preParseListeners == null) { preParseListeners = new ArrayList(); processEngineConfiguration.setCustomPreBPMNParseListeners(preParseListeners); } preParseListeners.add(new InformAssigneeParseListener()); }
}
Create a BPMN Parse Listener Implementation Extend the org.camunda.bpm.engine.impl.bpmn.parser.AbstractBpmnParseListener abstract class:
public class InformAssigneeParseListener extends AbstractBpmnParseListener {
@Override public void parseUserTask(Element userTaskElement, ScopeImpl scope, ActivityImpl activity) { ActivityBehavior activityBehavior = activity.getActivityBehavior(); if(activityBehavior instanceof UserTaskActivityBehavior ){ UserTaskActivityBehavior userTaskActivityBehavior = (UserTaskActivityBehavior) activityBehavior; userTaskActivityBehavior .getTaskDefinition() .addTaskListener("assignment", InformAssigneeTaskListener.getInstance()); } } }
--
Create a Task Listener Implementation Implement the org.camunda.bpm.engine.delegate.TaskListener interface:
public class InformAssigneeTaskListener implements TaskListener {
private final Logger LOGGER = Logger.getLogger(this.getClass().getName()); public static List assigneeList = new ArrayList();
private static InformAssigneeTaskListener instance = null;
protected InformAssigneeTaskListener() { }
public static InformAssigneeTaskListener getInstance() { if(instance == null) { instance = new InformAssigneeTaskListener(); } return instance; }
public void notify(DelegateTask delegateTask) { String assignee = delegateTask.getAssignee(); assigneeList.add(assignee); LOGGER.info("Hello " + assignee + "! Please start to work on your task " + delegateTask.getName()); }
}
Activate the BPMN Parse Listener Plugin The BPMN Parse Listener can be activated in the camunda.cfg.xml: