This document outlines the proposed roles and permissions structure for managing libraries within the system. It serves as a working draft to define user access levels and the actions they can perform. Changes and refinements may be made as requirements evolve.

Permissions

Create Library

Action: create_library
Resource Type: library
Description: Grants the ability to create a new library in the system, with the creator automatically receiving admin rights over the library.

Edit Library

Action: edit_library
Resource Type: library
Description:

Manage Tags

Action: manage_tags
Resource Type: library
Description:

Delete Library

Action: delete_library
Resource Type: library
Description: Grants permission to permanently delete a library and all its contents.

Delete Content

Action: delete_content
Resource Type: library
Description: Grants permission to delete individual components or units within a library.
Note: This does not include collections.

Import Content from Course

Action: import_content
Resource Type: library
Description: Grants permission to import content from an existing course into a library.

View Library

Action: view_library
Resource Type: library
Description:

Publish Library

Action: publish_library
Resource Type: library
Description:

Publish Content

Action: publish_content
Resource Type: library
Description:

Manage Library Team

Action: manage_library_team
Resource Type: library
Description:

View Library Team

Action: view_library_team
Resource Type: library
Description: Grants permission to view the list of users who have access to the library.

Reuse Library Content

Action: reuse_library
Resource Type: library
Description: It allows the use of published content from a library inside a course.

Create Collection

Action: create_collection
Resource Type: library
Description: Create new collections within a library.

Edit Collections

Action: edit_collection
Resource Type: library
Description:

Delete Collections

Action: delete_collection
Resource Type: library
Description: Delete entire collections from a library.


Roles

Library Admin

Description: The Library Admin has full control over the library, including managing users, modifying content, and handling publishing workflows. They ensure content is properly maintained and accessible as needed.

Permissions:


Library Author

Description: The Library Author is responsible for creating, editing, and publishing content within a library. They have flexibility in content management but cannot delete libraries or manage roles.

Permissions:


Library Auditor

Description: The Library Auditor can view and browse content but cannot make modifications.

Permissions:


Library User

Description: The Library User can view and reuse content but cannot edit or delete anything.

Permissions: