Skip to content

added canvas to filter mentors#409

Merged
LolaValente merged 1 commit intomasterfrom
FilterMentors
Aug 27, 2025
Merged

added canvas to filter mentors#409
LolaValente merged 1 commit intomasterfrom
FilterMentors

Conversation

@LolaValente
Copy link
Collaborator

@LolaValente LolaValente commented Aug 27, 2025

Summary by CodeRabbit

  • Documentation
    • Clarified “Filter Learners for Mentors” behavior and improved wording/grammar.
    • Added example usage for codio_custom_mentor_for and highlighted setup with a prominent note.
    • Introduced Canvas-specific setup steps (Observer linking workflow) and cross-platform app configuration guidance with visuals.
    • Added a “Custom parameters” reference for opening student assignments directly from the LMS, covering user ID, email, role, and name fields, with examples and platform support notes.
    • Minor formatting and punctuation improvements.

@LolaValente LolaValente requested a review from shajason August 27, 2025 20:14
@coderabbitai
Copy link

coderabbitai bot commented Aug 27, 2025

Walkthrough

Documentation 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

Cohort / File(s) Summary
Mentor filtering wording and examples
source/instructors/admin/integration/lti-app.rst
Rephrased “Filter Learners for Mentors” to emphasize limiting visible students; improved grammar; added example usage: codio_custom_mentor_for="student1@email.com,student2@email.com"; converted warning sentence into a .. note::.
Canvas observer workflow
source/instructors/admin/integration/lti-app.rst
Added Canvas-specific steps to mark mentors as Observers and link them to students (4-step flow).
Cross-platform setup steps and visuals
source/instructors/admin/integration/lti-app.rst
Expanded guidance with “In Codio” and “In Canvas” app configuration steps, including Add App flow and related images.
Custom parameters (actual user) table
source/instructors/admin/integration/lti-app.rst
Introduced table documenting custom_actual_user_id, custom_actual_user_email, custom_actual_user_role, custom_actual_user_name_family, custom_actual_user_name_given, custom_actual_user_name_full; included descriptions, examples, and note about LMS-provided dynamic values and limited platform support.
Formatting and punctuation fixes
source/instructors/admin/integration/lti-app.rst
Minor punctuation, apostrophes, and line-break adjustments for consistency.

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
Loading
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
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • LTI and DynReg Update #406 — Touches the same LTI 1.3 custom-parameters and Canvas setup content; this PR reintroduces/expands sections previously removed or modified there.

Suggested reviewers

  • shajason

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
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch FilterMentors

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

📥 Commits

Reviewing files that changed from the base of the PR and between 3055d07 and db58668.

📒 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

@LolaValente LolaValente merged commit b490e71 into master Aug 27, 2025
1 check passed
@LolaValente LolaValente deleted the FilterMentors branch August 27, 2025 21:50
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

Successfully merging this pull request may close these issues.

2 participants