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

Identify pluggable & un-pluggable parts of the canvas integration #7

Closed
arslanashraf7 opened this issue Oct 29, 2021 · 5 comments
Closed
Assignees

Comments

@arslanashraf7
Copy link
Contributor

Subtask of #3

In this ticket, we aim to identify what parts of the canvas integration can be moved into a pluggable Django app and what parts should be added in a branch inside of https://github.com/mitodl/edx-platform.

@arslanashraf7
Copy link
Contributor Author

Update:

@pdpinch
Generally, We have a couple of options to go forward with the pluggable app:

  1. If we divide the parts into the pluggable app & edx-platform we can move all the canvas_integration app parts from this commit into the pluggable and the remaining part would be pushed to mitx branch of our fork. (In this case, the functionality/UX would remain intact as it was earlier)
  2. (Depending on how useful this plugin would be for the community?) If we decide to follow the edX's IDA practices then we should move all of the related plugin code into the plugin itself and we can only do that in 2 cases since we don't currently have an option to extend edX's instructor dashboard app with a plugin(This will require way more effort than point#1):
    • We convert this into an app like edx-sysadmin where we introduced a new URL(<EDX_PLATFORM>/sysadmin) for the whole plugin to work upon(In this case the canvas would no more be a part of the Instructor tab inside LMS/Course).
    • We try and convert it into a Course Tab in which case it will be moved up a step and the tab would be shown parallel to the Instructor tab in LMS (This seems feasible but it might require more R&D).

@pdpinch Which of the approaches above seem feasible to you?

@pdpinch
Copy link
Member

pdpinch commented Nov 1, 2021

Thank you for the research Arslan. We need to have this work with maple and released to Residential MITx by late December, so I think #1 is our only choice for now.

However, if we maintain a commit in our fork, we will be asking ourselves this same question again in 6 months with the nutmeg release. In the long term, we need to prepare for choice #2 as well. I can start engaging with the wider community on the issue, and try to determine which of the options seems more likely -- an extensible instructor dashboard, or leveraging the course tab. Perhaps @ziafazal has some thoughts.

@ziafazal
Copy link

ziafazal commented Nov 2, 2021

@pdpinch @arslanashraf7 it appears edX has been converting instructor dashboard to MFE and I'm not sure how much support MFEs has for plugins. edX does not provide support to extend instructor dashboard via plugins however, I think that support can be added following same pattern as learner dashboard which seems very straight forward.
So I'd suggest to add that ability in instructor dashboard and move everything we have in canvas integration into separate plugin.

@arslanashraf7
Copy link
Contributor Author

arslanashraf7 commented Nov 15, 2021

Update:

I'm posting an update here based on the above conversation.

As mentioned here, There are 2 PRs respectively in platform(mitodl/edx-platform#274) & open-edx-plugins(#8) which collectively implement point#1 completely as mentioned above. ✅

Moving onwards keeping an eye on point#2, comment:
I've created 2 experimental branches(platform branch & plugin branch) to circle back to in future.

To keep track of future updates I've also created some tickets (#13, #10, #11, #12).

@arslanashraf7
Copy link
Contributor Author

Closed as part of #3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants