I am working on the integration of Activiti and customized IdentityService, that is, the information of users and groups would be fetched from the other system. My customized implementation included Identity Service, UserQuery, and GroupQuery.
It works fine in most cases, but I have found that the ClaimButton is absent in the TaskDetailPanel even the logged-in user is a member of the candidate group.
After tracing the sources, it seems that the ClaimButton is determined by TaskDetailPanel.canUserClaimTask() which would issue a TaskQuery.
I tried to insert some user and group data into the tables (ACT_ID_USER, ACT_ID_GROUP, and ACT_ID_MEMBERSHIP) and found that the TaskQuery would access the tables to determine whether the current logged-in user is a member instead of fetching the membership from IdentityService.
I am confused and think this may be a design issue to mixed the responsibility of IdentityService with TaskService.