Task #714
closedProvisioning break
100%
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
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.
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.
Updated by Ondřej Kopr about 7 years ago
- Target version changed from Diamond (7.4.0) to Emerald (7.5.0)
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
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,
Updated by Ondřej Kopr about 7 years ago
- Related to Task #731: Skip provisioning break after execute queue added
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
Updated by Ondřej Kopr about 7 years ago
- % Done changed from 70 to 80
Create test for provisioning break. Missing only documentation.
Updated by Ondřej Kopr about 7 years ago
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.
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.
Updated by Ondřej Kopr about 7 years ago
- Assignee changed from Radek Tomiška to Ondřej Kopr
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
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
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).
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.
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!