Skip to content

Communication: Add FAQ consistency check to rewrite action #10814

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 61 commits into
base: develop
Choose a base branch
from

Conversation

cremertim
Copy link
Contributor

@cremertim cremertim commented May 7, 2025

Note

This PR depends on the counterpart in IRIS. For testing, deploy EduTelligence#61 via Helios. You can only use TS3 for testing because you potentially need turn on the IRIS settings of the server with an admin account.

Checklist

General

Server

Client

  • Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data (e.g. using paging).
  • I strictly followed the principle of data economy for all client-server REST calls.
  • I strictly followed the client coding and design guidelines.
  • Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
  • I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
  • I added multiple screenshots/screencasts of my UI changes.
  • I translated all newly inserted strings into English and German.

Motivation and Context

If a user creates a FAQ, the system should ensure that the newly created FAQ is consistent with all existing FAQs.

Description

I extended the rewrite pipeline of iris to show , wheter the provided information are consistent or not

Steps for Testing

Prerequisites:

  • 1 Instructor or Tutor
  • 1 Course with FAQ enabled. Make sure, that this course has the FAQ ingestion settings enabled and you deployed the related IRIS PR.
  1. Log in to Artemis
  2. Navigate to the FAQ overview
  3. Ensure, that you already have some FAQs and add them to IRIS (otherwise, create some or use the test course "Tim Cremers Test Course")
  4. Create a new FAQ
  5. Insert some FAQ content, which is conflicting with already existing FAQs
  6. Click on rewrite FAQ
  7. Wait until the response is there.
  8. Check, whether the inconsistencies are described and shown
  9. Check whether there is an alternative formulation of your faq

Testserver States

You can manage test servers using Helios. Check environment statuses in the environment list. To deploy to a test server, go to the CI/CD page, find your PR or branch, and trigger the deployment.

Review Progress

Performance Review

  • I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance even for very large courses with more than 2000 students.
  • I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance even for very large courses with more than 2000 students.

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Exam Mode Test

  • Test 1
  • Test 2

Performance Tests

  • Test 1
  • Test 2

Test Coverage

Screenshots

image

Summary by CodeRabbit

  • New Features

    • Introduced a consistency check for FAQs, displaying detected inconsistencies, suggestions, and improvement tips in a new alert component within the FAQ update view.
    • Added a dedicated FAQ Consistency Check component for enhanced user feedback on FAQ content quality.
  • Enhancements

    • Consistency check results now provide structured feedback, including inconsistencies, suggestions, and improvement recommendations.
    • Improved integration of rewriting and consistency check actions across relevant editors and components.
    • Enhanced rewriting functionality to deliver richer results, including detailed consistency data and improvement suggestions.
    • Updated rewriting service to include course context in processing and extend status updates with additional metadata.
  • Localization

    • Added new English and German translations for consistency check alerts and improvement suggestions.
  • Bug Fixes

    • Removed unnecessary debug logging from the FAQ rewriting process.
  • Tests

    • Expanded test coverage for FAQ update logic and consistency check actions.
    • Improved tests for the rewriting and consistency check service, including error handling and UI integration.
    • Added tests for the new FAQ Consistency Check component.

@github-project-automation github-project-automation bot moved this to Work In Progress in Artemis Development May 7, 2025
@github-actions github-actions bot added tests server Pull requests that update Java code. (Added Automatically!) client Pull requests that update TypeScript code. (Added Automatically!) communication Pull requests that affect the corresponding module core Pull requests that affect the corresponding module iris Pull requests that affect the corresponding module programming Pull requests that affect the corresponding module labels May 7, 2025
Copy link

github-actions bot commented May 7, 2025

End-to-End (E2E) Test Results Summary

TestsPassed ✅SkippedFailedTime ⏱
End-to-End (E2E) Test Report1 ran1 passed0 skipped0 failed1s 823ms
TestResultTime ⏱
No test annotations available

Copy link

github-actions bot commented May 7, 2025

End-to-End (E2E) Test Results Summary

TestsPassed ✅Skipped ⚠️FailedTime ⏱
End-to-End (E2E) Test Report201 ran198 passed3 skipped0 failed47m 32s 578ms
TestResultTime ⏱
No test annotations available

Copy link

github-actions bot commented May 7, 2025

End-to-End (E2E) Test Results Summary

TestsPassed ✅Skipped ⚠️FailedTime ⏱
End-to-End (E2E) Test Report201 ran198 passed3 skipped0 failed46m 42s 689ms
TestResultTime ⏱
No test annotations available

@cremertim cremertim changed the title First implementation Communication: Add FAQ consistency check to rewrite action May 8, 2025
Copy link

github-actions bot commented May 8, 2025

End-to-End (E2E) Test Results Summary

TestsPassed ✅Skipped ⚠️FailedTime ⏱
End-to-End (E2E) Test Report201 ran198 passed3 skipped0 failed49m 14s 118ms
TestResultTime ⏱
No test annotations available

Copy link

github-actions bot commented May 8, 2025

End-to-End (E2E) Test Results Summary

TestsPassed ✅SkippedFailedTime ⏱
End-to-End (E2E) Test Report1 ran1 passed0 skipped0 failed1s 799ms
TestResultTime ⏱
No test annotations available

Copy link

github-actions bot commented May 8, 2025

End-to-End (E2E) Test Results Summary

TestsPassed ✅Skipped ⚠️FailedTime ⏱
End-to-End (E2E) Test Report201 ran198 passed3 skipped0 failed47m 5s 640ms
TestResultTime ⏱
No test annotations available

Copy link

github-actions bot commented May 8, 2025

End-to-End (E2E) Test Results Summary

