Versions Compared

Key

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

...

  • ElasticSearch (ES) for storing notes, the same instance that powers forums

     

  • edx-notes additional django app in edx-platform LMS

    • implements new views: student notes and search results

    • responsible for loading of annotator JS and CSS assets for pages that need them

    • use decorator to make components annotatable

  • edx-notes-api a standalone service
    • supports CRUD operations on notes, serving as an interface to ES

    • accepts authorized LMS users, passing username to ES

    • Django app that reuses parts of annotator-store and authenticates users with OAuth2
      (annotator-store authentication is not Oauth, just similar, so we need to make it work with edx oauth)
      OpenID connect ID token

    • in the future, having standalone Notes API service will let students build their own mashups, pull archives etc.

protocol details

  • unit id is used as URI
  • django username is userd as user identifier

...

  • edx-notes-api accepts HTTP requests accompanied valid Oauth2 token
  • LMS backend gets the token from edx-oauth2-provider as Trusted Client creates OpenID connect ID token  and passes it to the frontend
  • user's browser sends requests to edx-notes-api with token in headers 
  • edx-notes-api validates the token signature

...