Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Units in Avalon #5935

Open
joncameron opened this issue Jul 15, 2024 · 1 comment
Open

Units in Avalon #5935

joncameron opened this issue Jul 15, 2024 · 1 comment
Labels

Comments

@joncameron
Copy link
Contributor

joncameron commented Jul 15, 2024

Description

Management of collections in large Avalon instances would be better served by Units being full objects with permissions attached. These permissions could then be inherited by collections for management and access control purposes. A unit is a grouping of collections for administrative and discovery purposes

It should also be easy to add, remove or change the name of a Unit—actions which currently require a configuration file to edited.

Permission Inheritance

Inheritance is already at work in Avalon via staff roles. Users in staff role for a collection receive permissions based on their role, and that applies to all objects within a collection.

Use case

  • A collection manager with many collections wants to manage access by their administrative department or unit

For example, a new staff member joins an area. Currently, a department with 12 collections would need to add that username individually to each collection.

DRY

Changing the inheritance model would mean 1 object changes, instead of 1000 children objects change. In an application like Avalon where object updates are costly, this is both tedious and redundant. Granting access, then revoking access for many items is painful.

Unit Objects

  • Each Unit will be an object with NOID
  • Collections become child objects of Units, now child objects of Units
  • Attributes include name, description etc; full listing in Add Unit Objects #6054

New Views for Units

Mockups

Unit Admin Page

Screenshot 2024-09-23 at 2 49 11 PM ### Collection Admin Page Screenshot 2024-09-23 at 2 52 46 PM Screenshot 2024-09-23 at 2 55 58 PM
@elynema
Copy link
Contributor

elynema commented Sep 23, 2024

Units can have contact email, website URL, just like Collections. What about poster images? For inheritance, every collection in the unit has the same permissions as the unit, can add users but not remove them. Same with inheritance down to the item - can add users but not remove them.

First thing to test is inheriting Special Access down to the item level.
When changing Item Access for the unit or collection, need a list of items where Item Access was set at the item level to determine whether those items should remain custom or be updated to match the new default for the unit or collection. This could possibly be accomplished through a link to the Blacklight results page for the collection with the Item Access facet expanded. If change Item Access for the Collection, should probably also include a notification to the user of "[x] number of items will be updated" with the number of items that will have Item Access updated.

Under Item Access at the item level, there should be an indication of the collection default so that collection owner can see if they are changing a setting to be different from the collection default.

Propose that we start with just the Special Access and Staff Roles at the Unit level. There is not a strong use case for have Item Access at the Unit level and making changes there. Also retain CDL at the Collection level; don't move to Unit.

Tickets:

@joncameron joncameron added the EPIC label Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants