End-Goal: Biblio becomes consumer of people service, and we use GISMO as single source of truth
Intermittent goals
Using GISMO as resource instead of LDAP, is a too big of a goal. We need intermittent goals to accomplish this.
Intermittent goal 1 "Historical database"
Front-office does not handle person service in an intertwined way any longer
No MongoDB for persons
Back-office queries person service as a separate service
Hash out which data we need
Effects:
More stability
will do the same thing as the last one
Less conflicts and dirty information with persons
Intermittent goal 2: "Biblio becomes consumer of people service"
Use GISMO as resource instead of LDAP
Front-office does not handle person service in an intertwined way any longer
No MongoDB for persons
Back-office queries person service as a separate service
Intermittent goal 3: UI
Capture needs from librarians, to be hashed out later:
Look up
Who is who
How is this person affiliated
which department / faculty / ...
via which ID
for which timespan
Is this person active today
Is this a memorialis person
Merge / unmerge / link / unlink people coming from different data sources
...
Steps and Milestones
Step 0, Throughout
[ ] Problem strategy trouble shooting with GISMO
[ ] GPDR
Step 1 "See if it works – test version"
Milestone 1: person service stands by itself on the Nomad cluster
[ ] Deploy
[ ] Dockerised
[ ] GRPC API
[ ] Datamodel mindset needs to take shape
[ ] Storage
[ ] Outer world
[ ] NATS
[ ] Person Service + NATS
[ ] Person service listens to NATS
[ ] Person service understands NATS protocol
[ ] Person service knows how to save those messages
[ ] Security
[ ] GRPC (mtls, data at rest encryption, passwords at rest, ORCID token)
[ ] NATS
Summer holiday finish. Aim for a solid application that is future-proof and flexible.
We do not need to solve every question, we can take an incremental approach.
[ ] Tinker on existing SOAP bridge that it would send the data to the MongoDB and to NATS (web sockets)
[ ] Create sanity checks between databases
[ ] Decide which cases we will solve and which ones we will not (Goal: conflict free high way – waiting VS fixing)
-> two worlds come to life where we still use the MongoDB, and where we can actually start filling up the people service and see the quality of the data
Milestones to be defined
Step 3: "adapt back-office"
To be refined
[ ] Make sure back-office uses new service instead of MongoDb
[ ] Keep MongoDB as a failsafe that we can go back if needed
Milestones to be defined
Step ? Front-office
To be refined
[ ] Make sure front-office becomes more agnostic
Milestones to be defined
Risks
We cannot see how bad or how good the new or old situation will or was be
We will have to be very flexible in our approach to make sure the data quality is acceptable – as we will have to fix problems from the past as well. We will have to pick our battles.
Approach of co-existing two worlds
Phasing out after a couple of months
Matter of weeks that will take longer, not months or years
Epic
End-Goal: Biblio becomes consumer of people service, and we use GISMO as single source of truth
Intermittent goals
Using GISMO as resource instead of LDAP, is a too big of a goal. We need intermittent goals to accomplish this.
Intermittent goal 1 "Historical database"
Effects:
Intermittent goal 2: "Biblio becomes consumer of people service"
Intermittent goal 3: UI
Capture needs from librarians, to be hashed out later:
Steps and Milestones
Step 0, Throughout
Step 1 "See if it works – test version"
Milestone 1: person service stands by itself on the Nomad cluster
Summer holiday finish. Aim for a solid application that is future-proof and flexible. We do not need to solve every question, we can take an incremental approach.
Defined milestone: https://github.com/ugent-library/people/milestone/2
Milestone 2:
To be refined
Defined milestone: https://github.com/ugent-library/people/milestone/4
Milestone 3:
To be refined
Defined milestone: https://github.com/ugent-library/people/milestone/3
Step 2: "make it visible, finish the circle"
To be refined
-> two worlds come to life where we still use the MongoDB, and where we can actually start filling up the people service and see the quality of the data
Milestones to be defined
Step 3: "adapt back-office"
To be refined
Milestones to be defined
Step ? Front-office
To be refined
Milestones to be defined
Risks
Approach of co-existing two worlds
Based on scoping session: https://github.com/orgs/ugent-library/projects/5/views/2?pane=issue&itemId=26043288