Task #980
closed
Optimization automatic role by attribute
Added by Ondřej Kopr almost 7 years ago.
Updated almost 7 years ago.
Description
Add skip for processor IdentityAutomaticRoleProcessor and IdentityContractAutomaticRoleProcessor (like skip HR process).
Add new checkbox for identity synchronization and contract synchronization - skip automatic role recalucation
Add new LRT with recalculate all identities and all automatic roles by attribute.
Add better query for pick automatic role for recalculate (is concept, has rules)
- Related to Task #972: Slow synchronization of Identities added
- Status changed from New to In Progress
- Priority changed from Normal to High
- Category changed from Rules to Roles
- Status changed from In Progress to Needs feedback
- Assignee changed from Ondřej Kopr to Vít Švanda
- Priority changed from High to Normal
- % Done changed from 0 to 90
I implemented new boolean flag for identity and contract synchronization (startAutoRoleRecalculation).
I improved recalculation automatic roles
- better query for recalculate role from processors,
- skip automatic role attribute recalculation attribute (used in identity and contract synchronization),
- improve filter for automatic role (has any rules, at least one type of rule).
Tests are included.
TODO: in test load enviroment I will create test for this.
Commit: https://github.com/bcvsolutions/CzechIdMng/commit/3cb595e51315a0c11c0fd6851bfcc379a81d77d9 (branch: okopr/980-improve-automatic-roles)
Beware: in branch is new flyway script.
Please Vitek could you made a review?
I did review and test. Works perfectly. You are so awesome.
I did little modifications and found this problems:
- Column "start_auto_role_recalculation_m" is too long (31).
- Automatic role is assigned to the expired contract. This solves LRT for remove expired roles. Better solution will be not creates identity-role for expired contract.
- Status changed from Needs feedback to In Progress
- Assignee changed from Vít Švanda to Ondřej Kopr
- Target version changed from Hematite (8.0.0) to Garnet (7.8.3)
I did review and test for sync optimalizations (skip recalculation).
It works correctly.
- I found one potencila problem: The skip of recalculation is implemented for identity/contract save, but not for identity/contract EAV save. This isn't problem for now, because event isn't thrown (during save EAV in sync).
- Status changed from In Progress to Needs feedback
- Assignee changed from Ondřej Kopr to Vít Švanda
- Target version changed from Garnet (7.8.3) to Hematite (8.0.0)
- Target version changed from Hematite (8.0.0) to Garnet (7.8.3)
- Related to Task #996: Automatic roles by attributes are repeatedly removed/added added
- Status changed from Needs feedback to Resolved
- Assignee changed from Vít Švanda to Ondřej Kopr
- % Done changed from 90 to 100
I did review and test and works nice.
- Status changed from Resolved to Closed
Also available in: Atom
PDF