Skip to content

Commit 5b2f8bc

Browse files
Barb CutlerBarb Cutler
authored andcommitted
Merge remote-tracking branch 'origin/main' into self-account-creation
2 parents c628d0a + c14d7a4 commit 5b2f8bc

File tree

86 files changed

+1248
-246
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+1248
-246
lines changed

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ end
77

88
gem 'wdm', '>= 0.1.1' if Gem.win_platform?
99

10-
gem "webrick", "~> 1.8"
10+
gem "webrick", "~> 1.9"
1111

1212
gem 'html-proofer', "~> 3.19.4"
1313

Gemfile.lock

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ GEM
4040
faraday-net_http (3.1.1)
4141
net-http
4242
ffi (1.17.0-arm64-darwin)
43+
ffi (1.17.0-x64-mingw-ucrt)
4344
ffi (1.17.0-x86_64-linux-gnu)
4445
forwardable-extended (2.6.0)
4546
gemoji (4.1.0)
@@ -219,7 +220,7 @@ GEM
219220
gemoji (>= 3, < 5)
220221
html-pipeline (~> 2.2)
221222
jekyll (>= 3.0, < 5.0)
222-
json (2.7.2)
223+
json (2.13.0)
223224
kramdown (2.4.0)
224225
rexml
225226
kramdown-parser-gfm (1.1.0)
@@ -240,6 +241,8 @@ GEM
240241
uri
241242
nokogiri (1.16.7-arm64-darwin)
242243
racc (~> 1.4)
244+
nokogiri (1.16.7-x64-mingw-ucrt)
245+
racc (~> 1.4)
243246
nokogiri (1.16.7-x86_64-linux)
244247
racc (~> 1.4)
245248
octokit (4.25.1)
@@ -277,19 +280,22 @@ GEM
277280
concurrent-ruby (~> 1.0)
278281
unicode-display_width (1.8.0)
279282
uri (0.13.0)
280-
webrick (1.8.1)
283+
wdm (0.2.0)
284+
webrick (1.9.1)
281285
yell (2.2.2)
282286

283287
PLATFORMS
284288
arm64-darwin-22
285289
arm64-darwin-23
290+
x64-mingw-ucrt
286291
x86_64-linux
287292

288293
DEPENDENCIES
289294
github-pages (= 232)
290295
html-proofer (~> 3.19.4)
291296
json
292-
webrick (~> 1.8)
297+
wdm (>= 0.1.1)
298+
webrick (~> 1.9)
293299

294300
BUNDLED WITH
295301
2.5.6

_docs/developer/development_instructions/automated_grading.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,14 @@ number:
118118

119119
---
120120

121-
## Debugging
121+
## Debugging
122122

123123
To debug new features for autograding, it can be helpful to run
124124
`submitty_autograding_shipper.py` and `submitty_autograding_worker.py`
125125
interactively and inspect the output.
126126

