Audit Trail Plugin (Architecture)

The Audit Trail Plugin is triggered after an audit trail event to provide extra processing capabilities (such as capturing reporting data or user notification). It can be set in Plugin Default Properties—Audit Trail.
 

A usable Audit Trail Plugin must extend org.joget.plugin.base.DefaultAuditTrailPlugin abstract class.

Abstract Class

org.joget.plugin.base.DefaultAuditTrailPlugin

Abstract Methods
execute

public abstract java.lang.Object execute(java.util.Map props)
To execute the extra processing based on Audit Trail Event an org.joget.apps.app.model.AuditTrail object is passed as "auditTrail" property. Return is not used for now.

Sample Usage
public Object execute(Map props) {
     AuditTrail auditTrail = (AuditTrail) props.get("auditTrail");
     if (auditTrail != null && auditTrail.getClazz().startsWith("org.joget.apps.form.dao.FormDataDaoImpl")) {
         String method = auditTrail.getMethod();
          
         if (method.equals("load")) {
             Class[] paramTypes = auditTrail.getParamTypes();
             Object[] params = auditTrail.getArgs();
             Object returnObject = auditTrail.getReturnObject();
             //do something
         }
     }
     return null;
 }

Audit Trail Event

Workflow Process Related Events

Please refer to WorkflowManager for extra information.

Class
Method
ParamTypes
Params (Args)
Return
org.joget.workflow.model.service.WorkflowManagerImpl activityAbort java.lang.String, java.lang.String processId, activityDefId void
org.joget.workflow.model.service.WorkflowManagerImpl activityStart java.lang.String, java.lang.String, boolean processId, activityDefId, abortRunningActivities boolean
org.joget.workflow.model.service.WorkflowManagerImpl activityVariable

java.lang.String, java.lang.String, java.lang.Object

