Skip to content

Conversation

@az108
Copy link
Contributor

@az108 az108 commented Dec 4, 2025

Checklist

General

Motivation and Context

We want to migrate to the new documentation https://ls1intum.github.io/Artemis/ from https://artemis-platform.readthedocs.io/en/latest/index.html to provide a more modern and user friendly access to additional information around Artemis.

Description

  • Migrating the Lti Configuration section to the new documentation
  • Splitting it into the Instructor documentation
  • Simplifying explanations and making them more user friendly (less text, more bullet points)
  • Removing that part from the old documentation and linking to the new documentation

Steps for Testing

Run npm install and npm start in the /documentation folder

  1. Verify http://localhost:3000/Artemis/instructor/lti-configuration is clear and understandable
  2. Verify you are not missing information that you think would be required

Review Progress

Manual Tests

  • Test 1

Summary by CodeRabbit

  • Documentation
    • Enhanced LTI integration documentation with comprehensive guides for Moodle and edX configuration, including step-by-step setup procedures, deep linking instructions, and troubleshooting resources. Documentation is now organized in the instructor resources section.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 4, 2025

Walkthrough

Large LTI documentation content has been relocated from the user guide to a new instructor-focused documentation file. The original documentation file now contains a redirect notice, and the sidebar has been updated to include the new documentation entry.

Changes

Cohort / File(s) Summary
Documentation Consolidation
docs/user/lti.rst
Existing LTI documentation replaced with a notice directing readers to new instructor documentation
New LTI Configuration Guide
documentation/docs/instructor/lti-configuration.mdx
New comprehensive MDX documentation covering LTI configuration, including overview, online course setup, dynamic and manual registration, content linking, user provisioning, platform-specific steps for Moodle and edX, troubleshooting, illustrative images, notes, warnings, and embedded video demonstrations
Sidebar Navigation Update
documentation/sidebar-instructors.ts
Added lti-configuration entry to the default sidebar array in SidebarsConfig

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

  • Verify the redirect notice in the old documentation file appropriately guides users to the new location
  • Confirm the new documentation content is comprehensive and platform-specific instructions are accurate
  • Check that the sidebar entry is correctly positioned and properly references the new documentation file

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: migrating LTI configuration documentation from the old ReadTheDocs site to the new Artemis documentation site.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/general/migtate-lti-configuration-documentation

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

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@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: 4

🧹 Nitpick comments (1)
documentation/docs/instructor/lti-configuration.mdx (1)

333-333: Optional: Simplify phrasing.

The phrase "drop down the list" could be simplified to "open the dropdown" or "select from the dropdown" for clarity.

-4. In the *External Tool Settings* section, drop down the list to select the appropriate LTI platform configuration for your course.
+4. In the *External Tool Settings* section, open the dropdown to select the appropriate LTI platform configuration for your course.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6f99517 and 7b1420f.

⛔ Files ignored due to path filters (27)
  • documentation/docs/instructor/assets/lti-configuration/artemis_moodle_field_mapping.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/course-management.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/course_edit_lti_configuration.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/course_settings_button.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/edx_add_exercise_link.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/edx_artemis_mapping.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/edx_change_course_live.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/edx_lti_consumer_settings.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/enable_onlinecourse.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/lti_lectures_list.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/ltiexercises_list.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_activate_lti.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_add_external_tool.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_add_external_tool_page.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_add_tool_url.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_artemis_field_mapping.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_artemis_progex.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_editmode.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_password_popup.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_select-exercise.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_select_content.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_select_content_link.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_select_content_link_grouped.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_select_content_new.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/moodle_site_administration.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/server_lti_config_service_urls.png is excluded by !**/*.png, !**/*.png
  • documentation/docs/instructor/assets/lti-configuration/server_lti_configuration.png is excluded by !**/*.png, !**/*.png
