How to connect: https://notredame.zoom.us/j/94030214208 (link will launch Zoom client – if you do not have Zoom, expand the instructions below)
Expand | ||
---|---|---|
| ||
Meeting ID: 940 3021 4208 One tap mobile
Dial by your location
Meeting ID: 940 3021 4208 Find your local number: https://notredame.zoom.us/u/aPls29JbL Join by SIP 94030214208@zoomcrc.com Join by H.323
Meeting ID: 940 3021 4208 |
Time: 9:00am PDT / Noon EDT
...
- Collin Brittle (Emory)
- tamsin woo (UC Santa Barbara)
- Jeremy Friesen(Notre Dame)
- Brian Keese (Indiana)
- you!
Agenda (notes are below)
- Transitioning Actor Stack to Transactions (tamsin woo)
- Branch Renaming Working Group (Jeremy Friesen)
...
Roll call by timezone per following order - ensure notetaker is present (moderator)
folks outside North and South America
Eastern timezone
Central timezone
Mountain timezone
Pacific timezone
folks who were missed or who dialed in during roll call
- Remind everyone to sign in on agenda.
- Welcome all newcomers!
- Agenda (moderator)
- Call for new agenda items (moderator)
- Update on branch-renaming
- Here's the agenda 2020-12-16 - Samvera Branch Renaming Working Group
- Move from actor stack to transactions (Tamsin)
- Problem statement: The actor stack has a number of conceptual, architectural, and implementation problems.
- Interprets user input (perhaps more of a controller problem)
- Handles validation (perhaps more of a form/controller problem)
- Persists objects with transactions (though not very well)
- It implementation is dependent on Rails::Rack::Middleware, which is an odd creature; Which has design decisions for multi-threaded servers. For our ActorStack, this creates some fussy state dependencies. The Actors are all in the pool, which means instance level state is visible across multiple requests. This can create data pollution.
- Tamsin has worked to disentangle the three conceptual concerns. Some work exists in lib/transactions; These will be deprecated in 4.0. We're now pushing to use Dry::Transactions in Valkyrie space. The proposal is:
- There's a ChangeSetForm which replaces Hyrax::WorkForm and its objects; This leans on the extensively adopted and vetted Reform gem. Moving interpretation of user input to this.
- We pass the ChangeSet to the Transaction which negotiates the app needs, change set validation.
- There is a bunch of work that happens when an actor finishes its initial persistence of the work
- Some of these steps might be further steps in the transaction
- Some may be deferred to the pub/sub class; This is builds on the old Hyrax callbacks implementation (from 2015). It provides global callback methods. We're replacing this with Dry::Events. The old callback methods now publish events on the Dry::Events bus. You can see these in Hyrax:ublisher
- Some of the existing Actor Stack behavior has been extracted into these listeners. We're deprecating and removing these from the default stack. The logic is now in a listener.
- Time for Questions/Observations
- Lynette worked with these and its really nice to work with;
- For transactions it was clear what was going to happen. Instead of everything in a large class, there were multiple discrete steps. It's easier to see what's happening in isolation.
- There was a bit of learning about the best process; The best approach is when you change metadata call the MD listener. It took care of a bunch of stuff.
- There's a request for documentation about this pattern.
- Is there a 3rd party (e.g. not Lynette nor Tamsin) that can document this?
- The missing piece is that should I look for this? Guidance on how these fit in the architecture. Jeremy Friesen's going to tackle this.
- This breaking change in the ActorStack is a net positive, delivering on better data integrity and state management. Those that have changed their ActorStack will need to revisit these changes.
- Lynette worked with these and its really nice to work with;
- Problem statement: The actor stack has a number of conceptual, architectural, and implementation problems.
- Change to role call process
- Branch Renaming Working Group Update (Jeremy)
- Samvera Branch Renaming WG Charter
- We're reconvening on 2020-12-16 (link coming)
- <add open agenda items here>
- Samvera help follow-up
- Pull request review
- Moderator & notetaker for next time
- Moderator:
- Notetaker:
- After call, this week's notetaker should create the agenda for the next call:
Open template agenda titled "Samvera Tech Call 2020-xx-xx"
- Click on ... in the top right corner, and select copy.
- Popup will open for location. It should contain:
- Space: Samvera
- Parent page: 2020
- Select copy. New page should be created.
- Modify the title to remove "copy of", update it with the next date, add moderator, notetaker, and any carry-over agenda info. Click Publish.
- PR Review
- Review issues:
- PR review coordinator for next time:
...