Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Agenda

(meeting notes below)


Facilitators: Lynette Rayletamsin johnsonJeremy Friesen 

...

  • select one topic for today - ACL & Authorization Group
  • Nested Indexing will be tomorrow
  • Work is not visible to owner in a mediated workflow if embargo selected - https://github.com/samvera/hyrax/issues/3817
    • more discussed in issue regarding permissions than just this described issue
    • short-circuiting ability class
    • controller logic doesn't necessarily make sense for why you would be there
    • sipity workflow lands you in this spot, it looks like
    • implementation rule suggestion: way we determine object level access is through ACL only
      • object has ACL with permissions assigned (mode and agent/user/group)
      • ACL handles read, discover, edit over users and groups
      • always positive access grant
    • this issue creates circumstance where particular user (depositor) does have read access even though there is no ACL that grants that access - that should be wrong if we go with ACL-defined access
    • one caveat: Fedora has object status (inactive or active) - Hyrax only uses inactive and that underlies "suppress"
      • ACL and suppress flags are re-implemented in Valkyrie adapters, by the way
    • how is strictly following ACL problematic?
    • IU and Avalon permissions are not necessarily just object level permissions so there are other things to consider
    • object permissions should maybe refer to repository object permissions (PCDM-level considerations, so file or fileset or collection or repository object)
  • sipity workflow and its understanding of permissions
    • state machine that sipity knows is state of workflow (so not Fedora active/inactive object state)
    • knows who can take an action for a given workflow state
    • when state changes, sipity should be able to modify ACLs
      • there's some dangers there since other people could modify ACLs on object that would conflict with sipity modifying ACLs
  • for things that have ACLs, the ACL is the law
  • workflow authorization (sipity engine determines if user is in role that can do an action/state transition)
  • cancan authorization (mostly, what a user can do from controllers - is user authorized to view page/download object)
  • these 2 authorizations are floating above ACLs and should respect ACLs