Sebastian Serth
4723985b4c
Support GitHub-flavored Markdown
2023-12-19 09:19:09 +01:00
Sebastian Serth
245bcf4224
Submission Download: Pass ID file content instead of path
...
Fixes CODEOCEAN-11M
2023-12-14 15:25:07 +01:00
Sebastian Serth
293bb5d4ab
Switch to proper, dynamic route for SortableJS elements
2023-12-14 00:31:41 +01:00
Sebastian Serth
5b654debbe
Fix Rubocop offenses
2023-12-12 10:40:45 +01:00
Sebastian Serth
768eb53f7a
Reduce SQL queries for tag_statistics
...
Fixes CODEOCEAN-YP
2023-12-09 00:37:43 +01:00
Sebastian Serth
1bb61f73fe
Enable interventions for ProgrammingGroups and add indices
2023-12-08 21:33:06 +01:00
Sebastian Serth
605ce66d62
Move hidden feedback explanation closer to checkbox
2023-12-08 20:43:39 +01:00
Sebastian Serth
ef89b20986
Improve explanation for hidden feedback messages in tests
2023-12-08 20:25:02 +01:00
dependabot[bot]
bcb6409126
Bump rubocop from 1.57.2 to 1.58.0 and fix offenses
...
Bumps [rubocop](https://github.com/rubocop/rubocop ) from 1.57.2 to 1.58.0.
- [Release notes](https://github.com/rubocop/rubocop/releases )
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rubocop/rubocop/compare/v1.57.2...v1.58.0 )
---
updated-dependencies:
- dependency-name: rubocop
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-12-07 11:02:00 +01:00
Sebastian Serth
dccfe5cbc8
Reduce SQL queries for exercise batch update
...
Fixes CODEOCEAN-10D
2023-12-05 22:12:42 +01:00
Sebastian Serth
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
Sebastian Serth
f393d8cb48
Sentry: Allow backend filtering for WebSocket connections without frontend
2023-12-02 23:30:03 +01:00
Sebastian Serth
5ddc5a8ca5
Redirect users after sign in to their desired page
2023-12-01 00:06:31 +01:00
Sebastian Serth
b4ee21a00d
Reduce global JavaScript variables for Turtle
...
Fixes
2023-11-25 01:18:19 +01:00
Sebastian Serth
0bd7c93d65
Allow clicking on checkboxes for batch update
2023-11-24 16:41:49 +01:00
Sebastian Serth
60b0a5b5a1
Improve SQL query for fetching contributor for feedback
2023-11-23 14:42:10 +01:00
Sebastian Serth
e9f099d59f
Properly nest UserExerciseFeedback
...
Fixes CODEOCEAN-108
2023-11-23 14:42:10 +01:00
Sebastian Serth
b43dfa364e
Improve LTI handling for InternalUsers
2023-11-23 14:42:10 +01:00
Sebastian Serth
3b05a44b9e
Allow programming groups to score exercises remotely
2023-11-23 14:42:10 +01:00
Sebastian Serth
fe26378387
Extract ScoringChecks and rework RemoteEvaluations
2023-11-23 14:42:10 +01:00
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
1e06ab3fa9
Prevent cross access of PG for different exercise
...
Here, we are only checking the condition based on the URL if both parameters (exercise and programming group) are given. Otherwise, we skip the check.
2023-11-23 14:42:10 +01:00
Sebastian Serth
3048cf2644
Remove unnecessary #to_s in controller
2023-11-23 14:42:10 +01:00
Sebastian Serth
ee351198f5
Fix CommunitySolution after introduction of programming pairs
2023-11-23 14:42:10 +01:00
Sebastian Serth
9b705fd538
Remove erroneous validation from CommunitySolution
2023-11-23 14:42:10 +01:00
Sebastian Serth
ed7a3c848f
Hide reference implementations if another file with same name is already present
2023-11-20 23:16:48 +01:00
Sebastian Serth
c9ed9bd0cf
Fix batch update for exercises
...
This fixes a regression from 8a055a0d
2023-11-20 22:33:58 +01:00
Sebastian Serth
aeb2bb2542
Hide button to sync execution environments from unauthorized users
2023-11-20 22:25:28 +01:00
Sebastian Serth
e03e67a1a5
Only return height and width for Turtle if canvas is present
...
Fixes CODEOCEAN-FRONTEND-4P
2023-11-17 14:59:49 +01:00
Sebastian Serth
3d5f55f8ed
Only apply Turtle update if canvas is present
...
Fixes CODEOCEAN-FRONTEND-4T
2023-11-17 14:59:49 +01:00
Sebastian Serth
ce6470cd72
Carefully check for tooltip in Run-Stop button group
...
Fixes CODEOCEAN-FRONTEND-5C
2023-11-17 14:59:49 +01:00
Sebastian Serth
c18aadaf61
Don't throw an exception without turtle canvas
...
Fixes CODEOCEAN-FRONTEND-59
2023-11-17 14:59:49 +01:00
Sebastian Serth
35a65e4744
Check for element before attempting to show spinner
...
Fixes CODEOCEAN-FRONTEND-57
2023-11-17 14:59:49 +01:00
Karol
1e08f2cc9c
add hidden_feedback to custom CodeOcean test-attributes
2023-11-17 00:56:49 +01:00
kkoehn
122580b220
ProFormA: refactor filename-gather-method
...
Co-authored-by: Sebastian Serth <MrSerth@users.noreply.github.com >
2023-11-17 00:56:49 +01:00
Karol
3f8f4cee5b
update converters and im-/exporters to accommodate for changes in proforma gem
2023-11-17 00:56:49 +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
8c1cede705
Hide action name for Index and Show routes
2023-11-09 09:15:39 +01:00
Sebastian Serth
cf5d7ffd1f
Revert "Log terminated_by_client
to Sentry"
...
This reverts commits 3ad94653
and c6461f6b
2023-11-06 00:29:25 +01:00
Sebastian Serth
4537f2bf75
Allow viewing submissions without corresponding exercise
...
Fixes CODEOCEAN-S7
2023-11-06 00:24:51 +01:00
Sebastian Serth
920f2dcb38
Handle broken pipe socket in SubmissionsController
...
Fixes CODEOCEAN-Y2
2023-11-06 00:16:53 +01:00
Sebastian Serth
2872c04934
Fix exception for WebSocket connection without cookie
...
Fixes CODEOCEAN-YW
2023-11-05 23:57:24 +01:00
Sebastian Serth
d2b2deaf98
Use var
for window-wide variables
...
Otherwise, Turbolinks might cause an issue...
Fixes CODEOCEAN-FRONTEND-H
2023-11-05 23:43:32 +01:00
Sebastian Serth
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
Sebastian Serth
8fc5123bae
Exclusively lock Runners during code executions
...
Previously, the same runner could be used multiple times with different submissions simultaneously. This, however, yielded errors, for example when one submission time oud (causing the running to be deleted) while another submission was still executed.
Admin actions, such as the shell, can be still executed regardless of any other code execution.
Fixes CODEOCEAN-HG
Fixes openHPI/poseidon#423
2023-10-31 12:35:24 +01:00
Sebastian Serth
442337a22b
Fix file listing and download for admin shell
...
`node.parents` is not returning the parent nodes in a fixed order. Hence, we cannot use it but must travers the tree ourselves.
2023-10-31 00:39:06 +01:00
Sebastian Serth
6ba567a903
Add role checks for ProgrammingGroup
...
So far, a programming group is always considered to be a learner. While we could, technically, consider it to be a teacher or an admin if all members have this role, this behaviour might have unintended side effects.
2023-10-31 00:39:06 +01:00
Sebastian Serth
28d9e38fe5
Upgrade to Rails 7.1 and apply new framework defaults
...
* Remove deprecated options from environments
* Remove deprecation warnings for upcoming Rails 7.2
* Dump schema with new defaults
* Remove outdated (and erroneous) data attribute in view
* Resolve a `NoMethodError` for seeds_spec.rb
2023-10-27 16:50:27 +02:00
Sebastian Serth
bbee854002
Allow RfC index action for exercises to be nested
2023-10-23 18:17:42 +02:00
kiragrammel
5ecde8c8bd
Generalize breadcrumbs for nested resources
...
* Make programming groups breadcrumb navigation clickable
2023-10-23 18:17:42 +02:00