Conversation
WalkthroughDocumentation updates to LTI app integration: reworded mentor filtering, added Canvas-specific observer workflow, converted a caution into a note, provided an example for codio_custom_mentor_for, expanded setup guidance with cross-platform steps and visuals, and introduced a table of LTI custom parameters for “actual user” fields with examples and caveats. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Mentor as Mentor (Observer)
participant Canvas as Canvas LMS
participant Codio as Codio LTI App
rect rgb(235, 245, 255)
note over Mentor,Canvas: Canvas observer linking (new doc section)
Mentor->>Canvas: Log in as Observer
Mentor->>Canvas: Navigate to Course > People
Canvas-->>Mentor: Observer linked to specific students
end
rect rgb(245, 255, 235)
note over Mentor,Codio: LTI launch with filtering
Mentor->>Canvas: Click Codio assignment link
Canvas->>Codio: LTI launch (roles=Observer,<br/>custom params incl. codio_custom_mentor_for)
Codio->>Codio: Apply mentor filter to visible learners
Codio-->>Mentor: Show only linked/allowed students
end
sequenceDiagram
autonumber
participant User as User (Instructor/TA/Observer)
participant LMS as LMS (LTI 1.3)
participant Codio as Codio LTI App
rect rgb(255, 245, 235)
note over LMS: New custom parameters (actual user)
LMS->>Codio: LTI launch with<br/>custom_actual_user_* fields
end
Codio->>Codio: Parse actual user fields (id, email, role, names)
alt Fields present
Codio-->>User: Open student assignment with resolved identity context
else Fields missing/unsupported
Codio-->>User: Fallback handling (standard LTI context)
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
Status, Documentation and Community
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (10)
source/instructors/admin/integration/lti-app.rst (10)
124-124: Tighten wording and fix pluralization (“Mentor/Observers”).“Mentor/Observers” is inconsistent; prefer “mentors/observers” and simplify the sentence.
-Enabling **Filter Learners for Mentors** to "on" will allow you to show Mentor/Observers only specific students that you wish them to see/manage in the Codio course. +Enabling **Filter Learners for Mentors** shows mentors/observers only the specific students you assign to them in the Codio course.
126-126: Clarify setup instructions; remove redundancy and improve flow.Avoid “as set up above” and “send as a custom parameter by adding … as a custom field.” Also tighten guidance on comma-separated values.
-To set this up, edit your LTI app as set up above or send as a custom parameter by adding codio_custom_mentor_for as a custom field, entering as the parameter either the students' email addresses or their LMS user IDs. To enter multiple students, separate with commas (','). +To set this up, edit your LTI app and add a custom field named `codio_custom_mentor_for`. Set its value to a comma‑separated list of students’ email addresses or LMS user IDs (e.g., `student1@email.com,student2@email.com`).
141-141: Streamline the note and remove extra comma.Shorten and clarify without changing meaning.
-.. note:: If you don't enable Filter Learners for Mentors, then mentors can see all the students in the course and access all students' work, even those for whom they are not a mentor. +.. note:: If you don’t enable Filter Learners for Mentors, mentors can see all students in the course and access all students’ work, including those they do not mentor.
145-147: Use a proper subsection heading instead of bold text and tweak phrasing.Maintain heading-style consistency with earlier “In Canvas” sections and drop filler words.
-**In Canvas:** - -After you have enabled Filter Learners for Mentors in your course's LTI/LMS settings, then go to Canvas and complete the following: +In Canvas +~~~~~~~~~ + +After you enable Filter Learners for Mentors in your course’s LTI/LMS settings, go to Canvas and complete the following:
149-152: Minor edits for list step clarity and consistency.Use parallel structure and clearer UI references.
-1. In the **People** section of the course, find the mentor and click the three vertical dots on the right of the name, then click **Edit Role**. -2. Change the role to **Observer**. -3. Click the three vertical dots on the right of the name and click **Link to Students**. -4. Find and click the names of the students associated with that mentor. Once done, click **Update**. +1. In the course’s **People** section, find the mentor, click the three vertical dots to the right of their name, and select **Edit Role**. +2. Change the role to **Observer**. +3. Click the three vertical dots again and select **Link to Students**. +4. Select the students associated with that mentor, then click **Update**.
190-194: Fix grammar/typo in custom parameters description.Use “equivalent to” and correct missing space in “the current”.
-| This is equivalent of user_id when the request is | | -| executed without changing thecurrent user. | | +| This is equivalent to user_id when the request is | | +| executed without changing the current user. | |
195-199: Tighten sentence and article usage.Improve readability and correctness.
-| This will be used for registration if | custom_actual_user_email= lms-admin@email.com | -| custom_actual_user_id is not matched to existing user. | | +| Used for registration if | custom_actual_user_email= lms-admin@email.com | +| custom_actual_user_id does not match an existing user. | |
209-212: Subject–verb agreement and optionality wording.Add “are” and clarify that either family+given or full name may be provided.
-| This could be omitted if custom_actual_user_name_family and | | -| custom_actual_user_name_given passed. | | +| You can omit this if `custom_actual_user_name_family` and | | +| `custom_actual_user_name_given` are provided. | |
216-216: Minor grammar and punctuation in note.Add “the” and a period for the email sentence.
-.. Note:: The parameters should be set by LMS dynamically based on current user, not statically. If you need assistance contact help@codio.com +.. Note:: The parameters should be set by the LMS dynamically based on the current user, not statically. If you need assistance, contact help@codio.com.
218-218: List formatting for LMS names.Use commas and “and” for readability.
-.. important:: Canvas/Moodle/Blackboard do not support this feature. +.. important:: Canvas, Moodle, and Blackboard do not support this feature.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
source/instructors/admin/integration/lti-app.rst(2 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*.rst
⚙️ CodeRabbit configuration file
**/*.rst: Review files for:
- Consistent formatting (e.g., headings, lists, links).
- Clear and concise language.
- Correct grammar and spelling.
- Proper use of rst syntax (e.g., avoid broken links or invalid code blocks).
- Adherence to style guides (e.g., consistent tone, terminology).
Suggest improvements to enhance readability and accessibility.
Files:
source/instructors/admin/integration/lti-app.rst
Summary by CodeRabbit