Context
As proposed in #2432, we are exploring launching Docs directly from a Learning Management System (LMS) via the LTI 1.3 standard. In LTI terms, the LMS is the Platform and Docs is the Tool.
This is a meta issue: it should hold the scope, the design decisions and the current state of the work. Implementation will happen in sub-issues that will be linked here. Task-specific discussions should then take place in the corresponding sub-issues.
Goals
- A teacher can add a Docs activity to a course; learners click it and land in the document, already authenticated, with the right permissions.
- No separate account creation and no second login step.
- Works with any LTI 1.3 certified LMS (e.g. Moodle, Stud.IP) — no LMS-specific code.
Target scenarios
- Shared course doc — one document per activity, all enrolled learners can edit collaboratively
- Handout — one document, instructors edit, learners read
- Per-learner doc — each learner gets their own document, instructors can read all of them
- Deep linking — the instructor picks or creates the document from the LMS content picker
Open questions
- Identity: Ideally accounts in LTI can map to accounts from single-sign-on system like keycloak.
- Ownership: Who owns a document created through a launch — the instructor, or the instance? What happens when the instructor leaves? It would be good to have a admin account that owns all documents created via LTI.
- Lifecycle: Does the document outlive the course? Can learners still reach it after the course ends? Data retention expectations differ per institution.
- Role mapping: how do LTI roles map to roles/rights in Docs?
Context
As proposed in #2432, we are exploring launching Docs directly from a Learning Management System (LMS) via the LTI 1.3 standard. In LTI terms, the LMS is the Platform and Docs is the Tool.
This is a meta issue: it should hold the scope, the design decisions and the current state of the work. Implementation will happen in sub-issues that will be linked here. Task-specific discussions should then take place in the corresponding sub-issues.
Goals
Target scenarios
Open questions