Project

General

Profile

Actions

Task #714

closed

Provisioning break

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

Status:
Closed
Priority:
Normal
Assignee:
Ondřej Kopr
Category:
Provisioning
Target version:
Start date:
09/22/2017
Due date:
% Done:

100%

Estimated time:
Owner:

Description

Analyze provisioning break on old idm version, get entity and logic from them and implement to CzechIdM diamont version.

Create configuration for break,
add new state to provisioning archive (blocked?)


Related issues

Related to IdStory Identity Manager - Task #731: Skip provisioning break after execute queueNewOndřej Kopr10/03/2017

Actions
Actions #1

Updated by Ondřej Kopr about 7 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 20

Create two new entities: SysProvisioningBreakConfig and SysProvisioningBreakRecipient for both entities was created service layer, controllers, filters, dtos. Permission for create update break configuration is SYSTEM.

Start with FE - create table with configs and detail.

Actions #2

Updated by Ondřej Kopr about 7 years ago

  • % Done changed from 20 to 40

Implemented new processor: Provisioning Break Processor, in this processor is all logic break provisioning operation. Provisioning operation isn't counted from archive or batch, but from cache. Cache is placed into SysProvisioningBreakConfigService.

Actions #3

Updated by Ondřej Kopr about 7 years ago

  • Target version changed from Diamond (7.4.0) to Emerald (7.5.0)
Actions #4

Updated by Ondřej Kopr about 7 years ago

  • % Done changed from 40 to 70

Yesterday i was updated entity SysProvisioningBreakRecipient and SysProvisioningBreakConfig with indexes and rename some columns.
Also finished localization FE and complete FE + error message, add toPredicates methods for both services.

I started with testing provisioning break

Actions #5

Updated by Ondřej Kopr about 7 years ago

  • % Done changed from 70 to 60

Feedback from consultation from ZB and team:

  • notification with warning send only once, after exceeding the limit.
  • global provisioning break create separately for each provisioning operation (create, update, delete).
  • user or role in provisioning recipient may be code, username and etc.,
  • remove attribute blockOperation in provisioning break config,
Actions #6

Updated by Ondřej Kopr about 7 years ago

  • Related to Task #731: Skip provisioning break after execute queue added
Actions #7

Updated by Ondřej Kopr about 7 years ago

  • % Done changed from 60 to 70

For component TextField update method getRequiredValidationSchema, for joi definition: number, allow(0), unsigned and required isn't possible validate number correectly - i fixed this problem.
Add data integrity check between role, identity and provisioning break recipients.
Resolve conflict with new system processors.
Template for disable and warnign system are done.
Start with tests and documentation

Actions #8

Updated by Ondřej Kopr about 7 years ago

  • % Done changed from 70 to 80

Create test for provisioning break. Missing only documentation.

Actions #10

Updated by Ondřej Kopr about 7 years ago

  • % Done changed from 80 to 90

Documentation: https://wiki.czechidm.com/devel/dev/provisioning/break

Im so sorry for not added commits with code, but there is so many commits :( main logic is in processor, so please check processor for provisioning break, thank you.

Actions #11

Updated by Ondřej Kopr about 7 years ago

  • Status changed from In Progress to Needs feedback
  • Assignee changed from Ondřej Kopr to Radek Tomiška

Tutorial: https://wiki.czechidm.com/tutorial/dev/create_provisioning_break

Please Radek could you make a review? Thank you very much, if you have any problem with code, please tell me i explain it or fixed. Thank you.

Actions #12

Updated by Ondřej Kopr about 7 years ago

  • Assignee changed from Radek Tomiška to Ondřej Kopr
Actions #13

Updated by Ondřej Kopr about 7 years ago

  • Assignee changed from Ondřej Kopr to Radek Tomiška

I fixed problem with empty list in provisioning break agenda.
commit: https://github.com/bcvsolutions/CzechIdMng/commit/4038393a0d79ce7a6ef150e36bd2bb2f9cf0a5ea

Actions #14

Updated by Ondřej Kopr about 7 years ago

Fixed Boolean object (transform to boolean + flayway), updated erdiagram and also changelog, thanks Radek for this feedback.

commits: https://github.com/bcvsolutions/CzechIdMng/commit/60e4884e2f4c28cca34d6eeae1c9ca55b3570999

Actions #15

Updated by Radek Tomiška about 7 years ago

  • Status changed from Needs feedback to In Progress
  • Assignee changed from Radek Tomiška to Ondřej Kopr

New agenda works and looks nice, code is nice too. I found some issues:
- Exceptions have to be handled in processor and ProvisioningException has to be thrown out - when some exception occurs, we need to know in provisioning operation agenda and its based on ProvisioningException (rollback is called otherwise).
- when (global) configuration limit is set to 1, then null pointer is thrown from sendMessage method
- notification should have level warning and error
- send warning and disable operation has to be done after given limit is exceeded (not is warning send, when given limit is processed)
- result codes are not localized on FE

I've changed some FE contents (css, columns, messages).

Actions #16

Updated by Ondřej Kopr about 7 years ago

  • Status changed from In Progress to Needs feedback
  • Assignee changed from Ondřej Kopr to Radek Tomiška

Thanks Radek for feedback.

I did these changes:
  • wrap all logic in provisioning break into try and catch,
  • now is send warning and disable system when limit is exceeded (also fix tests),
  • rename EN localization to brake,
  • topics are now both warning,
  • localized result codes from errors on FE.

Add two new test for 0 limits. Thanks for feedback and directly fix FE issues.

Actions #17

Updated by Radek Tomiška about 7 years ago

  • Status changed from Needs feedback to Closed
  • Assignee changed from Radek Tomiška to Ondřej Kopr
  • % Done changed from 90 to 100

Thx!

Actions

Also available in: Atom PDF