-
Notifications
You must be signed in to change notification settings - Fork 291
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
Iris
: Display ingestion state for lecture slide upload
#9090
base: develop
Are you sure you want to change the base?
Conversation
…tionStateUI # Conflicts: # src/main/java/de/tum/in/www1/artemis/web/rest/lecture/LectureUnitResource.java # src/main/webapp/app/lecture/lecture-unit/lecture-unit-management/lectureUnit.service.ts # src/test/java/de/tum/in/www1/artemis/iris/PyrisLectureIngestionTest.java
WalkthroughThe recent changes enhance the ingestion management system within the application by introducing structured state tracking for attachment units and related entities. Key improvements include the addition of a Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant LectureUnitResource
participant LectureUnitService
participant PyrisConnectorService
User->>LectureUnitResource: Trigger ingestLectureUnit
LectureUnitResource->>LectureUnitService: ingestLectureUnitInPyris(lectureUnitId)
LectureUnitService->>PyrisConnectorService: addLectureUnitToPyrisDB(lectureUnit)
PyrisConnectorService-->>LectureUnitService: Acknowledge ingestion
LectureUnitService-->>LectureUnitResource: Return success response
LectureUnitResource-->>User: Display success notification
sequenceDiagram
participant User
participant LectureUnitManagementComponent
User->>LectureUnitManagementComponent: Click ingest button
LectureUnitManagementComponent->>LectureUnitManagementComponent: updateIngestionStates()
LectureUnitManagementComponent->>PyrisConnectorService: getLectureUnitIngestionState(lectureUnitId)
PyrisConnectorService-->>LectureUnitManagementComponent: Return ingestion state
LectureUnitManagementComponent-->>User: Update UI with new state
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
…ourseId to findAllByCourseIdWithSlides
@HawKhiem I see you were using my course for the testing. The first file is an actual lecture slides that's why it takes too long to ingest that one. You can retry now I erased it and replaced it with the blank pdf that doesn't take time ( like the second file in your screenshot). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Retested on ts3, works as expected
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After the latest changes it looks good to me now
0828d1a
Motivation and Context
For Now we send a lecture for ingestion but there is no other UI that shows the state of the Ingestion. That's why this PR is created to add the Ingestion States for Lectures and Lecture Units.
Description
I added one column in the manage lectures view that shows whether a lecture is ingested and what is it's State.
I added a button to ingest one lecture Unit manually that also shows the ingestion State of the lecture unit.
Checklist
General
Server
Client
authorities
to all new routes and checked the course groups for displaying navigation elements (links, buttons).Screenshots :
Lecture Management view:
In case Pyris is Down the Ingestion State will give an error:
Lecture Unit View:
In case Pyris is Down all lecture units will display an error:
Steps for Testing
Prerequisites:
blankpdf.pdf
Testserver States
Note
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Click on the badges to get to the test servers.
Review Progress
Performance Review
Code Review
Manual Tests
Test Coverage
Client
Server
Could not generate code coverage here due to flaky tests failing constantly.
Client
Server
|------------|--------------:|---------------------:|
| PyrisWebhookService.java | 82% | ✅ |
| LectureRepository.java | 86% | ✅ |
| LectureService.java | 100% | ✅ |
| LectureUnitService.java | 83% | ✅ |
| LectureResource.java | 90% | ✅ |
| LectureUnitResource.java | 80% | ✅ |
Summary by CodeRabbit
New Features
Bug Fixes
Refactor
Tests