127+
_NOTE: A cron job runs hourly to detect autograding shipper outages on the primary machine. To avoid interference during debugging, this job should be disabled before proceeding. See [Capture Cron Error Messages](/sysadmin/installation/system_customization#capture-cron-error-messages) for instructions on disabling the script._
128+
127129
To do this:
128130

129131
1. Stop the daemons (on each server, as appropriate)

_docs/developer/development_instructions/index.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,15 @@ these changes.
250250
missing the hundreds of sample student submissions present in the
251251
full installation.
252252

253+
You can append the `--test_only_grading` flag to the above command to
254+
more closely mimic the version that is on the Cypress CI.
255+
256+
If you only need a certain courses, you can append each course name to
257+
the above command to only create the courses you want.
258+
259+
_NOTE: If you mistype a course, that course will not be created. If you
260+
only have mistyped courses, then no courses gets created._
261+
253262

254263
NOTE: This command will also have to be run twice a year on July 1st and January 1st when the test semester will change from fall to spring or vice versa.
255264

_docs/developer/getting_started/commit_to_PR_from_fork.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,15 @@ The instructions below are for command line use of git.
4040
```
4141
4242
Additionally, find the name of the fork on the fork's page on Github.
43-
The `fork_name` may simply be `Submitty`, or the author may have chosen to another name.
43+
The `fork_name` may simply be `Submitty`, or the author may have chosen another name.
44+
45+
Note: make sure your git credentials are set before pulling or pushing to a forked
46+
repo. You can do this with the following commands. Use the `--global` flag if you
47+
want to set this outside of just Submitty.
48+
```
49+
git config user.name "Your Name"
50+
git config user.email "Your Email"
51+
```
4452
4553
4654
3. Next, make a local branch on your computer in your working repository

_docs/developer/getting_started/make_a_pull_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ Be sure to read the [Suggestions for New Developers](/developer/getting_started/
6868
6969
* `Submission` (includes bulk uploads, teams, late days, notebook gradeables, and other student features),
7070
* `Autograding` (includes router, container/docker),
71-
* `Forum`,
71+
* `Forum` (Includes Live Chat),
7272
* `Notifications` (includes email and grade inquiries),
7373
* `TAGrading` (includes PDF annotation, peer grading),
7474
* `InstructorUI` (includes course and gradeable configuration),

_docs/developer/getting_started/project_ideas.md

Lines changed: 82 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,21 @@ redirect_from:
55
- /developer/project_ideas
66
---
77

8-
[comment]: <> Submitty has been a participating organization of
9-
[comment]: <> [Google Summer of Code](https://summerofcode.withgoogle.com/)
10-
[comment]: <> for five successful seasons.
11-
12-
We are thrilled to announce that Submitty has been accepted to [Google
13-
Summer of Code (GSoC) 2024](https://summerofcode.withgoogle.com/).
14-
See [Submitty GSoC Application &
15-
Reports](/developer/google_summer_of_code/index) for more information
16-
about the application process and to read reports from Submitty GSoC
17-
contributors in past summers.
18-
19-
[comment]: <> We have applied for selection for
20-
[comment]: <> Summer 2024 and our Project Ideas list below has been updated. The
21-
[comment]: <> organizations selected for Summer 2024 Google Summer of Code will be
22-
[comment]: <> announced in late February.
23-
24-
[comment]: <> _NOTE: The organizations selected for Summer 2023 Google Summer of
25-
[comment]: <> Code will be announced in late February. The instructions below
26-
[comment]: <> are from 2022 and will be updated if Submitty is accepted!_
278

9+
[comment]: <> We are thrilled to announce that Submitty has been accepted to [Google
10+
[comment]: <> Summer of Code (GSoC) 20XX](https://summerofcode.withgoogle.com/).
11+
[comment]: <> See [Submitty GSoC Application &
12+
[comment]: <> Reports](/developer/google_summer_of_code/index) for more information
13+
[comment]: <> about the application process and to read reports from Submitty GSoC
14+
[comment]: <> contributors in past summers.
15+
16+
[comment]: <> Submitty has been a participating organization of [Google Summer of
17+
[comment]: <> Code](https://summerofcode.withgoogle.com/) for six successful
18+
[comment]: <> seasons. [We have applied for selection for Summer 20XX](/developer/google_summer_of_code/index)
19+
[comment]: <> and our
20+
[comment]: <> Project Ideas list below has been updated. The organizations selected
21+
[comment]: <> for Summer 20XX Google Summer of Code will be announced in late
22+
[comment]: <> February.
2823

2924
The project ideas listed below target a variety of different topics
3025
and require different levels of prior experience. The scope of these
@@ -42,7 +37,43 @@ developers.
4237
&nbsp;
4338

4439

45-
1. **Expand Testing of the Manual/TA Rubric Grading Interface**
40+
1. **Interactive User Interfaces With Vue.js**
41+
42+
Submitty primarily uses server-side rendering via Twig. jQuery is
43+
used extensively throughout the site to add interactivity, but it
44+
is insufficient for the most complex pages. Instead, we think
45+
Vue.js is a better path forward for pages such as the TA grading
46+
interface, discussion forum, office hours queue, and rainbow grades
47+
customization interface. The goal of this project is to explore
48+
how we can add and improve interactivity to specific pages and
49+
support future development efforts involving the use of Vue.js
50+
within Submitty's codebase.
51+
52+
_Expected Outcomes_: This project is flexible in both scope and size.
53+
A successful proposal should include detailed information about the
54+
specific pages and components to be converted, including time estimates
55+
for the proposed conversion projects and common core logic improvements.
56+
Participants will gain a better understanding of the challenges involved
57+
in introducing new technologies to a large existing codebase, gain
58+
experience architecting a key part of a large project, and grow their
59+
knowledge of modern web frameworks.
60+
61+
[Ongoing Work to Incorporate Vue.js](https://github.com/Submitty/Submitty/pulls?q=is%3Apr+vue+is%3Aclosed+)
62+
[Open Issues related to Vue.js](https://github.com/Submitty/Submitty/issues?q=is%3Aissue%20state%3Aopen%20vue%20)
63+
64+
_Skills & Experience Required_: Moderate to advanced programming
65+
skills, preferably with experience using modern client-side web
66+
frameworks.
67+
68+
_Possible Mentors_: William Allen, Shail Patel, Chris Reed, Barb Cutler
69+
_GSoC Project Size_: 175 or 350 hours
70+
_Difficulty Level_: medium to challenging
71+
72+
&nbsp;
73+
74+
75+
76+
2. **Expand Testing of the Manual/TA Rubric Grading Interface**
4677

4778
[Overview of Rubric Grading Interface](/grader/rubric_grading/index)
4879

@@ -52,7 +83,11 @@ developers.
5283
tested by automated unit and end-to-end (Cypress) regression testing.
5384

5485
[Open Issues related to TA Grading](https://github.com/Submitty/Submitty/issues?q=is%3Aopen+is%3Aissue+label%3A%22TA+Grading+%2F+TA+UI%22)
55-
[Open Issues related to Sample Data](https://github.com/Submitty/Submitty/issues?q=is%3Aopen+is%3Aissue+label%3A%22Sample+Data%22)
86+
[Open Issues related to Sample Data](https://github.com/Submitty/Submitty/issues?q=is%3Aopen+is%3Aissue+label%3A%22Sample+Data%22)
87+
[Related Prior GSoC Project: Cameron Peterson](/developer/google_summer_of_code/2023_Cameron_Peterson)
88+
[Related Prior GSoC Project: Rahul Vishwakarma](/developer/google_summer_of_code/2024_Rahul_Vishwakarma)
89+
90+
_Note: This project may be combined with the previous project idea._
5691

5792
_Expected Outcomes_: The primary goals for this project include the
5893
expansion of our automated testing of the TA Grading pages and to
@@ -68,20 +103,18 @@ developers.
68103
teaching assistant with grading experience design will be
69104
beneficial.
70105

71-
_Possible Mentors_: William Allen, Nia Heermance, Barb Cutler
72-
73-
_GSoC Project Size_: 90 or 175 hours
74-
106+
_Possible Mentors_: William Allen, Cameron Peterson, Barb Cutler
107+
_GSoC Project Size_: 90 or 175 hours
75108
_Difficulty Level_: introductory to medium
76109

77110
&nbsp;
78111

79112

80-
2. **Refactor and Performance Improvements for the Manual/TA Rubric Grading Interface**
113+
3. **Refactor and Performance Improvements for the Manual/TA Rubric Grading Interface**
81114

82115
[Overview of Rubric Grading Interface](/grader/rubric_grading/index)
83116

84-
_Note: This project may be combined with the previous project idea._
117+
_Note: This project may be combined with one of the previous project ideas._
85118

86119
The Manual/TA rubric grading interface is elaborate,
87120
highly-featured, and customizable; however, the performance of
@@ -112,16 +145,14 @@ developers.
112145
and and having served as a teaching assistant with grading
113146
experience design is beneficial but not required.
114147

115-
_Possible Mentors_: Nia Heermance, William Allen, Barb Cutler
116-
117-
_GSoC Project Size_: 175 or 350 hours
118-
148+
_Possible Mentors_: William Allen, Barb Cutler
149+
_GSoC Project Size_: 175 or 350 hours
119150
_Difficulty Level_: medium to challenging
120151

121152
&nbsp;
122153

123154

124-
3. **Notebook Builder: UI To Streamline Instructor Configuration of Automated Grading**
155+
4. **Notebook Builder: UI To Streamline Instructor Configuration of Automated Grading**
125156

126157
Our system for automated testing and grading of student work is
127158
very powerful, but the configuration process that instructors must
@@ -147,7 +178,8 @@ developers.
147178
in compiled languages.
148179

149180
[Open Issues related to Autograding](https://github.com/Submitty/Submitty/labels/Autograding)
150-
[Open Issues related to Notebook / Notebook Builder](https://github.com/Submitty/Submitty/issues?q=is%3Aopen+is%3Aissue+label%3A%22Notebook+%2F+Notebook+Builder%22)
181+
[Open Issues related to Notebook / Notebook Builder](https://github.com/Submitty/Submitty/issues?q=is%3Aopen+is%3Aissue+label%3A%22Notebook+%2F+Notebook+Builder%22)
182+
[Related Prior GSoC Project: Sahil Suman](/developer/google_summer_of_code/2024_Sahil_Suman)
151183

152184
_Expected Outcomes_: The primary focus of the project is the
153185
revision and expansion of the Notebook Builder UI to increase the
@@ -165,15 +197,13 @@ developers.
165197
instructor with experience in programming assignment design will be
166198
beneficial but not required.
167199

168-
_Possible Mentors_: Barb Cutler, Chris Reed
169-
170-
_GSoC Project Size_: 90 or 175 or 350 hours
171-
200+
_Possible Mentors_: Barb Cutler, Chris Reed
201+
_GSoC Project Size_: 90 or 175 or 350 hours
172202
_Difficulty Level_: introductory or medium
173203

174204
&nbsp;
175205

176-
4. **Expansion of Examples and Documentation of Intermediate and Advanced Autograding Features**
206+
5. **Expansion of Examples and Documentation of Intermediate and Advanced Autograding Features**
177207

178208
_Note: This project is related to previous project idea but is a distinct project._
179209

@@ -187,7 +217,7 @@ developers.
187217
[Assignment Autograding Configuration Instructions](/instructor/autograding/specification)
188218
[Submitty Autograding Tutorial Examples](https://github.com/Submitty/Tutorial)
189219
[Additional Autograding Examples](https://github.com/Submitty/Submitty/tree/master/more_autograding_examples)
190-
[Prior GSoC Project: Drumil Patel](/developer/google_summer_of_code/2019_DrumilPatel)
220+
[Related Prior GSoC Project: Drumil Patel](/developer/google_summer_of_code/2019_DrumilPatel)
191221

192222
We would like to reduce the learning curve for new instructors and
193223
provide more tutorial examples of autograding for instructors
@@ -202,7 +232,8 @@ developers.
202232
[Open Issues related to Docker Image Autograding](https://github.com/Submitty/Submitty/issues?q=label%3A%22Docker+Container+Autograding%22+)
203233
[Docker Images for Autograding Common Programming Languages](https://github.com/Submitty/DockerImages/tree/main)
204234
[Example Custom Docker Images University ](https://github.com/Submitty/DockerImagesRPI/tree/main/dockerfiles)
205-
[Sample Java Assignments](/instructor/autograding/sample_assignments)
235+
[Sample Java Assignments](/instructor/autograding/sample_assignments)
236+
[Related Prior GSoC Project: Nithish Reddy Banda](/developer/google_summer_of_code/2024_Nithish_Reddy_Banda)
206237

207238
_Expected Outcomes_: The project should begin with a review and
208239
organization of existing sample and tutorial assignments and
@@ -221,16 +252,15 @@ developers.
221252
Having served as a teaching assistant or instructor with experience
222253
in programming assignment design will be beneficial.
223254

224-
_Possible Mentors_: Chris Reed, Barb Cutler
225-
226-
_GSoC Project Size_: 175 or 350 hours
227-
255+
_Possible Mentors_: Shail Patel, Chris Reed, Barb Cutler
256+
_GSoC Project Size_: 175 or 350 hours
228257
_Difficulty Level_: medium to challenging
229258

230259
&nbsp;
231260

232261

233-
5. **AI/ML to Enhance and Steamline Manual / TA Grading**
262+
263+
6. **AI/ML to Enhance and Streamline Manual / TA Grading**
234264

235265
The use of a unified and retroactively editable rubric for
236266
manual/TA grading can ensure consistency when grading large
@@ -285,15 +315,14 @@ developers.
285315
large course with manual grading experience design will be
286316
beneficial.
287317

288-
_Possible Mentors_: Barb Cutler, William Allen, Nia Heermance
289-
290-
_GSoC Project Size_: 175 or 350 hours
291-
318+
_Possible Mentors_: Barb Cutler, William Allen
319+
_GSoC Project Size_: 175 or 350 hours
292320
_Difficulty Level_: medium to challenging
293321

294-
&nbsp;
322+
&nbsp;
295323

296-
6. **Other Topics**
324+
325+
7. **Other Topics**
297326

298327
The Submitty team welcomes GSoC project proposals on other topics
299328
related to items in our GitHub issue tracker. A successful
@@ -307,10 +336,8 @@ developers.
307336
willingness to learn web and database development, and additional
308337
specific skills as appropriate.
309338

310-
_Possible Mentors_: Barb Cutler, Matthew Peveler, Shail Patel, William Allen, Chris Reed, Nia Heermance, Preston Carman
311-
312-
_GSoC Project Size_: 90 or 175 or 350 hours
313-
339+
_Possible Mentors_: Barb Cutler, William Allen, Shail Patel, Cameron Peterson, Chris Reed, Matthew Peveler, Preston Carman
340+
_GSoC Project Size_: 90 or 175 or 350 hours
314341
_Difficulty Level_: introductory to medium to challenging
315342

316343
&nbsp;

_docs/developer/getting_started/vm_install_using_vagrant.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,10 @@ M-Series ARM MacOS machines.*
121121
* You will need:
122122
* [Ruby](https://www.ruby-lang.org/en/downloads)
123123
* [Git](https://git-scm.com/downloads)
124-
* [Vagrant](https://www.vagrantup.com)
124+
* [Vagrant](https://developer.hashicorp.com/vagrant/install)
125125
* *M-SERIES ARM MacOS:* [QEMU](https://www.qemu.org)
126-
* *EVERYONE ELSE:* [VirtualBox](https://www.virtualbox.org/wiki/Download_Old_Builds_6_1)
126+
* *EVERYONE ELSE:* [VirtualBox](https://www.virtualbox.org/wiki/Downloads)
127+
* Ensure VirtualBox version is compatible with Vagrant.
127128

128129

129130
* **MacOS**
@@ -145,8 +146,8 @@ M-Series ARM MacOS machines.*
145146
```
146147
147148
* **Windows**
148-
*You can just go to the respective sites and download the necessary binaries.*
149-
149+
Download the latest Vagrant AMD64 binary for windows.
150+
*As of Vagrant version 2.4.7, Virtualbox 7.1.10 is compatible.*
150151
151152
* **Ubuntu/Debian**
152153

0 commit comments

Comments
 (0)