- MODKBEKBJ-504Getting 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-java | Bulk api for users in mod-users | ||
---|---|---|---|
Query data every time it's needed | implement 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. |
Disadvantages | Will 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 | Rework database structure in Implement bulk api in Add bulk api call to | Implement bulk api in Add bulk api call to |
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
.