Technical task planning - AuthZ for Course Authoring

Technical task planning - AuthZ for Course Authoring

WIP: This document is a work in progress, being filled during technical discovery to keep track of the work that will be needed for this iteration.

Once the discovery is finished, these tasks will be formalized in GitHub.

Required Tasks

Tech Debt and Extensibility preparations

These tasks are required for keeping a clean architecture and prepare it for extensibility, but are not strictly needed for this iteration.

  • openedx-authz: Define file format to define permissions and roles for a module

  • openedx-authz: Implement mechanism for loading external, module-defined permissions and roles

  • openedx-authz: Define mechanism for extending subject models for extensibility

  • openedx-authz: Implement changes needed to support subject model extensibillity

  • openedx-authz and edx-platform: Externalize existing library permissions definition to edx-platform

  • openedx-authz and edx-platform: Externalize existing library subject model to edx-platform

  • edx-platform: Implement permissions and roles definition for course authoring

  • edx-platform: Implement subject models for course authoring

  • edx-platform: Remove legacy permissions check for libraries