Skip to end of banner
Go to start of banner

SPIKE: MODKBEKBJ-504 User patron groups should be in sync with users app

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

MODKBEKBJ-504 - Getting issue details... STATUS

The main goal of this spike is to investigate how can we display actual user-related information in assigned-users list for kb-credentials.

Current problem:

User data is saved in mod-kb-ebsco  when user is assigned and then never updated so if data is modified in mod-users  then data in mod-kb-ebsco  becomes not relevant.

Current "assigned users" interactions

Possible solutions:



Pub-sub between mod-users and mod-kb-ebsco-javaBulk api for users in mod-users
Query data every time it's neededimplement scheduler to periodically update assigned users data
Advantages

Most preferable way for data consistency achievement.

Good performance for UX.

No need to store duplicate data and worry for data consistency.

Ensures data consistency.

Good performance for UX.

DisadvantagesWill cause a lot of "dummy" network traffic and unnecessary component load because kb-ebsco needs info only about certain users not all.Worst user-experience cause we need query data from multiple sources to display assigned users info so this will cause delays for data displaying.

Wasted processor time in most cases and delays in data consistency depending on scheduler rate.

Also unnecessary api calls in cases data is already consistent.

Potentially can cause big performance issues as database grows.

Developers effort to implement

Almost no changes to current code.

Add producer on mod-users on data changes and consumer for mod-kb-ebsco  to updated data based on notifications.

Rework database structure in mod-kb-ebsco (remove user-related info) to store only kb-id to user-id relations and update user assignment flow.

Implement bulk api in mod-users.

Add bulk api call to mod-kb-ebsco user assignment flow.

Implement bulk api in mod-users.

Add bulk api call to mod-kb-ebsco scheduler or implement api and let okapi run it periodically to update data.

Conclusion:

Pub-sub looks like the most acceptable way to achieve data consistency for users assigned to kb credentials in mod-kb-ebsco .

Also it was discussed that it not necessary to display patron group for assigned users so we can simplify user assignment by removing Patron group .



  • No labels