INGInious icon indicating copy to clipboard operation
INGInious copied to clipboard

[frontend/lti] allow specific course views to LTI students

Open anthonygego opened this issue 1 year ago • 0 comments

Is your feature request related to a problem? Please describe. When the course is provided through LTI, no additional feature features can be provided to students. For instance, they can't access a potential scoreboard if the scores are sent back to the external platform. Accessing such data could theoretically be allowed as it does not compromise the scores sent to the external platform.

Describe the solution you'd like Two solutions are possible, but I'd suggest to refactor and modularize the Course class first to get rid of all these LTI-specific if statements everywhere in the code.

  1. Accessing views from the platform: we can choose, for each "course type", the set of views that would be accessible, as a permission set but course-wide, for all students. For instance, an LTI course would disallow groups view, task view if scores are sent back to the external platform,... both types could allow some plugins view. The same exercise could be done with exam specific instance as it is currently implemented via a plugin on top of the existing Course class. I think this is the best choice for future maintainability and to provide a coherent response to several design flaws.
  2. Allowing more pages to be served by the LTI authentication protocol. This may be easier to implement to provide a first response to the issue, while being more covenient and avoid logging on both platform, but would probably not ease the maintainability as it would also end up adding if statements at some specific locations if the code.

Note that those solutions are actually not exclusive as 2) could be implemented much more easily once 1) is done.

anthonygego avatar Oct 27 '22 06:10 anthonygego