Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
To provide the ability to integrate users from external system. E.g. Active Directory or LDAP
Directory Manager Plugin can be used in Settings - Directory Manager.
A useable Directory Manager plugin must extends org.joget.directory.model.service.DefaultDirectoryManagerPlugin abstract class.
Under wflow-directory module
Extended org.joget.plugin.base.ExtDefaultPlugin. Please refer to Plugin Base Abstract Class and Interface.
Implemented org.joget.plugin.property.model.PropertyEditable. Please refer to Plugin Base Abstract Class and Interface.
A base abstract class to develop a Directory Manager Plugin
public boolean authenticate(java.lang.String username, java.lang.String password)
Method called to authenticate a particular User against the directory
public org.joget.directory.model.Department getDepartmentById(java.lang.String departmentId)
Method called to retrieve a specific Department by Department Id
public org.joget.directory.model.Department getDepartmentByName(java.lang.String name)
Method called to retrieve a specific Department by Department Name
public org.joget.directory.model.User getDepartmentHod(java.lang.String departmentId)
Method called to return a specific HOD for a Department
public java.util.Collection<org.joget.directory.model.Department> getDepartmentList()
Generic method called to retrieve all Departments within the directory
public java.util.Collection<org.joget.directory.model.Department> getDepartmentList(java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Method called to retrieve all Departments within the directory filtered by search parameters
public java.util.Collection<org.joget.directory.model.Department> getDepartmentListByOrganization(java.lang.String organizationId, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Method called to retrieve all Departments within a specific Organization filtered by search parameters
public java.util.Collection<org.joget.directory.model.Department> getDepartmentsByOrganizationId(java.lang.String filterString, java.lang.String organizationId, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Method called to retrieve all Departments within a specific Organization filtered by search parameters
public java.util.Collection<org.joget.directory.model.Department> getDepartmentsByParentId(java.lang.String filterString, java.lang.String parentId, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Method called to retrieve all sub Department within a specific Department filtered by search parameters
public java.util.Collection<org.joget.directory.model.User> getDepartmentUserByGradeId(java.lang.String departmentId, java.lang.String gradeId)
Method called to retrieve a listing of Users which belongs to a specified Department and Grade
public org.joget.directory.model.Department getParentDepartment(java.lang.String id)
Method called to retrieve a parent Department of a Department
public org.joget.directory.model.Department getParentDepartmentByName(java.lang.String name)
Method called to retrieve a parent Department of a Department by Department Name
public java.lang.Long getTotalDepartments(java.lang.String organizationId)
Method called to retrieve the number of Departments within the directory
public java.lang.Long getTotalDepartmentnsByOrganizationId(java.lang.String filterString, java.lang.String organizationId)
Method called to retrieve the number of Departments within a specific Organization filtered by search parameters
public java.lang.Long getTotalDepartmentsByParentId(java.lang.String filterString, java.lang.String parentId)
Method called to retrieve the number of sub Departments within a specific Department
public org.joget.directory.model.Employment getEmployment(java.lang.String id)
Method called to retrieve a specific Employment info
public java.util.Collection<org.joget.directory.model.Employment> getEmployments(java.lang.String filterString, java.lang.String organizationId, java.lang.String departmentId, java.lang.String gradeId, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Method called to retrieve the users' employment info within the directory filtered by search parameters
public java.lang.Long getTotalEmployments(java.lang.String filterString, java.lang.String organizationId, java.lang.String departmentId, java.lang.String gradeId)
Method called to retrieve the number of users' employment info within the directory
public org.joget.directory.model.Grade getGradeById(java.lang.String gradeId)
Method called to retrieve a specific Grade by Grade id
public org.joget.directory.model.Grade getGradeByName(java.lang.String name)
Method called to retrieve a specific Grade by Grade Name
public java.util.Collection<org.joget.directory.model.Grade> getGradeList()
Generic method called to retrieve all Grades within the directory
public java.util.Collection<org.joget.directory.model.Grade> getGradesByOrganizationId(java.lang.String filterString, java.lang.String organizationId, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Method called to retrieve all Grades within a specific Organization filtered by search parameters
public java.lang.Long getTotalGradesByOrganizationId(java.lang.String filterString, java.lang.String organizationId)
Method called to retrieve the number of Grades within a specific Organization filtered by search parameters
public org.joget.directory.model.Group getGroupById(java.lang.String groupId)
Method called to retrieve a specific Group by id
public org.joget.directory.model.Group getGroupByName(java.lang.String groupName)
Method called to retrieve a specific Group by name
public java.util.Collection<org.joget.directory.model.Group> getGroupsByUserId(java.lang.String filterString, java.lang.String userId, java.lang.String organizationId, java.lang.Boolean inGroup, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Method called to retrieve a collection of Group in/not in which a user belongs to and filtered by search parameters
public java.util.Collection<org.joget.directory.model.Group> getGroupByUsername(java.lang.String username)
Method called to retrieve a collection of Group in which a user belongs to
public java.util.Collection<org.joget.directory.model.Group> getGroupList()
Generic method called to retrieve the entire Group listing within the directory
public java.util.Collection<org.joget.directory.model.Group> getGroupList(java.lang.String nameFilter, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Method called to retrieve the entire Group listing within the directory filtered by search parameters
public java.util.Collection<org.joget.directory.model.Group> getGroupsByOrganizationId(java.lang.String filterString, java.lang.String organizationId, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Method called to retrieve all groups within a specific Organization filtered by search parameters
public java.lang.Long getTotalGroups()
Method call to retrieve the number of Groups available
public java.lang.Long getTotalGroupsByOrganizationId(java.lang.String filterString, java.lang.String organizationId)
Method call to retrieve the number of Groups available within a specific Organization filtered by search parameters
public java.lang.Long getTotalGroupsByUserId(java.lang.String filterString, java.lang.String userId, java.lang.String organizationId, java.lang.Boolean inGroup)
Method called to retrieve the number of Group in/not in which a user belongs to
public org.joget.directory.model.Organization getOrganization(java.lang.String id)
Method called to retrieve a specific Organization by Id
public org.joget.directory.model.Organization getOrganizationByName(String name)
Method called to retrieve a specific Organization by Name
public java.util.Collection<org.joget.directory.model.Organization> getOrganizationsByFilter(java.lang.String filterString, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Method called to retrieve all Organizations filtered by search parameters
public java.lang.Long getTotalOrganizationsByFilter(java.lang.String filterString)
Method called to retrieve the number of Organizations
public java.util.Collection<org.joget.directory.model.User> getUserByDepartmentId(java.lang.String departmentId)
Method called to retrieve a listing of Users by Department id
public java.util.Collection<org.joget.directory.model.User> getUserByGradeId(java.lang.String gradeId)
Method called to retrieve a listing of Users by Grade id
public java.util.Collection<org.joget.directory.model.User> getUserByGroupId(java.lang.String groupId)
Method called to retrieve a listing of Users by Group id
public java.util.Collection<org.joget.directory.model.User> getUserByGroupName(java.lang.String groupName)
Method called to retrieve a listing of Users by Group name
public org.joget.directory.model.User getUserById(java.lang.String userId)
Method called to retrieve a specific User by User id
public java.util.Collection<org.joget.directory.model.User> getUserByOrganizationId(java.lang.String organizationId)
Method called to retrieve a listing of Users by Organization id
public org.joget.directory.model.User getUserByUsername(java.lang.String username)
Method called to retrieve a specific User by Username
public java.util.Collection<org.joget.directory.model.User> getUserList()
Generic method called to retrieve the entire User listing within the directory
public java.util.Collection<org.joget.directory.model.User> getUserList(java.lang.String nameFilter, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Method called to retrieve the entire User listing within the directory filtered by search parameters
public java.util.Collection<org.joget.directory.model.User> getUsers(java.lang.String filterString, java.lang.String organizationId, java.lang.String departmentId, java.lang.String gardeId, java.lang.String groupId, java.lang.String roleId, java.lang.String active, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Method called to retrieve the users within the directory filtered by search parameters
public java.lang.Long getTotalUsers()
Method called to retrieve the number of Users available
public java.lang.Long getTotalUsers(java.lang.String filterString, java.lang.String organizationId, java.lang.String departmentId, java.lang.String gardeId, java.lang.String groupId, java.lang.String roleId, java.lang.String active)
Method call to retrieve the number of Users available within the directory filtered by search parametersisUserInGroup
public boolean isUserInGroup(java.lang.String username, java.lang.String groupName)
Method called to check if a User belongs to a specific Group
public java.util.Collection<org.joget.directory.model.User> getUserDepartmentUser(java.lang.String username)
Method called to retrieve a listing of Users which belongs to the same Department as the specific Username
public java.util.Collection<org.joget.directory.model.User> getUserHod(java.lang.String username)
Method called to retrieve a listing of HODs in which a specific User reports to
public java.util.Collection<org.joget.directory.model.User> getUserSubordinate(java.lang.String username)
Method called to retrieve a listing of all the subordinates which reports to a specific User
public java.util.Collection<org.joget.directory.model.User> getUsersSubordinate(java.lang.String username, java.lang.String sort, java.lang.Boolean desc, java.lang.Integer start, java.lang.Integer rows)
Method called to retrieve a listing of all the subordinates which reports to a specific User filtered by search parameters
public java.lang.Long getTotalUsersSubordinate(java.lang.String username)
Method called to retrieve the number of subordinates which reports to a specific User
public java.util.Collection<org.joget.directory.model.Role> getUserRoles(java.lang.String username)
Method called to retrieve the Roles belonging to a specific User by Username
public org.joget.directory.model.service.DirectoryManager getDirectoryManagerImpl(java.util.Map properties)
Used by System to retrieve a directory manager implementation
public org.joget.directory.model.service.UserSecurity getUserSecurity()
Method to return a UserSecurity implementation to enhance the user security
public java.lang.String getPropertyOptions()
Get JSON property options to embed into the property options of Directory Manager Plugin
public void setProperties(java.util.Map<java.lang.String, java.lang.Object> properties)
Set properties to use in User Security Implementation
public java.util.Map<java.lang.String, java.lang.Object> getProperties()
Get properties to use in User Security Implementation
public java.lang.Boolean getDisableHashLogin()
Disable Hash Login?
public java.lang.Boolean getAllowSessionTimeout()
Allow Session Timeout?
public java.lang.Boolean getForceSessionTimeout()
Force Session Timeout?
public java.lang.Boolean getAuthenticateAllApi()
Authenticate all API?
public java.lang.String encryptPassword (java.lang.String username, java.lang.String password)
Encrypt Password with custom methodology
public java.lang.Boolean verifyPassword (org.joget.directory.model.User user, java.lang.String password)
Verify Password with custom methodology.
public java.util.Collection<java.lang.String> passwordPolicies ()
To get a set of password policies to display in user profile form.
public java.util.Collection<java.lang.String> validatePassword (java.lang.String username, java.lang.String oldPassword, java.lang.String newPassword, java.lang.String confirmPassword)
To validate password format and validity.
Return Collection of error message String.
public java.util.Collection<java.lang.String> validateUserOnInsert(org.joget.directory.model.User user)
To validate user before insert to database
Return Collection of error message String.
public java.util.Collection<java.lang.String> validateUserOnUpdate(org.joget.directory.model.User user)
To validate user before updating
Return Collection of error message String.
public java.util.Collection<java.lang.String> validateUserOnProfileUpdate(org.joget.directory.model.User user)
To validate user before updating profile
Return Collection of error message String.
public void insertUserPostProcessing(org.joget.directory.model.User user)
Processing after a user is added.
public void updateUserPostProcessing(org.joget.directory.model.User user)
Processing after a user is modified.
public void updateUserProfilePostProcessing(org.joget.directory.model.User user)
Processing after a user profile is updated.
public void passwordResetPostProcessing(org.joget.directory.model.User user)
Processing after a user password is reset.
public void deleteUserPostProcessing(java.lang.String username)
Processing after a user is deleted.
public java.lang.String getLoginFormFooter()
HTML to add below login form
public java.lang.String getUserCreationFormFooter()
HTML to add below user creation form
public java.lang.String getUserEditingFormFooter(org.joget.directory.model.User user)
HTML to add below user editing form
public java.lang.String getUserProfileFooter(org.joget.directory.model.User user)
HTML to add below user profile form
public java.lang.String getUserDetailsButtons(org.joget.directory.model.User user)
HTML to extend user details page button
public void loginPreProcessing(org.joget.directory.model.User user, java.lang.String password)
Processing before user login authentication
public void loginPostProcessing(org.joget.directory.model.User user, java.lang.String password, java.lang.Boolean loggedIn)
Processing after user login authentication.
public void requestPostProcessing()
Processing after HTTP Request Completed.
public boolean isDataExist(java.lang.String username)
Check whether a custom security data is exist for a user.