TestsPassed ✅Skipped ⚠️FailedTime ⏱
End-to-End (E2E) Test Report201 ran198 passed3 skipped0 failed47m 15s 532ms
TestResultTime ⏱
No test annotations available

Copy link

github-actions bot commented May 8, 2025

End-to-End (E2E) Test Results Summary

TestsPassed ☑️Skipped ⚠️Failed ❌️Time ⏱
End-to-End (E2E) Test Report201 ran197 passed3 skipped1 failed50m 995ms
TestResultTime ⏱
End-to-End (E2E) Test Report
e2e/exercise/quiz-exercise/QuizExerciseParticipation.spec.ts
ts.Quiz Exercise Participation › DnD Quiz participation › Student can participate in DnD Quiz❌ failure2m 3s 567ms

Copy link

End-to-End (E2E) Test Results Summary

TestsPassed ☑️Skipped ⚠️Failed ❌️Time ⏱
End-to-End (E2E) Test Report201 ran196 passed3 skipped2 failed58m 24s 302ms
TestResultTime ⏱
End-to-End (E2E) Test Report
e2e/exercise/quiz-exercise/QuizExerciseParticipation.spec.ts
ts.Quiz Exercise Participation › DnD Quiz participation › Student can participate in DnD Quiz❌ failure2m 3s 933ms
e2e/exercise/programming/ProgrammingExerciseStaticCodeAnalysis.spec.ts
ts.Static code analysis tests › Configures SCA grading and makes a successful submission with SCA errors❌ failure2m 14s 219ms

@helios-aet helios-aet bot temporarily deployed to artemis-test3.artemis.cit.tum.de June 13, 2025 13:04 Inactive
Copy link

End-to-End (E2E) Test Results Summary

TestsPassed ☑️Skipped ⚠️Failed ❌️Time ⏱
End-to-End (E2E) Test Report201 ran197 passed3 skipped1 failed1h 3m 9s 941ms
TestResultTime ⏱
End-to-End (E2E) Test Report
e2e/exercise/programming/ProgrammingExerciseStaticCodeAnalysis.spec.ts
ts.Static code analysis tests › Configures SCA grading and makes a successful submission with SCA errors❌ failure2m 17s 701ms

az108
az108 previously approved these changes Jun 13, 2025
Copy link
Contributor

@az108 az108 left a comment

Choose a reason for hiding this comment

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

retested TS3 and still works, reapprove

Copy link
Contributor

@florian-glombik florian-glombik left a comment

Choose a reason for hiding this comment

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

Thanks for the adjustments, approve code

@helios-aet helios-aet bot temporarily deployed to artemis-test3.artemis.cit.tum.de June 15, 2025 12:00 Inactive
MoritzSpengler
MoritzSpengler previously approved these changes Jun 15, 2025
Copy link
Contributor

@MoritzSpengler MoritzSpengler left a comment

Choose a reason for hiding this comment

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

Re-tested on TS3. Works as described.

eylulnc
eylulnc previously approved these changes Jun 15, 2025
Copy link
Contributor

@eylulnc eylulnc left a comment

Choose a reason for hiding this comment

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

code

coderabbitai[bot]
coderabbitai bot previously approved these changes Jun 23, 2025
# Conflicts:
#	src/test/java/de/tum/cit/aet/artemis/core/connector/IrisRequestMockProvider.java
@github-actions github-actions bot removed tests core Pull requests that affect the corresponding module labels Jun 24, 2025
Copy link

End-to-End (E2E) Test Results Summary

TestsPassed ☑️Skipped ⚠️Failed ❌️Time ⏱
End-to-End (E2E) Test Report201 ran197 passed3 skipped1 failed59m 14s 711ms
TestResultTime ⏱
End-to-End (E2E) Test Report
e2e/exercise/programming/ProgrammingExerciseStaticCodeAnalysis.spec.ts
ts.Static code analysis tests › Configures SCA grading and makes a successful submission with SCA errors❌ failure2m 19s 667ms

@github-actions github-actions bot added the tests label Jun 24, 2025
Copy link

End-to-End (E2E) Test Results Summary

TestsPassed ✅SkippedFailedTime ⏱
End-to-End (E2E) Test Report1 ran1 passed0 skipped0 failed2s 169ms
TestResultTime ⏱
No test annotations available

Copy link

End-to-End (E2E) Test Results Summary

TestsPassed ✅Skipped ⚠️FailedTime ⏱
End-to-End (E2E) Test Report201 ran198 passed3 skipped0 failed55m 16s 12ms
TestResultTime ⏱
No test annotations available

Copy link

End-to-End (E2E) Test Results Summary

TestsPassed ☑️Skipped ⚠️Failed ❌️Time ⏱
End-to-End (E2E) Test Report201 ran196 passed3 skipped2 failed58m 3s 369ms
TestResultTime ⏱
End-to-End (E2E) Test Report
e2e/exercise/quiz-exercise/QuizExerciseParticipation.spec.ts
ts.Quiz Exercise Participation › DnD Quiz participation › Student can participate in DnD Quiz❌ failure2m 4s 33ms
e2e/exercise/programming/ProgrammingExerciseStaticCodeAnalysis.spec.ts
ts.Static code analysis tests › Configures SCA grading and makes a successful submission with SCA errors❌ failure2m 14s 919ms

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client Pull requests that update TypeScript code. (Added Automatically!) communication Pull requests that affect the corresponding module iris Pull requests that affect the corresponding module programming Pull requests that affect the corresponding module ready for review server Pull requests that update Java code. (Added Automatically!) tests
Projects
Status: Ready For Review
Status: Todo
Development

Successfully merging this pull request may close these issues.

7 participants