Feature #3157
closedAccounts agenda
100%
Description
Use Figma mock-ups
Test performance for big env.
50K of users
every user has account in 2 VS systems, two 2 LDAPs and 2 postgresql = 300K of accounts
The most important is personal type (identity account) and technical account from new module.
We need to support other types via filter (role, role catalogues, orgs, contract, contract slices)
Updated by Tomáš Doischer over 2 years ago
- Sprint set to Sprint 12.3-1 (srp 03 - srp 17)
- Assignee set to Tomáš Doischer
Updated by Tomáš Doischer over 2 years ago
- Status changed from New to In Progress
Updated by Tomáš Doischer over 2 years ago
- Sprint changed from Sprint 12.3-1 (srp 03 - srp 17) to Sprint 12.3-2 (srp 17 - srp 31)
Updated by Tomáš Doischer over 2 years ago
- Sprint changed from Sprint 12.3-2 (srp 17 - srp 31) to Sprint 12.3-3 (srp 31 - zář 14)
Updated by Tomáš Doischer over 2 years ago
- % Done changed from 0 to 70
Implemented. I also added a technical accounts agenda and ported bulk actions from accounts.
PRs:
https://github.com/bcvsolutions/CzechIdMng/pull/263
https://git.bcvsolutions.eu/modules/technical-accounts/-/merge_requests/2
Once the tests pass, it will be ready for review. The technical accounts are waiting for #3154 because a bulk action to provision technical account was added.
Updated by Tomáš Doischer over 2 years ago
- Status changed from In Progress to Needs feedback
- Assignee changed from Tomáš Doischer to Roman Kučera
- % Done changed from 70 to 80
@kucerar, can you please give me feedback?
Updated by Tomáš Doischer over 2 years ago
- Sprint changed from Sprint 12.3-3 (srp 31 - zář 14) to Sprint 12.3-4 (zář 14 - zář 28)
Updated by Roman Kučera over 2 years ago
- Status changed from Needs feedback to In Progress
- Assignee changed from Roman Kučera to Tomáš Doischer
Code looks good, filters works nicely, thx
Clicking on column name for sorting end with system error (uid work once then brokes, some other columns broke after first click)
It looks like there are some cross joins
Filter by system on persnola tab
select
generatedAlias0
from
AccAccount as generatedAlias0
left join
generatedAlias0.systemEntity as generatedAlias1
where
(
generatedAlias0.system.id in (
:param0
)
)
and (
generatedAlias0.systemMapping.accountType=:param1
)
and (
1=1
)
order by
generatedAlias1.uid asc */ select
accaccount0_.id as id1_0_,
accaccount0_.created as created2_0_,
accaccount0_.creator as creator3_0_,
accaccount0_.creator_id as creator_4_0_,
accaccount0_.modified as modified5_0_,
accaccount0_.modifier as modifier6_0_,
accaccount0_.modifier_id as modifier7_0_,
accaccount0_.original_creator as original8_0_,
accaccount0_.original_creator_id as original9_0_,
accaccount0_.original_modifier as origina10_0_,
accaccount0_.original_modifier_id as origina11_0_,
accaccount0_.realm_id as realm_i12_0_,
accaccount0_.transaction_id as transac13_0_,
accaccount0_.end_of_protection as end_of_14_0_,
accaccount0_.entity_type as entity_15_0_,
accaccount0_.external_id as externa16_0_,
accaccount0_.form_definition_id as form_de19_0_,
accaccount0_.in_protection as in_prot17_0_,
accaccount0_.system_id as system_20_0_,
accaccount0_.system_entity_id as system_21_0_,
accaccount0_.system_mapping_id as system_22_0_,
accaccount0_.uid as uid18_0_
from
acc_account accaccount0_
left outer join
sys_system_entity syssysteme1_
on accaccount0_.system_entity_id=syssysteme1_.id cross
join
sys_system_mapping syssystemm2_
where
accaccount0_.system_mapping_id=syssystemm2_.id
and (
accaccount0_.system_id in (
?
)
)
and syssystemm2_.account_type=?
and 1=1
order by
syssysteme1_.uid asc limit ?
Plain filter, personal account agenda
select
count(generatedAlias0)
from
AccAccount as generatedAlias0
where
(
generatedAlias0.systemMapping.accountType=:param0
)
and (
1=1
) */ select
count(accaccount0_.id) as col_0_0_
from
acc_account accaccount0_ cross
join
sys_system_mapping syssystemm1_
where
accaccount0_.system_mapping_id=syssystemm1_.id
and syssystemm1_.account_type=?
and 1=1
Personal acc, filter by role
select
generatedAlias0
from
AccAccount as generatedAlias0
left join
generatedAlias0.systemEntity as generatedAlias1
where
(
exists (
select
generatedAlias2
from
AccIdentityAccount as generatedAlias2
where
(
generatedAlias2.account=generatedAlias0
)
and (
exists (
select
generatedAlias3
from
IdmIdentityRole as generatedAlias3
where
(
generatedAlias3.role.id in (
:param0
)
)
and (
generatedAlias2.identityRole=generatedAlias3
)
)
)
)
)
and (
generatedAlias0.systemMapping.accountType=:param1
)
and (
1=1
)
order by
generatedAlias1.uid asc */ select
accaccount0_.id as id1_0_,
accaccount0_.created as created2_0_,
accaccount0_.creator as creator3_0_,
accaccount0_.creator_id as creator_4_0_,
accaccount0_.modified as modified5_0_,
accaccount0_.modifier as modifier6_0_,
accaccount0_.modifier_id as modifier7_0_,
accaccount0_.original_creator as original8_0_,
accaccount0_.original_creator_id as original9_0_,
accaccount0_.original_modifier as origina10_0_,
accaccount0_.original_modifier_id as origina11_0_,
accaccount0_.realm_id as realm_i12_0_,
accaccount0_.transaction_id as transac13_0_,
accaccount0_.end_of_protection as end_of_14_0_,
accaccount0_.entity_type as entity_15_0_,
accaccount0_.external_id as externa16_0_,
accaccount0_.form_definition_id as form_de19_0_,
accaccount0_.in_protection as in_prot17_0_,
accaccount0_.system_id as system_20_0_,
accaccount0_.system_entity_id as system_21_0_,
accaccount0_.system_mapping_id as system_22_0_,
accaccount0_.uid as uid18_0_
from
acc_account accaccount0_
left outer join
sys_system_entity syssysteme1_
on accaccount0_.system_entity_id=syssysteme1_.id cross
join
sys_system_mapping syssystemm4_
where
accaccount0_.system_mapping_id=syssystemm4_.id
and (
exists (
select
accidentit2_.id
from
acc_identity_account accidentit2_
where
accidentit2_.account_id=accaccount0_.id
and (
exists (
select
idmidentit3_.id
from
idm_identity_role idmidentit3_
where
(
idmidentit3_.role_id in (
?
)
)
and accidentit2_.identity_role_id=idmidentit3_.id
)
)
)
)
and syssystemm4_.account_type=?
and 1=1
order by
syssysteme1_.uid asc limit ?
Updated by Tomáš Doischer over 2 years ago
- Status changed from In Progress to Needs feedback
- Assignee changed from Tomáš Doischer to Roman Kučera
Thanks for the findings.
I couldn't replicate the problem with the sort, please try again.
The cross joins were caused by the account type, this is now fixed.
Tests are running but when they are finished, can you look at it again, please?
Updated by Roman Kučera over 2 years ago
- Status changed from Needs feedback to Resolved
- Assignee changed from Roman Kučera to Tomáš Doischer
- % Done changed from 80 to 100
Cross joins are now gone, thx for fix.
Sorting issue is also gone.
LGTM, merged to develop
Updated by Roman Kučera over 2 years ago
- Status changed from Resolved to Needs feedback
- Assignee changed from Tomáš Doischer to Roman Kučera
I need to do a review for the part on tech module :)
Updated by Tomáš Doischer over 2 years ago
- Sprint changed from Sprint 12.3-4 (zář 14 - zář 28) to Sprint 12.3-5 (zář 28 - říj 12)
Updated by Roman Kučera over 2 years ago
I did review for part in technical module.
Only small things, please look at it @doischert
Updated by Tomáš Doischer about 2 years ago
Thanks for the review, I added the changes.
Can you please take a look at it?
Updated by Tomáš Doischer about 2 years ago
- Sprint changed from Sprint 12.3-5 (zář 28 - říj 12) to Sprint 12.3-6 (říj 12 - říj 26)
Updated by Roman Kučera about 2 years ago
- Status changed from Needs feedback to Resolved
- Assignee changed from Roman Kučera to Tomáš Doischer
thx, LGTM, merged
Updated by Tomáš Doischer almost 2 years ago
- Status changed from Resolved to Closed