📒 Files selected for processing (3)
  • docs/user/lti.rst (1 hunks)
  • documentation/docs/instructor/lti-configuration.mdx (1 hunks)
  • documentation/sidebar-instructors.ts (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: basak-akan
Repo: ls1intum/Artemis PR: 0
File: :0-0
Timestamp: 2024-06-10T19:44:09.116Z
Learning: The navigation path "admin/lti-configuration" is correctly configured and functioning properly in the Artemis platform as confirmed by the user.
📚 Learning: 2025-06-10T12:33:55.645Z
Learnt from: Wallenstein61
Repo: ls1intum/Artemis PR: 10989
File: src/main/webapp/app/programming/shared/actions/programming-exercise-instructor-exercise-sharing.component.ts:57-61
Timestamp: 2025-06-10T12:33:55.645Z
Learning: In the Artemis sharing platform integration, redirect URLs returned from the sharing service are generated by Artemis's own backend and secured with checksums, making them safe from open redirect vulnerabilities. The sharing platform integration uses a secure communication model with API keys and checksum validation.

Applied to files:

  • docs/user/lti.rst
  • documentation/docs/instructor/lti-configuration.mdx
📚 Learning: 2024-06-10T19:44:09.116Z
Learnt from: basak-akan
Repo: ls1intum/Artemis PR: 0
File: :0-0
Timestamp: 2024-06-10T19:44:09.116Z
Learning: The navigation path "admin/lti-configuration" is correctly configured and functioning properly in the Artemis platform as confirmed by the user.

Applied to files:

  • docs/user/lti.rst
  • documentation/docs/instructor/lti-configuration.mdx
🪛 LanguageTool
documentation/docs/instructor/lti-configuration.mdx

[style] ~227-~227: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...RL* into Redirection URI(s) field. 9. Copy Initiate login URL into the *Initiate...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~244-~244: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... Client ID into Client ID field. 6. Copy Access Token URL into the Token URI...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~245-~245: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ken URL* into the Token URI field. 7. Copy Public Keyset URL into the *JWKSet UR...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~246-~246: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...et URL* into the JWKSet URI field. 8. Copy Authentication request URL into the *...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~278-~278: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... Client ID into Client ID field. 6. Copy Access Token URL into the Token URI...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~279-~279: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ken URL* into the Token URI field. 7. Copy Keyset URL into the JWKSet URI fiel...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~280-~280: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...et URL* into the JWKSet URI field. 8. Copy Access Token URL into the *Authorizat...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~333-~333: This phrase is redundant. Consider using “drop”.
Context: ...n the External Tool Settings section, drop down the list to select the appropriate LTI ...

(DROP_DOWN)


[style] ~342-~342: Try moving the adverb to make the sentence clearer.
Context: ...r account provisioning Instructors can decide to automatically create new user accounts for students who first participate in a...

(SPLIT_INFINITIVE)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Build and Push Docker Image / Build linux/amd64 Docker Image for ls1intum/artemis
  • GitHub Check: Build and Push Docker Image / Build linux/arm64 Docker Image for ls1intum/artemis
  • GitHub Check: server-tests
  • GitHub Check: client-tests
  • GitHub Check: submit-gradle
🔇 Additional comments (9)
docs/user/lti.rst (1)

1-9: LGTM! Clean migration notice.

The redirect notice is clear and appropriately formatted, directing users to the new instructor documentation.

documentation/sidebar-instructors.ts (1)

9-9: LGTM! Sidebar entry added correctly.

The new 'lti-configuration' entry is properly added to the instructor sidebar, enabling navigation to the new LTI documentation.

documentation/docs/instructor/lti-configuration.mdx (7)

1-39: LGTM! Frontmatter and imports are well-structured.

The MDX frontmatter and image imports are properly configured.


40-103: LGTM! Comprehensive overview section.

The overview provides clear context about LTI 1.3, role-based permissions, and supported content types. The structure with tables and notes enhances readability.


128-198: LGTM! Clear dynamic registration guide.

The dynamic registration section provides clear instructions with helpful visual aids and video content. The Moodle-specific steps are well-detailed.


215-253: LGTM! Comprehensive manual registration guide for Moodle.

The step-by-step instructions with field mappings are clear and thorough. The repetitive sentence structure flagged by static analysis is appropriate for procedural documentation.


340-353: LGTM! Clear account provisioning guide.

The section clearly explains automatic account creation and how to restrict it to existing users. The instructions are easy to follow.


356-508: LGTM! Comprehensive content linking guide.

The linking section is thorough, covering both Deep Linking and Manual Link Creation for multiple platforms. The inclusion of videos and step-by-step instructions makes this highly useful for instructors.


512-532: LGTM! Helpful troubleshooting section.

The Common Issues section provides clear problem descriptions and actionable resolution steps for typical LTI configuration challenges.

@github-project-automation github-project-automation bot moved this from Work In Progress to Ready For Review in Artemis Development Dec 4, 2025
@github-actions
Copy link

github-actions bot commented Dec 4, 2025

End-to-End (E2E) Test Results Summary

TestsPassed ☑️Skipped ⚠️Failed ❌️Time ⏱
End-to-End (E2E) Test Report218 ran214 passed3 skipped1 failed1h 4m 39s 629ms
TestResultTime ⏱
End-to-End (E2E) Test Report
e2e/exercise/programming/ProgrammingExerciseParticipation.spec.ts
ts.Programming exercise participation › Programming exercise team participation › Check team participation › Instructor checks the participation❌ failure7s 784ms

Copy link

@FullbusterSteve FullbusterSteve left a comment

Choose a reason for hiding this comment

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

I tested this PR locally.

The LTI configuration for instructors is clear and understandable.
Afaik there is no LTI configuration for students, can you remove it from the PR description? It is a bit misleading.

Copy link

@FullbusterSteve FullbusterSteve left a comment

Choose a reason for hiding this comment

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

Approve

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Ready For Review

Development

Successfully merging this pull request may close these issues.

3 participants