Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
import org.joget.apps.app.service.AppUtil; import org.joget.workflow.model.WorkflowProcessResult; import org.joget.workflow.model.service.WorkflowManager; WorkflowManager workflowManager = (WorkflowManager) AppUtil.getApplicationContext().getBean("workflowManager"); String recordId = "001"; String processDefId = "crm#2#process1"; //Start a process with existing record WorkflowProcessResult result = workflowManager.processStart(processDefId, null, null, null, recordId, boolean false);
public static String LATEST = "latest";
public void activityAbort(java.lang.String processId, java.lang.String activityDefId)
Abort an activity based on the process instance Id and activity definition ID.
public void activityVariable(java.lang.String activityInstanceId, java.lang.String variableId, java.lang.Object variableValue)
Set the workflow variable based on an activity instance ID.
public void activityVariables(java.lang.String activityInstanceId, java.util.Map<java.lang.String, java.lang.String> variables)
Set the workflow variables based on an activity instance ID
public boolean activityStart(java.lang.String processId, java.lang.String activityDefId, boolean abortRunningActivities)
Start a specific activity for a running process instance.
public boolean activityStartAndAssignTo(java.lang.String processId, java.lang.String activityDefId, java.lang.String[] usernames, boolean abortRunningActivities)
Start a specific activity for a running process instance, and assign to specific user(s).
public void assignmentAccept(java.lang.String activityId)
Accept an assignment (for the current user) based on the activity instance ID.
Deprecated Since v3, the concept of accept & withdraw assignment is removed
public void assignmentComplete(java.lang.String activityId)
Complete an assignment (for the current user) based on the activity instance ID.
public void assignmentComplete(java.lang.String activityId, java.util.Map<java.lang.String, java.lang.String> variableMap)
Complete an assignment (for the current user) while setting workflow variable values
public void assignmentForceComplete(java.lang.String processDefId, java.lang.String processId, java.lang.String activityId, java.lang.String username)
Force completes an assignment of a user
public void assignmentReassign(java.lang.String processDefId, java.lang.String processId, java.lang.String activityId, java.lang.String username, java.lang.String replaceUser)
Reassigns the assignment from a user to another user
public void assignmentWithdraw(java.lang.String activityId)
Withdraw an assignment (for the current user) based on the activity instance ID.
Deprecated Since v3, the concept of accept & withdraw assignment is removed.
public void assignmentVariable(java.lang.String activityId, java.lang.String variableName, java.lang.String variableValue)
Set workflow variable value based on activity instance ID. This only works when the current user is assigned to the activity.
public void assignmentVariables(java.lang.String activityId, java.util.Map<java.lang.String, java.lang.String> variableMap)
Set workflow variables value based on activity instance ID. This only works when the current user is assigned to the activity.
public org.joget.workflow.model.WorkflowActivity getActivityById(java.lang.String activityId)
Returns an activity instance based on the activity instance ID.
public java.util.Map getActivityInstanceByProcessIdAndStatus(java.lang.String processId, java.lang.Boolean accepted)
Gets a map of active activities in a process instance.
Deprecated Since v3, the concept of accept & withdraw assignment is removed.
public java.util.Collection<org.joget.workflow.model.WorkflowActivity> getActivityList(java.lang.String processId, java.lang.Integer start, java.lang.Integer rows, java.lang.String sort, java.lang.Boolean desc)
Returns a list of running or completed activities for a process instance ID.
public int getActivitySize(java.lang.String processId)
Returns the number of running or completed activities for a process instance ID.
public java.util.Collection<org.joget.workflow.model.WorkflowVariable> getActivityVariableList(java.lang.String activityId)
Returns a list of workflow variables for the specified activity instance ID (for any user)
public org.joget.workflow.model.WorkflowAssignment getAssignment(java.lang.String activityId)
Returns an assignment for the current user based on an activity instance ID.
public org.joget.commons.util.PagedList<org.joget.workflow.model.WorkflowAssignment> getAssignmentAcceptedList(java.lang.String processDefId, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Returns accepted assignments for the current user.
Deprecated Since v3, the concept of accept & withdraw assignment is removed.
public org.joget.workflow.model.WorkflowAssignment getAssignmentByProcess(java.lang.String processId)
Returns the first assignment for the current user based on a process instance ID.
public org.joget.workflow.model.WorkflowAssignment getAssignmentByRecordId(java.lang.String recordId, java.lang.String processDefId, java.lang.String activityDefId, java.lang.String username)
Returns the first assignment based on record ID.
public java.util.Collection<org.joget.workflow.model.WorkflowAssignment> getAssignmentList(java.lang.Boolean accepted, java.lang.String processDefId, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Returns a list of assignments for the current user
public java.util.Collection<org.joget.workflow.model.WorkflowAssignment> getAssignmentList(java.lang.String packageId, java.lang.String processDefId, java.lang.String processId, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Returns a list of assignments for the current user.
public java.util.Collection<org.joget.workflow.model.WorkflowAssignment> getAssignmentList(java.lang.String packageId, java.lang.String processDefId, java.lang.String processId, java.lang.String activityDefId, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Returns a list of assignments for the current user.
public java.util.Collection<org.joget.workflow.model.WorkflowAssignment> getAssignmentListFilterByProccessDefIds(java.lang.String[] processDefIds, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Returns a list of assignments for the current user filter by processDefIds
public int getAssignmentListFilterByProccessDefIdsSize(java.lang.String[] processDefIds)
Returns the number of assignments for the current user filter by processDefIds.
public java.util.Collection<org.joget.workflow.model.WorkflowAssignment> getAssignmentListLite(java.lang.String packageId, java.lang.String processDefId, java.lang.String processId, java.lang.String activityDefId, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Returns a list of assignments with lite info for the current user.
public org.joget.commons.util.PagedList<org.joget.workflow.model.WorkflowAssignment> getAssignmentPendingAndAcceptedList(java.lang.String packageId, java.lang.String processDefId, java.lang.String processId, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Returns the all (pending and accepted) assignments for the current user.
public org.joget.commons.util.PagedList<org.joget.workflow.model.WorkflowAssignment> getAssignmentPendingList(java.lang.String processDefId, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Returns pending assignments for the current user
public java.util.List<java.lang.String> getAssignmentResourceIds(java.lang.String processId, java.lang.String processInstanceId, java.lang.String activityInstanceId)
Returns a list of usernames that are assigned to a specific activity instance.
public int getAssignmentSize(java.lang.Boolean accepted, java.lang.String processDefId)
Returns the number of assignments for the current user.
public int getAssignmentSize(java.lang.String packageId, java.lang.String processDefId, java.lang.String processId)
Returns the number of assignments for the current user.
public int getAssignmentSize(java.lang.String packageId, java.lang.String processDefId, java.lang.String processId, java.lang.String activityDefId)
Returns the number of assignments for the current user.
public java.util.Collection<org.joget.workflow.model.WorkflowVariable> getAssignmentVariableList(java.lang.String activityId)
Returns a list of workflow variables for the specified activity instance ID (only if assigned to the current user)
public java.util.Collection<org.joget.workflow.model.WorkflowProcess> getCompletedProcessList(java.lang.String packageId, java.lang.String processId, java.lang.String processName, java.lang.String version, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Returns a list of completed processes, filtered by optional parameter values.
public int getCompletedProcessSize(java.lang.String packageId, java.lang.String processId, java.lang.String processName, java.lang.String version)
Returns the number of completed processes, filtered by optional parameter values.
public java.lang.String getConvertedLatestProcessDefId(java.lang.String processDefId)
Replaces the WorkflowManager.LATEST in process def id to the latest process def id
public java.lang.String getCurrentPackageVersion(java.lang.String packageId)
Returns the latest package version for the given package ID
public java.util.List<java.lang.String> getMigrationAssignmentUserList(java.lang.String processId, java.lang.String activityDefId)
Gets the usernames of process activity for process version migration
public org.joget.workflow.model.WorkflowAssignment getMockAssignment(java.lang.String activityId)
Returns a mock assignment based on an activity instance ID.
public org.joget.workflow.model.WorkflowPackage getPackage(java.lang.String packageId, java.lang.String version)
Retrieve a specific workflow package.
public byte[] getPackageContent(java.lang.String packageId, java.lang.String version)
Returns the XPDL content for a package version.
public java.lang.String getPackageIdFromDefinition(byte[] processDefinitionData)
Reads package ID from XPDL definition
public java.util.Collection<org.joget.workflow.model.WorkflowPackage> getPackageList()
Returns a list of packages currently in the system.
public java.util.Map<java.lang.String, org.joget.workflow.model.WorkflowParticipant> getParticipantMap(java.lang.String processDefId)
Returns the participant definitions for a process definition ID in a map.
public org.joget.workflow.model.WorkflowProcess getProcess(java.lang.String processDefId)
Returns a process definition by its definition ID.
public java.util.Collection<org.joget.workflow.model.WorkflowActivity> getProcessActivityDefinitionList(java.lang.String processDefId)
Returns the activity definitions for a process definition ID.
public java.util.Collection<org.joget.workflow.model.WorkflowActivity> getProcessActivityDefinitionList(java.lang.String processDefId)
Returns the activity definitions for a process definition ID.
public java.lang.String getProcessDefIdByInstanceId(java.lang.String instanceId)
Returns a process definition ID based on a process instance ID.
public java.util.Collection<org.joget.workflow.model.WorkflowProcess> getProcessList(java.lang.String packageId)
Returns a list of process definitions.
public java.util.Collection<org.joget.workflow.model.WorkflowProcess> getProcessList(java.lang.String packageId, java.lang.String version)
Returns a list of process definitions.
public org.joget.commons.util.PagedList<org.joget.workflow.model.WorkflowProcess> getProcessList(java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows, java.lang.String packageId, java.lang.Boolean all, java.lang.Boolean checkWhiteList);
Returns a list of process definitions
public java.util.Collection<org.joget.workflow.model.WorkflowParticipant> getProcessParticipantDefinitionList(java.lang.String processDefId)
Returns the participant definitions for a process definition ID.
public java.util.Collection<org.joget.workflow.model.WorkflowTool> getProcessToolDefinitionList(java.lang.String processDefId)
Returns the application definitions for a process definition ID.
public java.lang.String getProcessVariable(java.lang.String processInstanceId, java.lang.String variableId)
Returns the variable value based on a process instance ID.
public java.util.Collection<org.joget.workflow.model.WorkflowVariable> getProcessVariableDefinitionList(java.lang.String processDefId)
Returns the variable definitions for a process definition ID.
public java.util.Collection<org.joget.workflow.model.WorkflowVariable> getProcessVariableList(java.lang.String processId)
Returns a list of workflow variables for the specified process instance ID (for any user)
public double getServiceLevelMonitorForRunningActivity(java.lang.String activityInstanceId)
Gets the service level for a specific activity instance ID.
public double getServiceLevelMonitorForRunningProcess(java.lang.String processInstanceId)
Gets the service level for a specific process instance ID.
public org.joget.workflow.model.WorkflowActivity getRunningActivityInfo(java.lang.String activityInstanceId)
Returns activity monitoring info (eg date creation, limit, due (creation + limit), delay and completion) for a process instance ID.
public org.joget.workflow.model.WorkflowProcess getRunningProcessById(java.lang.String processId)
Returns a running process by process instance ID.
public org.joget.workflow.model.WorkflowProcess getRunningProcessInfo(java.lang.String processInstanceId)
Returns process monitoring info (eg date creation, due dates, etc) for a process instance ID.
public java.util.Collection<org.joget.workflow.model.WorkflowProcess> getRunningProcessList(java.lang.String packageId, java.lang.String processId, java.lang.String processName, java.lang.String version, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Returns a list of running processes, filtered by optional parameter values.
public int getRunningProcessSize(java.lang.String packageId, java.lang.String processId, java.lang.String processName, java.lang.String version)
Returns the number of running processes, filtered by optional parameter values.
public java.lang.String getUserByProcessIdAndActivityDefId(java.lang.String processDefId, java.lang.String processId, java.lang.String activityDefId)
Returns the name of the user that accepted/completed activity.
Parameters:
processDefId - Unsed for now
public org.joget.workflow.model.WorkflowProcessLink getWorkflowProcessLink(java.lang.String processId)
Gets the parent process instance id of a process instance
public org.joget.workflow.model.service.WorkflowUserManager getWorkflowUserManager()
Method used by system to get WorkflowUserManager implementation
public java.lang.Boolean internalCheckDeadlines(java.lang.String[] pids)
Internal method used to checks deadlines for selected process instances
public void internalCheckDeadlines(int instancesPerTransaction, int failuresToIgnore)
Internal method used to checks deadlines
public void internalDeleteWorkflowProcessLink(org.joget.workflow.model.WorkflowProcessLink wfProcessLink)
Internal method used to delete the processes link
public void internalRemoveProcessOnComplete(java.lang.String procInstanceId)
Internal method used to delete a process instance only if it is completed.
public void internalUpdateDeadlineChecker()
Internal method used to updates deadline checker time interval
public java.lang.Boolean isAssignmentExist(java.lang.String activityId)
Check an assignment is exist or not (for current user) based on an activity instance ID.
public java.lang.Boolean isPackageIdExist(java.lang.String packageId)
Checks to see whether or not package exists.
public java.lang.Boolean isUserInWhiteList(java.lang.String processDefId)
Checks the current user is allow to start a process
public java.lang.Boolean processAbort(java.lang.String processId)
Abort a process instance.
public org.joget.workflow.model.WorkflowProcessResult processCopyFromInstanceId(java.lang.String currentProcessId, java.lang.String newProcessDefId, java.lang.Boolean abortCurrentProcess)
Start a new process while copying variables, form data and running activities from a previous running process instance.
public java.lang.String processCreateWithoutStart(java.lang.String processDefId)
Create a process instance without starting any activities.
public void processDeleteAndUnload(java.lang.String packageId)
Deletes all versions for a package together with its associated process instances.
public void processDeleteAndUnloadVersion(java.lang.String packageId, java.lang.String version)
Deletes a specific package version together with its process instances.
public org.joget.workflow.model.WorkflowProcessResult processStart(java.lang.String processDefId)
Starts a process based on the process definition ID.
public org.joget.workflow.model.WorkflowProcessResult processStart(java.lang.String processDefId, java.util.Map<java.lang.String, java.lang.String> variables)
Starts a process based on the process definition ID, while setting workflow variables values
public org.joget.workflow.model.WorkflowProcessResult processStart(java.lang.String processDefId, java.util.Map<java.lang.String, java.lang.String> variables, java.lang.String startProcUsername)
Starts a process based on the process definition ID, while setting workflow variables values and start process username.
public org.joget.workflow.model.WorkflowProcessResult processStart(java.lang.String processDefId, java.lang.String processId, java.util.Map<java.lang.String, java.lang.String> variables, java.lang.String startProcUsername, java.lang.String parentProcessId, java.lang.Boolean startManually)
Generic method to start a process with various options.
Parameters:
processDefId - The process definition ID of the process to start
processId - The process instance ID of a current running process to start
variables - Workflow variables values to set for the process
startProcUsername - The username of the person starting the process
parentProcessId - The process instance ID of a parent or calling process
startManually - Set to true to prevent beginning activities from being started.
public org.joget.workflow.model.WorkflowProcessResult processStartWithInstanceId(java.lang.String processDefId, java.lang.String processId, java.util.Map<java.lang.String, java.lang.String> variables)
Starts a process based on the process definition ID, while setting workflow variables values, start process username and parent process id.
public org.joget.workflow.model.WorkflowProcessResult processStartWithLinking(java.lang.String processDefId, java.util.Map<java.lang.String, java.lang.String> variables, java.lang.String startProcUsername, java.lang.String parentProcessId)
Starts a process based on the process definition ID, while setting workflow variables values, start process username and parent process id.
public java.lang.String processUpload(java.lang.String packageId, byte[] processDefinitionData) throws Exception
Upload a package XPDL together with forms, participant and activity mapping information
public java.lang.String processUploadWithoutUpdateMapping(java.lang.String packageId, byte[] processDefinitionData) throws Exception
Upload a package XPDL without updating mapping information
public void processVariable(java.lang.String processInstanceId, java.lang.String variableId, java.lang.Object variableValue)
Set the workflow variable based on an process instance ID.
public void processVariables(java.lang.String processInstanceId, java.util.Map<java.lang.String, java.lang.String> variables)
Set the workflow variables based on an process instance ID.
public void reevaluateAssignmentsForActivity(java.lang.String activityInstanceId)
Reevaluate assignments for an activity based on an activity instance ID.
public void reevaluateAssignmentsForProcess(java.lang.String procInstanceId)
Reevaluate assignments for a process based on an process instance ID.
public void reevaluateAssignmentsForUser(java.lang.String username)
Reevaluate assignments for an user
public void removeProcessInstance(java.lang.String procInstanceId)
Deletes a process instance.
public void setWorkflowUserManager(WorkflowUserManager userManager)
Method used by system to sets WorkflowUserManager implementation