Commit Graph

919 Commits

Author SHA1 Message Date
5ddc5a8ca5 Redirect users after sign in to their desired page 2023-12-01 00:06:31 +01:00
e9f099d59f Properly nest UserExerciseFeedback
Fixes CODEOCEAN-108
2023-11-23 14:42:10 +01:00
b43dfa364e Improve LTI handling for InternalUsers 2023-11-23 14:42:10 +01:00
175c8933f3 Automatically submit LTI grade on each score run
With this commit, we refactor the overall score handling of CodeOcean. Previously, "Score" and "Submit" were two distinct actions, requiring users to confirm the LTI transmission of their score (after assessing their submission). This yielded many questions and was unnecessary, since LTI parameters are no longer expiring after each use. Therefore, we can now transmit the current grade on each score run with the very same LTI parameters. As a consequence, the LTI consumer gets a more detailed history of the scores, enabling further analytical insights.

For users, the previous "Submit" button got replaced with a notification that is shown as soon as the full score got reached. Then, learners can decide to "finalize" their work on the given exercise, which will initiate a redirect to a follow-up action (as defined in the RedirectBehavior). This RedirectBehavior has also been unified and simplified for better readability.

As part of this refactoring, we rephrased the notifications and UX workflow of a) the LTI transmission, b) the finalization of an exercise (measured by reaching the full score) and c) the deadline handling (on time, within grace period, too late). Those information are now separately shown, potentially resulting in multiple notifications. As a side effect, they are much better maintainable, and the LTI transmission is more decoupled from this notification handling.
2023-11-23 14:42:10 +01:00
aeb2bb2542 Hide button to sync execution environments from unauthorized users 2023-11-20 22:25:28 +01:00
7026f14725 Fix download behavior for hidden file tree
This commit fixes a regression from 944b4551, where the behavior was changed by mistake.
2023-11-11 20:31:01 +01:00
8c1cede705 Hide action name for Index and Show routes 2023-11-09 09:15:39 +01:00
4537f2bf75 Allow viewing submissions without corresponding exercise
Fixes CODEOCEAN-S7
2023-11-06 00:24:51 +01:00
abf917ae37 Switch to Hash syntax for URL generation in breadcrumbs
This will prevent an exception if the corresponding Route cannot be generated.
2023-11-05 13:02:34 +01:00
bbee854002 Allow RfC index action for exercises to be nested 2023-10-23 18:17:42 +02:00
5ecde8c8bd Generalize breadcrumbs for nested resources
* Make programming groups breadcrumb navigation clickable
2023-10-23 18:17:42 +02:00
79ce069f68 Add CRUD operations for Programming Groups
* Correct sorting in table
* Modify page when nested in exercises
* Fix links between pages
* Link from statistics page to programming_groups/index
* Link from submission page to programming_groups/<id>
* Allow filtering for exercise ID on ProgrammingGroup#index
* Add search fields for internal and external user id on pg/index
2023-10-23 18:17:42 +02:00
b91a2b7ce0 Remove PairProgramming23Study and instead use LTI parameter 2023-10-22 12:07:41 +02:00
5bbc94f1d1 Remove info about study & link to feedback page 2023-10-22 12:07:41 +02:00
26552a0682 Remove PairProgrammingExerciseFeedback
* Remove view, controller, routes & policy for PairProgrammingExerciseFeedback
* Keep model & database table
2023-10-22 12:07:41 +02:00
67f19516c3 Add internal title for exercise
The internal title is designed to provide an alternative title for teachers. It is not exposed to learners.
2023-10-14 00:30:32 +02:00
99bd46af1a Align project files with CodeHarbor
Since both projects are developed together and by the same team, we also want to have the same code structure and utility methods available in both projects. Therefore, this commit changes many files, but without a functional change.
2023-10-11 00:18:33 +02:00
e7e8798f8e Disable sorttable on Ransack-sorted columns 2023-10-03 11:31:31 +02:00
684639696d Reduce SQL queries in the study groups controller
Fixes CODEOCEAN-Y7
2023-09-25 22:15:27 +02:00
0e387ffda2 Add association for Comments and RequestForComments
For the submission and comments, I mainly decided to use a `has_one` association. Based on the database schema, multiple request for comments could be allowed (i.e., for each file or submission), but this won't happen practically (since we always create new submissions and files). Hence, the `has_one` association is representing our relationship better.
2023-09-25 18:17:52 +02:00
b9ac2e7fdf Adapt text for forced pair programming exercise 2023-09-25 17:29:40 +02:00
26ea69eba8 Require pair programming for a given set of exercises 2023-09-25 17:29:40 +02:00
9f837412c7 Add waiting room to create programming groups (#1919)
Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de>
2023-09-21 15:07:10 +02:00
1dfc306e76 Refactor passing of parameters for LaExerciseChannel 2023-09-21 11:56:35 +02:00
8a5dc7abc0 Forward person when a programming group is created with them
Further, we remove the "check invitation" button and extract some methods to our new ProgrammingGroups object in JavaScript.

Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de>
2023-09-19 20:14:33 +00:00
9848c900c3 Fix incorrect label and form association.
This change is required for a better accessibility compatibility.
2023-09-19 15:43:02 +02:00
652f3fefcb Transform data privacy link from locales to view
Amends #1899
2023-09-19 15:38:25 +02:00
5ae306997b Remove pair programming session text from status bar 2023-09-13 17:50:19 +02:00
65bf7b6e98 Add user name to etherpad pp feedback 2023-09-13 17:50:19 +02:00
b8f8d9dc60 Fix large spacing for solo programmers on /implement 2023-09-13 04:36:16 +02:00
410d2f79d3 Show link instead of Etherpad for new programming groups in Safari 2023-09-13 01:21:59 +02:00
a7fa9b5b04 Improve layout for programming groups 2023-09-11 14:43:00 +02:00
5da871a0e9 Add info modal for pair programming 2023-09-11 14:43:00 +02:00
883169121c Provide current-contributor application-wide
* This change allows us to reuse the current user in multiple places.
2023-09-11 14:43:00 +02:00
930d532fb6 Add third question in pp exercise feedback 2023-09-08 11:48:53 +02:00
5dd6df9418 Synchronized Editor: Store all events and allow multiple tabs
* This commit refactors the table used to store events.
* We also use a UUID as session identifier in the synchronized editor to support multiple concurrent tabs opened by the same user.
* Further, we renamed some methods to make them easier to distinguish.
2023-09-08 11:48:53 +02:00
33aa0cecba Provide current-user application-wide
* This change allows us to reuse the current user in multiple places.
* Sentry still receives the same information as before.
2023-09-08 11:48:53 +02:00
4b90a2a3c5 Add exercise feedback page for pair programming study 2023-09-05 22:56:51 +02:00
79422225a8 Add events for pair programming study 2023-09-05 22:56:51 +02:00
d1d5b0df6f Etherpad link for pair programming feedback 2023-09-05 22:56:51 +02:00
056a8e5107 Show if partner is online 2023-09-05 22:56:51 +02:00
97764bd02e Limit programming groups to two people
* adapt text on programming_groups/new site
* in German change from 'Sie' to 'du'
2023-09-05 22:56:51 +02:00
7df37078f4 Add etherpad to exchange user IDs 2023-09-05 22:56:51 +02:00
e3bf14efe1 Add button to start (video) chat with programming group 2023-09-05 22:56:50 +02:00
125215ea35 Show in statusbar on implement route if pair programming session 2023-09-05 19:41:52 +02:00
f36f3cdc64 Rename user to contributor in exercise statistics
Fixes CODEOCEAN-TN
2023-09-05 18:44:20 +02:00
89afb599e4 Apply changes from team members in own editor 2023-08-26 00:38:58 +02:00
e3603758ef Refactor LTI parameters and add study group
* This change also requires that submissions in our test need to have a valid study group.
2023-08-24 19:32:06 +02:00
e2baa2ee55 Send score for all members of a programming group 2023-08-24 19:32:06 +02:00
319c3ab3b4 Add ProgrammingGroup & ProgrammingGroupMembership
* User can create programming group with other users for exercise
* Submission is shared in a group
* Also adjust specs
2023-08-24 19:32:06 +02:00