Commit Graph

445 Commits

Author SHA1 Message Date
a6f64c83a0 Reduce SQL queries for external user statistics
Fixes CODEOCEAN-100
Fixes CODEOCEAN-YN
Fixes CODEOCEAN-10H
2023-12-05 20:57:55 +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
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
bbee854002 Allow RfC index action for exercises to be nested 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
5bbc94f1d1 Remove info about study & link to feedback page 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
1dfc306e76 Refactor passing of parameters for LaExerciseChannel 2023-09-21 11:56:35 +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
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
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
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
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
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
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
0234414bae Rename user to contributor in submission 2023-08-24 19:32:06 +02:00
de5bbea4a8 Refactor RfC creation to prevent users from navigating 2023-08-17 00:25:51 +02:00
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
53ff809430 Fix Code Inspection warning for CodeHarbor export 2023-07-31 11:27:33 +02:00
28a4b672f9 Remove legacy save search endpoint 2023-07-28 13:18:39 +02:00
01f4f0c2cd Remove legacy CodePilot integration 2023-07-28 08:50:00 +02:00
bf662ecb81 Remove legacy forum search and search buttons 2023-07-28 08:45:05 +02:00
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
17ac339935 Fix flickering of run/stop button during page load 2023-07-25 22:12:15 +02:00
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
83e7eb3ce6 Hide exercise statistics for empty user group
Fixes ODEOCEAN-M5
2023-04-14 14:27:27 +02:00
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
a7cd85507e Reduce SQL queries in the exercise controller
Fixes CODEOCEAN-JK
2023-03-14 20:58:21 +01:00
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
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
6c1bfb6815 Fix showSpinner for reset action 2023-02-28 11:35:17 +01:00
ccbd74b4c7 Editor: Fix tooltip when submit is no longer possible 2023-02-28 00:53:15 +01:00
5ed8f7c812 Remove tooltip from stop execution button 2023-02-28 00:52:02 +01:00
18e48d9f45 Editor: Fix tooltip on RfC button 2023-02-28 00:52:02 +01:00
df666b4389 Fix missing whitespace for exercise feedback page 2022-12-05 18:21:44 +01:00
f17718f69f CSP: Extract JavaScript from layout to assets
Fixes CODEOCEAN-CP
2022-11-16 19:47:58 +01:00
26433aa2ff Remove duplicated username (log statement) 2022-11-02 14:09:42 +01:00
4f0b8c3c42 Reduce usage of @current_user (use helper instead) 2022-11-02 12:27:38 +01:00
60078701f5 Editor: Allow file retrieval after code run 2022-10-29 18:49:18 +02:00
fb9672c7a4 FileTree: Allow output as hash, convert to JSON separately 2022-10-29 18:49:18 +02:00
dba3aac800 Merge branch 'master' into refactor_proforma_import_export 2022-09-13 22:47:50 +02:00