Project

General

Profile

Actions

Task #980

closed

Optimization automatic role by attribute

Added by Ondřej Kopr about 6 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Ondřej Kopr
Category:
Roles
Target version:
Start date:
02/22/2018
Due date:
% Done:

100%

Estimated time:
Owner:

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 issues

Related to IdStory Identity Manager - Task #972: Slow synchronization of IdentitiesClosedOndřej Kopr02/16/2018

Actions
Related to IdStory Identity Manager - Task #996: Automatic roles by attributes are repeatedly removed/addedClosedOndřej Kopr02/26/2018

Actions
Actions #1

Updated by Ondřej Kopr about 6 years ago

  • Related to Task #972: Slow synchronization of Identities added
Actions #2

Updated by Ondřej Kopr about 6 years ago

  • Status changed from New to In Progress
  • Priority changed from Normal to High
Actions #3

Updated by Ondřej Kopr about 6 years ago

  • 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?

Actions #4

Updated by Ondřej Kopr about 6 years ago

I completed update behavior for automatic role and their recalculation.

commit: https://github.com/bcvsolutions/CzechIdMng/commit/3ed2dc6488cef7ccd6e4476d1e2c7aa4f29c8031
update documentation missing.

Please Vitek could do some integration test in your environment? Thank you.

Actions #7

Updated by Vít Švanda about 6 years ago

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.
Actions #8

Updated by Vít Švanda about 6 years ago

  • Status changed from Needs feedback to In Progress
  • Assignee changed from Vít Švanda to Ondřej Kopr
Actions #9

Updated by Vít Švanda about 6 years ago

  • 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).
Actions #10

Updated by Ondřej Kopr about 6 years ago

  • 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)

Vít Švanda wrote:

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.

Thanks for feedback, I added new check for contract validity. And new flyway script for start automatic role recalculation

Commits:
check for validity: https://github.com/bcvsolutions/CzechIdMng/commit/44076a5152ae188de2a0c74e6ae370bb76e0fe36
rename coloumn: https://github.com/bcvsolutions/CzechIdMng/commit/21da7408c2b8b0f303fd70c9c12e3fb6a07a27be

Actions #11

Updated by Ondřej Kopr about 6 years ago

  • Target version changed from Hematite (8.0.0) to Garnet (7.8.3)
Actions #12

Updated by Ondřej Kopr about 6 years ago

  • Related to Task #996: Automatic roles by attributes are repeatedly removed/added added
Actions #13

Updated by Vít Švanda about 6 years ago

  • 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.

Actions #14

Updated by Ondřej Kopr about 6 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF