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

Investigation: Can we use the SuperSet API to pull data into LMS? #29

Closed
bmtcril opened this issue Jan 10, 2023 · 5 comments
Closed

Investigation: Can we use the SuperSet API to pull data into LMS? #29

bmtcril opened this issue Jan 10, 2023 · 5 comments
Assignees
Labels
help wanted Ready to be picked up by anyone in the community

Comments

@bmtcril
Copy link
Contributor

bmtcril commented Jan 10, 2023

We have some exciting use cases available if we can use the Superset SSO to display data from the data lake in the LMS. I'd like to investigate how difficult it would be to create a plugin in edx-platform to pull some data into the either Studio or the LMS directly and display it. Nothing fancy for this investigation, just "number of registrations for this course" or "number of times this problem has been submitted" that only are visible to instructors, global staff, or superusers.

This tutor plugin should give you a starting place with permissions based in the LMS MySQL database: openedx-unsupported/tutor-contrib-superset#1 and the Superset API is pretty well documented.

It has been suggested that XBlock asides could be useful to handle getting this into a course without creating substantial changes in the LMS.

AC:

  • A plugin exists that can sign a user into Superset and retrieve some data via the API, then display it somewhere on a page
  • Documentation in the openedx-oars docs of how this was accomplished and any difficulties encountered / expected in a full implementation
@bmtcril bmtcril moved this to Backlog in Data Working Group Jan 10, 2023
@bmtcril bmtcril moved this from Backlog to Ready for Work in Data Working Group Jan 10, 2023
@bmtcril bmtcril added the help wanted Ready to be picked up by anyone in the community label Jan 13, 2023
@bmtcril bmtcril changed the title Investigation: Can we use the SuperSet API to pull data into Studio / LMS? Investigation: Can we use the SuperSet API to pull data into LMS? Apr 4, 2023
@bmtcril
Copy link
Contributor Author

bmtcril commented Apr 20, 2023

@Ian2012
Copy link
Contributor

Ian2012 commented Jun 15, 2023

assign me

@Ian2012
Copy link
Contributor

Ian2012 commented Jun 20, 2023

A demo with different interactions was created using an XBlock aside and an XBlock. You can find more details in the PR:

eduNEXT/aspects-superset-aside#2

@pomegranited
Copy link
Contributor

pomegranited commented Jun 29, 2023

FYI @bmtcril @Ian2012 CC @ashultz0 👋

Or using LTI, which would need further investigation

Had a chat to @giovannicimolin, and LTI doesn't look like the way to go here..

  1. We'd need to add LTI support to Superset, making it an LTI provider application.
    Could do this using pylti1.3, but it's hard to say whether this would be accepted upstream. LTI is a learning tools integration protocol, ie providing content directed at learners, but we're targetting course staff here. If we were talking about adding LTI support to Superset so people could teach it as part of a data science course, that would be a different story.
  2. LTI doesn't authenticate using SSO -- the LTI provider app creates a new account and signs in the user, if one doesn't already exist.
    And we need SSO in order to fetch the user's list of courses they teach.

@bmtcril
Copy link
Contributor Author

bmtcril commented Feb 13, 2024

EduNEXT has an embedding implementation working, and we'll be pursuing that avenue for v1 so I'm going to close this out.

@bmtcril bmtcril closed this as completed Feb 13, 2024
@github-project-automation github-project-automation bot moved this from Ready for Work to Done in Data Working Group Feb 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Ready to be picked up by anyone in the community
Projects
Development

No branches or pull requests

3 participants