Samvera Tech Call 2020-12-09

How to connect: https://notredame.zoom.us/j/94030214208 (link will launch Zoom client – if you do not have Zoom, expand the instructions below)

 Click to view telephone/H.323/SIP connection instructions

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

  • 162.255.37.11 (US West)
  • 162.255.36.11 (US East)
  • 115.114.131.7 (India Mumbai)
  • 115.114.115.7 (India Hyderabad)
  • 213.19.144.110 (EMEA)
  • 103.122.166.55 (Australia)
  • 64.211.144.160 (Brazil)
  • 69.174.57.160 (Canada)
  • 207.226.132.110 (Japan)

Meeting ID: 940 3021 4208

Time: 9:00am PDT / Noon EDT

Moderator: Lynette Rayle

Notetaker: Chris Colvard (Deactivated)

Attendees:

Agenda (notes are below)

Samvera help follow-up

Pull request review


Meeting Process

  1. Roll call by timezone per following order - ensure notetaker is present (moderator)

    1. folks outside North and South America

    2. Eastern timezone

    3. Central timezone

    4. Mountain timezone

    5. Pacific timezone

    6. folks who were missed or who dialed in during roll call

    7. Remind everyone to sign in on agenda.
    8. Welcome all newcomers!
  2. Agenda (moderator)
    1. Call for new agenda items (moderator)
    2. Update on branch-renaming
      1. Here's the agenda 2020-12-16 - Samvera Branch Renaming Working Group
    3. Move from actor stack to transactions (Tamsin)
      1. Problem statement: The actor stack has a number of conceptual, architectural, and implementation problems.
        1. Interprets user input (perhaps more of a controller problem)
        2. Handles validation (perhaps more of a form/controller problem)
        3. Persists objects with transactions (though not very well)
        4. 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.
      2. 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:
        1. 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.
        2. We pass the ChangeSet to the Transaction which negotiates the app needs, change set validation.
        3. There is a bunch of work that happens when an actor finishes its initial persistence of the work
          1. Some of these steps might be further steps in the transaction
          2. 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:(tongue)ublisher
        4. 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.
      3. Time for Questions/Observations
        1. Lynette worked with these and its really nice to work with;
          1. 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.
          2. 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.
          3. There's a request for documentation about this pattern.
          4. Is there a 3rd party (e.g. not Lynette nor Tamsin) that can document this?
            1. 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.
        2. 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.
    4. Change to role call process
    5. Branch Renaming Working Group Update (Jeremy)
      1. Samvera Branch Renaming WG Charter
      2. We're reconvening on 2020-12-16 (link coming)
    6. <add open agenda items here>
    7. Samvera help follow-up
    8. Pull request review
  3. Moderator & notetaker for next time
    1. Moderator:
    2. Notetaker:
  4. After call, this week's notetaker should create the agenda for the next call:
    1. Open template agenda titled "Samvera Tech Call 2020-xx-xx"

    2. Click on ... in the top right corner, and select copy.
    3. Popup will open for location. It should contain: 
      1. Space: Samvera
      2. Parent page: 2020
    4. Select copy. New page should be created.
    5. Modify the title to remove "copy of", update it with the next date, add moderator, notetaker, and any carry-over agenda info. Click Publish.
  5. PR Review
    1. Review issues:
    2. PR review coordinator for next time: 

Notes

  • Roll Call Process - Should we try something different? 
    • How about have everyone add their names to wiki page and then have people call out if they aren't able to?