Commit Graph

444 Commits

Author SHA1 Message Date
kiragrammel
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
Sebastian Serth
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
Sebastian Serth
bbee854002 Allow RfC index action for exercises to be nested 2023-10-23 18:17:42 +02:00
kiragrammel
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
kiragrammel
5bbc94f1d1 Remove info about study & link to feedback page 2023-10-22 12:07:41 +02:00
Sebastian Serth
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
Sebastian Serth
1dfc306e76 Refactor passing of parameters for LaExerciseChannel 2023-09-21 11:56:35 +02:00
Sebastian Serth
652f3fefcb Transform data privacy link from locales to view
Amends #1899
2023-09-19 15:38:25 +02:00
kiragrammel
5ae306997b Remove pair programming session text from status bar 2023-09-13 17:50:19 +02:00
kiragrammel
65bf7b6e98 Add user name to etherpad pp feedback 2023-09-13 17:50:19 +02:00
Sebastian Serth
b8f8d9dc60 Fix large spacing for solo programmers on /implement 2023-09-13 04:36:16 +02:00
kiragrammel
a7fa9b5b04 Improve layout for programming groups 2023-09-11 14:43:00 +02:00
kiragrammel
5da871a0e9 Add info modal for pair programming 2023-09-11 14:43:00 +02:00
kiragrammel
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
Sebastian Serth
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
kiragrammel
79422225a8 Add events for pair programming study 2023-09-05 22:56:51 +02:00
kiragrammel
d1d5b0df6f Etherpad link for pair programming feedback 2023-09-05 22:56:51 +02:00
kiragrammel
056a8e5107 Show if partner is online 2023-09-05 22:56:51 +02:00
kiragrammel
e3bf14efe1 Add button to start (video) chat with programming group 2023-09-05 22:56:50 +02:00
kiragrammel
125215ea35 Show in statusbar on implement route if pair programming session 2023-09-05 19:41:52 +02:00
kiragrammel
89afb599e4 Apply changes from team members in own editor 2023-08-26 00:38:58 +02:00
Sebastian Serth
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
kiragrammel
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
kiragrammel
0234414bae Rename user to contributor in submission 2023-08-24 19:32:06 +02:00
Sebastian Serth
de5bbea4a8 Refactor RfC creation to prevent users from navigating 2023-08-17 00:25:51 +02:00
Sebastian Serth
944b455194 Introduce Dark Mode
This commit mainly changes the color definitions. Mostly, those changes are semantically equally, but there are a few changes that occurred to align the color scheme within the app.
2023-07-31 11:48:42 +02:00
Sebastian Serth
53ff809430 Fix Code Inspection warning for CodeHarbor export 2023-07-31 11:27:33 +02:00
Sebastian Serth
28a4b672f9 Remove legacy save search endpoint 2023-07-28 13:18:39 +02:00
Sebastian Serth
01f4f0c2cd Remove legacy CodePilot integration 2023-07-28 08:50:00 +02:00
Sebastian Serth
bf662ecb81 Remove legacy forum search and search buttons 2023-07-28 08:45:05 +02:00
Sebastian Serth
db56a690c7 Add option to suppress feedback messages
This is used to dynamically exclude some test results from being shown to users, but still allows them to run in the background (e.g., for research).
2023-07-27 10:38:49 +02:00
Sebastian Serth
17ac339935 Fix flickering of run/stop button during page load 2023-07-25 22:12:15 +02:00
Sebastian Serth
b6b75cee0e Improve SQL query for exercise statistics
Removing the call to distinct dramatically improves the page load time. I don't know why, but since we are only using the users to filter the submission, it's not harmful to omit it.
2023-05-12 07:52:56 +02:00
Sebastian Serth
83e7eb3ce6 Hide exercise statistics for empty user group
Fixes ODEOCEAN-M5
2023-04-14 14:27:27 +02:00
Sebastian Serth
d90cdcf80e Enlarge Run and Stop buttons again
After the recent change where we wrapped the Run and Stop buttons in another div (for the tooltip), there were cosmetic issues on mobile devices.
2023-04-13 22:09:52 +02:00
Sebastian Serth
a7cd85507e Reduce SQL queries in the exercise controller
Fixes CODEOCEAN-JK
2023-03-14 20:58:21 +01:00
Sebastian Serth
d015e1536c Refactor tooltip for run button
Even though not reproducible locally, we had some errors captured through Sentry where the Tooltip was opened on the (already hidden) run button. This resulted in an error by the Bootstrap library. Most likely, the issue was caused by some race condition.

Fixes CODEOCEAN-BA
2023-03-14 19:19:06 +01:00
Sebastian Serth
a99da79550 Disable sorttable on tables without rows
Otherwise, the first element of the table body is being fetched which might result in an error for empty tables.

Fixes CODEOCEAN-JZ
2023-03-14 18:27:38 +01:00
Sebastian Serth
6c1bfb6815 Fix showSpinner for reset action 2023-02-28 11:35:17 +01:00
Sebastian Serth
ccbd74b4c7 Editor: Fix tooltip when submit is no longer possible 2023-02-28 00:53:15 +01:00
Sebastian Serth
5ed8f7c812 Remove tooltip from stop execution button 2023-02-28 00:52:02 +01:00
Sebastian Serth
18e48d9f45 Editor: Fix tooltip on RfC button 2023-02-28 00:52:02 +01:00
Sebastian Serth
df666b4389 Fix missing whitespace for exercise feedback page 2022-12-05 18:21:44 +01:00
Sebastian Serth
f17718f69f CSP: Extract JavaScript from layout to assets
Fixes CODEOCEAN-CP
2022-11-16 19:47:58 +01:00
Sebastian Serth
26433aa2ff Remove duplicated username (log statement) 2022-11-02 14:09:42 +01:00
Sebastian Serth
4f0b8c3c42 Reduce usage of @current_user (use helper instead) 2022-11-02 12:27:38 +01:00
Sebastian Serth
60078701f5 Editor: Allow file retrieval after code run 2022-10-29 18:49:18 +02:00
Sebastian Serth
fb9672c7a4 FileTree: Allow output as hash, convert to JSON separately 2022-10-29 18:49:18 +02:00
Karol
dba3aac800 Merge branch 'master' into refactor_proforma_import_export 2022-09-13 22:47:50 +02:00
Sebastian Serth
a2bb2844b4 Add a Content Security Policy 2022-09-06 11:20:57 +02:00