activityInstanceId, variableId, variableValue void
org.joget.workflow.model.service.WorkflowManagerImpl activityVariables java.lang.String, java.util.Map activityInstanceId, variables void
org.joget.workflow.model.service.WorkflowManagerImpl assignmentAbort java.lang.String activityId void
org.joget.workflow.model.service.WorkflowManagerImpl assignmentComplete java.lang.String activityId void
org.joget.workflow.model.service.WorkflowManagerImpl assignmentComplete java.lang.String, java.util.Map activityId, variableMap void
org.joget.workflow.model.service.WorkflowManagerImpl assignmentForceComplete java.lang.String, java.lang.String, java.lang.String, java.lang.String processDefId, processId, activityId, username void
org.joget.workflow.model.service.WorkflowManagerImpl assignmentReassign java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String processDefId, processId, activityId, username, replaceUser void
org.joget.workflow.model.service.WorkflowManagerImpl assignmentReassignUser java.lang.String activityId void
org.joget.workflow.model.service.WorkflowManagerImpl assignmentVariable java.lang.String, java.lang.String, java.lang.String activityId, variableName, variableValue void
org.joget.workflow.model.service.WorkflowManagerImpl assignmentVariables java.lang.String, java.util.Map<java.lang.String, java.lang.String> activityId, variableMap void
org.joget.workflow.model.service.WorkflowManagerImpl processAbort java.lang.String processId boolean
org.joget.workflow.model.service.WorkflowManagerImpl processCompleted java.lang.String processId void
org.joget.workflow.model.service.WorkflowManagerImpl processCopyFromInstanceId java.lang.String, java.lang.String, boolean currentProcessId, newProcessDefId, abortCurrentProcess org.joget.workflow.model.WorkflowProcessResult
org.joget.workflow.model.service.WorkflowManagerImpl processCreateWithoutStart java.lang.String processDefId java.lang.String
org.joget.workflow.model.service.WorkflowManagerImpl processDeleteAndUnload java.lang.String packageId void
org.joget.workflow.model.service.WorkflowManagerImpl processDeleteAndUnloadVersion java.lang.String, java.lang.String packageId, version void
org.joget.workflow.model.service.WorkflowManagerImpl processStart java.lang.String processDefId org.joget.workflow.model.WorkflowProcessResult
org.joget.workflow.model.service.WorkflowManagerImpl processStart java.lang.String, java.util.Map<java.lang.String, java.lang.String> processDefId, variables org.joget.workflow.model.WorkflowProcessResult
org.joget.workflow.model.service.WorkflowManagerImpl processStart java.lang.String, java.util.Map<java.lang.String, java.lang.String>, java.lang.String processDefId, variables, startProcUsername org.joget.workflow.model.WorkflowProcessResult
org.joget.workflow.model.service.WorkflowManagerImpl processStart java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>, java.lang.String, java.lang.String, boolean processDefId, processId, variables, startProcUsername, parentProcessId, startManually org.joget.workflow.model.WorkflowProcessResult
org.joget.workflow.model.service.WorkflowManagerImpl processStartWithInstanceId java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String> processDefId, processId, variables org.joget.workflow.model.WorkflowProcessResult
org.joget.workflow.model.service.WorkflowManagerImpl processStartWithLinking java.lang.String, java.util.Map<java.lang.String, java.lang.String>, java.lang.String, java.lang.String processDefId, variables, startProcUsername, parentProcessId org.joget.workflow.model.WorkflowProcessResult
org.joget.workflow.model.service.WorkflowManagerImpl processUpload java.lang.String, byte[] packageId, processDefinitionData java.lang.String
org.joget.workflow.model.service.WorkflowManagerImpl processUploadWithoutUpdateMapping java.lang.String, byte[] packageId, processDefinitionData java.lang.String
org.joget.workflow.model.service.WorkflowManagerImpl processVariable java.lang.String, java.lang.String, java.lang.Object processInstanceId, variableId, variableValue void
org.joget.workflow.model.service.WorkflowManagerImpl processVariables java.lang.String, java.util.Map processInstanceId, variables void
org.joget.workflow.model.service.WorkflowManagerImpl reevaluateAssignmentsForActivity java.lang.String activityInstanceId void
org.joget.workflow.model.service.WorkflowManagerImpl reevaluateAssignmentsForProcess java.lang.String procInstanceId void
org.joget.workflow.model.service.WorkflowManagerImpl reevaluateAssignmentsForProcesses java.lang.String[] procInstanceIds void
org.joget.workflow.model.service.WorkflowManagerImpl reevaluateAssignmentsForUser java.lang.String username void
org.joget.workflow.model.service.WorkflowManagerImpl removeProcessInstance java.lang.String procInstanceId void
org.joget.workflow.shark.WorkflowAssignmentManager getDefaultAssignments java.lang.String, java.lang.String, org.joget.workflow.model.WorkflowProcess procInstanceId, activityInstanceId, processInstance java.util.List<java.lang.String>
org.joget.workflow.shark.WorkflowToolActivityHandler executeActivity org.joget.workflow.model.WorkflowAssignment workflowAssignment void
org.joget.workflow.shark.WorkflowToolActivityHandler executeTool org.joget.workflow.model.WorkflowAssignment workflowAssignment void
org.joget.workflow.shark.WorkflowToolActivityHandler executeToolCompleted org.joget.workflow.model.WorkflowAssignment workflowAssignment void

 

Form Related Events

Please refer to FormDataDao for extra Information.

