skills icon indicating copy to clipboard operation
skills copied to clipboard

The Return of the PuzzleTime Sync

Open Robin481 opened this issue 1 year ago • 1 comments

Once upon a time... We started the PuzzleTime Sync to make data less redundant.

This has now been a long time ago :grin:

The following was the idea:

  • PuzzleTime becomes the source of truth in all person details
  • We run a nightly job that syncs the data from PuzzleTime -> PuzzleSkills
  • The fields in PuzzleSkills that are synced from PuzzleTime become read only and a relevant banner is displayed
  • There is a "manual sync" button that triggers the delayed_job that Carina or Tru can click after entering e new Member in PTime
  • When a new Member is added in PTime the delayed_job recognizes that and creates a new profile in PuzzleSkills
  • It needs to somewhat intelligently handle when someone gets renamed (when getting married or similar). For this we can probably just save the PuzzleTime Person ID in Skills and sync this way. (Meaning instead of comparing Robin Steiner is still named Robin Steiner we check if the ID is still 227, so if Robin Steiner gets renamed to Robin Müller it will be able to just change the name in PuzzleSkills)

There is this Branch from Miro's IPA: https://github.com/puzzle/skills/tree/sync_person_data

I would probably recommend to start over and use said branch as inspiration as just bringing it up to date would probably be quite annoying...

TODO:

  • ~Look at what the branch and its code does~
  • Conceptualize how we could do this now
  • Write split up tickets to spread the needed changes over several tasks (write sync, implement delayed_job, make profile fields write only, tests etc. etc.)
  • Start working on the tickets

Robin481 avatar Jun 17 '24 06:06 Robin481

06.02.2025

Today I have collected all the progress of the tickets and wrote it down inside of this codi: https://codimd.puzzle.ch/SiOYFBuSRX6lgbrspOFkNQ?view

I mainly worked on rebasing the ptime-mapper-script branch and fixing it. There are still a lot of failing tests and the feature of re-fetching people when visiting a person does not seem to work anymore. Before the rebase I made sure to create a backup branch named ptime-mapper-backup.

ManuelMoeri avatar Feb 06 '25 14:02 ManuelMoeri