Class
Method
ParamTypes
Params (Args)
Return
org.joget.apps.form.dao.FormDataDaoImpl count org.joget.apps.form.model.Form, java.lang.String, java.lang.Object[] form, condition, params java.lang.Long
org.joget.apps.form.dao.FormDataDaoImpl count java.lang.String, java.lang.String, java.lang.String, java.lang.Object[] formDefId, tableName, condition, params java.lang.Long
org.joget.apps.form.dao.FormDataDaoImpl delete org.joget.apps.form.model.Form, java.lang.String[] form, primaryKeyValues void
org.joget.apps.form.dao.FormDataDaoImpl delete java.lang.String, java.lang.String, java.lang.String[] formDefId, tableName, primaryKeyValues void
org.joget.apps.form.dao.FormDataDaoImpl delete java.lang.String, java.lang.String, org.joget.apps.form.model.FormRowSet formDefId, tableName, rows void
org.joget.apps.form.dao.FormDataDaoImpl find org.joget.apps.form.model.Form, java.lang.String, java.lang.Object[], java.lang.String, java.lang.Boolean, java.lang.Integer, java.lang.Integer form, condition, params, sort, desc, start, rows org.joget.apps.form.model.FormRowSet
org.joget.apps.form.dao.FormDataDaoImpl find java.lang.String, java.lang.String, java.lang.String, java.lang.Object[], java.lang.String, java.lang.Boolean, java.lang.Integer, java.lang.Integer formDefId, tableName, condition, params, sort, desc, start, rows org.joget.apps.form.model.FormRowSet
org.joget.apps.form.dao.FormDataDaoImpl findPrimaryKey org.joget.apps.form.model.Form, java.lang.String, java.lang.String form, fieldName, value java.lang.String
org.joget.apps.form.dao.FormDataDaoImpl findPrimaryKey java.lang.String, java.lang.String, java.lang.String, java.lang.String formDefId, tableName, fieldName, value java.lang.String
org.joget.apps.form.dao.FormDataDaoImpl load org.joget.apps.form.model.Form, java.lang.String form, primaryKey org.joget.apps.form.model.FormRow
org.joget.apps.form.dao.FormDataDaoImpl load java.lang.String, java.lang.String, java.lang.String formDefId, tableName, primaryKey org.joget.apps.form.model.FormRow
org.joget.apps.form.dao.FormDataDaoImpl loadWithoutTransaction org.joget.apps.form.model.Form, java.lang.String form, primaryKey org.joget.apps.form.model.FormRow
org.joget.apps.form.dao.FormDataDaoImpl loadWithoutTransaction java.lang.String, java.lang.String, java.lang.String formDefId, tableName, primaryKey org.joget.apps.form.model.FormRow
org.joget.apps.form.dao.FormDataDaoImpl saveOrUpdate org.joget.apps.form.model.Form, org.joget.apps.form.model.FormRowSet form, rowSet void
org.joget.apps.form.dao.FormDataDaoImpl saveOrUpdate java.lang.String, java.lang.String, org.joget.apps.form.model.FormRowSet formDefId, tableName, rowSet void
org.joget.apps.form.dao.FormDataDaoImpl updateSchema org.joget.apps.form.model.Form, org.joget.apps.form.model.FormRowSet form, rowSet void
org.joget.apps.form.dao.FormDataDaoImpl updateSchema java.lang.String, java.lang.String, org.joget.apps.form.model.FormRowSet formDefId, tableName, rowSet void

 

Organization Chart Related Events

Class
Method
ParamTypes
Params (Args)
Return
org.joget.apps.app.web.SessionListener logout java.lang.String username boolean
org.joget.apps.workflow.security.WorkflowAuthenticationProvider authenticate java.lang.String username boolean
org.joget.apps.workflow.security.WorkflowHttpAuthProcessingFilter authenticate java.lang.String username boolean
org.joget.directory.dao.DepartmentDaoImpl addDepartment org.joget.directory.model.Department department java.lang.Boolean
org.joget.directory.dao.DepartmentDaoImpl countDepartments java.lang.String, java.lang.Object[] condition, params java.lang.Long
org.joget.directory.dao.DepartmentDaoImpl deleteDepartment java.lang.String id java.lang.Boolean
org.joget.directory.dao.DepartmentDaoImpl findDepartments java.lang.String, java.lang.Object[], java.lang.String, java.lang.Boolean, java.lang.Integer, java.lang.Integer condition, params, sort, desc, start, rows java.util.Collection<org.joget.directory.model.Department>
org.joget.directory.dao.DepartmentDaoImpl updateDepartment org.joget.directory.model.Department department java.lang.Boolean
org.joget.directory.dao.EmploymentDaoImpl addEmployment org.joget.directory.model.Employment employment java.lang.Boolean
org.joget.directory.dao.EmploymentDaoImpl assignUserAsDepartmentHOD java.lang.String, java.lang.String userId, departmentId java.lang.Boolean
org.joget.directory.dao.EmploymentDaoImpl assignUserReportTo java.lang.String, java.lang.String userId, reportToUserId java.lang.Boolean
org.joget.directory.dao.EmploymentDaoImpl assignUserToDepartment java.lang.String, java.lang.String userId, departmentId java.lang.Boolean
org.joget.directory.dao.EmploymentDaoImpl assignUserToGrade java.lang.String, java.lang.String userId, gradeId java.lang.Boolean
org.joget.directory.dao.EmploymentDaoImpl assignUserToOrganization java.lang.String, java.lang.String userId, organizationId java.lang.Boolean
org.joget.directory.dao.EmploymentDaoImpl countEmployments java.lang.String, java.lang.Object[] condition, params java.lang.Long
org.joget.directory.dao.EmploymentDaoImpl deleteEmployment java.lang.String id java.lang.Boolean
org.joget.directory.dao.EmploymentDaoImpl findEmployments java.lang.String, java.lang.Object[], java.lang.String, java.lang.Boolean, java.lang.Integer, java.lang.Integer condition, params, sort, desc, start, rows java.util.Collection<org.joget.directory.model.Employment>
org.joget.directory.dao.EmploymentDaoImpl unassignUserAsDepartmentHOD java.lang.String, java.lang.String userId, departmentId java.lang.Boolean
org.joget.directory.dao.EmploymentDaoImpl updateEmployment org.joget.directory.model.Employment employment java.lang.Boolean
org.joget.directory.dao.EmploymentDaoImpl unassignUserFromDepartment java.lang.String, java.lang.String userId, departmentId java.lang.Boolean
org.joget.directory.dao.EmploymentDaoImpl unassignUserFromGrade java.lang.String, java.lang.String userId, gradeId java.lang.Boolean
org.joget.directory.dao.EmploymentDaoImpl unassignUserFromOrganization java.lang.String, java.lang.String userId, organizationId java.lang.Boolean
org.joget.directory.dao.EmploymentDaoImpl unassignUserReportTo java.lang.String userId java.lang.Boolean
org.joget.directory.dao.EmploymentReportToDaoImpl addEmploymentReportTo org.joget.directory.model.EmploymentReportTo reportTo java.lang.Boolean
org.joget.directory.dao.EmploymentReportToDaoImpl deleteEmploymentReportTo java.lang.String id java.lang.Boolean
org.joget.directory.dao.EmploymentReportToDaoImpl updateEmploymentReportTo org.joget.directory.model.EmploymentReportTo reportTo java.lang.Boolean
org.joget.directory.dao.GradeDaoImpl addGrade org.joget.directory.model.Grade grade java.lang.Boolean
org.joget.directory.dao.GradeDaoImpl countGrades java.lang.String, java.lang.Object[] condition, params java.lang.Long
org.joget.directory.dao.GradeDaoImpl deleteGrade java.lang.String id java.lang.Boolean
org.joget.directory.dao.GradeDaoImpl findGrades java.lang.String, java.lang.Object[], java.lang.String, java.lang.Boolean, java.lang.Integer, java.lang.Integer condition, params, sort, desc, start, rows java.util.Collection<org.joget.directory.model.Grade>
org.joget.directory.dao.GradeDaoImpl updateGrade org.joget.directory.model.Grade grade java.lang.Boolean
org.joget.directory.dao.GroupDaoImpl addGroup org.joget.directory.model.Group group java.lang.Boolean
org.joget.directory.dao.GroupDaoImpl countGroups java.lang.String, java.lang.Object[] condition, params java.lang.Long
org.joget.directory.dao.GroupDaoImpl deleteGroup java.lang.String id java.lang.Boolean
org.joget.directory.dao.GroupDaoImpl findGroups java.lang.String, java.lang.Object[], java.lang.String, java.lang.Boolean, java.lang.Integer, java.lang.Integer condition, params, sort, desc, start, rows java.util.Collection<org.joget.directory.model.Group>
org.joget.directory.dao.GroupDaoImpl updateGroup org.joget.directory.model.Group group java.lang.Boolean
org.joget.directory.dao.OrganizationDaoImpl addOrganization org.joget.directory.model.Organization organization java.lang.Boolean
org.joget.directory.dao.OrganizationDaoImpl countOrganizations java.lang.String, java.lang.Object[] condition, params java.lang.Long
org.joget.directory.dao.OrganizationDaoImpl deleteOrganization java.lang.String id java.lang.Boolean
org.joget.directory.dao.OrganizationDaoImpl findOrganizations java.lang.String, java.lang.Object[], java.lang.String, java.lang.Boolean, java.lang.Integer, java.lang.Integer condition, params, sort, desc, start, rows java.util.Collection<org.joget.directory.model.Organization>
org.joget.directory.dao.OrganizationDaoImpl updateOrganization org.joget.directory.model.Organization organization java.lang.Boolean
org.joget.directory.dao.RoleDaoImpl addRole org.joget.directory.model.Role role java.lang.Boolean
org.joget.directory.dao.RoleDaoImpl countRoles java.lang.String, java.lang.Object[] condition, params java.lang.Long
org.joget.directory.dao.RoleDaoImpl deleteRole java.lang.String id java.lang.Boolean
org.joget.directory.dao.RoleDaoImpl findRoles java.lang.String, java.lang.Object[], java.lang.String, java.lang.Boolean, java.lang.Integer, java.lang.Integer condition, params, sort, desc, start, rows java.util.Collection<org.joget.directory.model.Role>
org.joget.directory.dao.RoleDaoImpl updateRole org.joget.directory.model.Role role java.lang.Boolean
org.joget.directory.dao.UserDaoImpl addUser org.joget.directory.model.User user java.lang.Boolean
org.joget.directory.dao.UserDaoImpl assignUserToGroup java.lang.String, java.lang.String username, groupId java.lang.Boolean
org.joget.directory.dao.UserDaoImpl countUsers java.lang.String, java.lang.Object[]   java.lang.Long
org.joget.directory.dao.UserDaoImpl deleteUser java.lang.String username java.lang.Boolean
org.joget.directory.dao.UserDaoImpl findUsers java.lang.String, java.lang.Object[], java.lang.String, java.lang.Boolean, java.lang.Integer, java.lang.Integer   java.util.Collection<org.joget.directory.model.User>
org.joget.directory.dao.UserDaoImpl unassignUserFromGroup java.lang.String, java.lang.String username, groupId java.lang.Boolean
org.joget.directory.dao.UserDaoImpl updateUser org.joget.directory.model.User user java.lang.Boolean
org.joget.directory.dao.UserDaoImpl updateUserEmploymentInfo java.lang.String, org.joget.directory.model.Employment username, info java.lang.Boolean

 

Plugin Properties Options

Tutorials

Related Community Plugins

  • Process Data Collector
    org.joget.apps.app.lib.ProcessDataCollectorAuditTrail (wflow-core)
  • User Notification


org.joget.apps.app.lib.UserNotificationAuditTrail (wflow-core)

Created by Damian Last modified by Aadrian on Dec 13, 2024