Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
281 commits
Select commit Hold shift + click to select a range
55fcbc5
Modify the api to fetch test attempts with task id
TinyServal Mar 13, 2024
061f49f
Numbas data management features
TinyServal Mar 20, 2024
d53610a
feat: add Numbas config options to task def backend
satikaj Mar 22, 2024
dade800
Remove foreign key reference and add missing columns to csv file
TinyServal Mar 22, 2024
aa8926e
refactor: simplify Numbas config storage
satikaj Mar 22, 2024
3f19ffa
fix: reset Numbas configs if no zip file has been uploaded
satikaj Mar 23, 2024
54c27ce
feat: change Numbas time delay config to enable incremental delays
satikaj Mar 24, 2024
20d5265
fix: expose enable Numbas test config to all users
satikaj Mar 27, 2024
5d80830
fix: use correct Numbas data path in Numbas api
satikaj Mar 28, 2024
0cc4915
fix: use custom endpoint for Numbas
satikaj Apr 9, 2024
27253bd
fix: consolidate numbas api endpoints
TinyServal Apr 9, 2024
ff5ff62
fix: refactor numbas config reset logic
TinyServal Apr 15, 2024
89a6615
fix: add missing numbas config fields to fix unit tests
TinyServal Apr 15, 2024
ee992f4
fix: use correct endpoint url and include exam result for numbas test…
satikaj Apr 30, 2024
a7c4006
fix: use test attempt entity in file instead
satikaj Apr 30, 2024
b4d3f9d
fix: temporarily disable auth and fix test attempt lookup
TinyServal May 4, 2024
e650ef1
refactor: modify test attempt files to match PoC
satikaj May 5, 2024
3f5aa2b
feat: add numbas task comment on test completion
satikaj May 6, 2024
26d75f5
feat: restrict test attempts by limit and comments to when test is co…
satikaj May 6, 2024
d9f640f
refactor: rewrite test_attempt api and generalize scorm variables
TinyServal May 11, 2024
8047f4c
chore: address rubocop errors
TinyServal May 14, 2024
3539d95
fix: add allow review property to task def related files
satikaj May 14, 2024
0812e20
fix: post scorm comment after test attempt termination
TinyServal May 14, 2024
b498924
fix: rename entity file and add update fields in task spreadsheet
TinyServal May 14, 2024
d71ea14
fix: enforce attempt limit
TinyServal May 14, 2024
910eecd
fix: expose scorm configs to student
satikaj May 15, 2024
2a04a06
fix: use project and task def to fix issue where task is undefined on…
satikaj Jun 1, 2024
8c9a68b
feat: enable reviewing, passing, and deleting test attempts
satikaj Jun 1, 2024
c5055b8
feat: enable students to request extra scorm attempt
satikaj Jun 5, 2024
1e00d41
test: add sample numbas zip
satikaj Jun 5, 2024
28f3279
fix: calculate attempt number and limit instead of using stored int
satikaj Jun 5, 2024
7d31f7c
feat: add test attempt auth
satikaj Jun 6, 2024
273b62e
refactor: remove attempt number in task comment text
satikaj Jun 11, 2024
3d44ef2
fix: grant same number of extra attempts as scorm limit
satikaj Jun 11, 2024
1240b3f
fix: prevent new attempt if last is incomplete or passed
satikaj Jun 11, 2024
1ae0347
fix: prevent scorm extensions if no attempt limit
satikaj Jun 15, 2024
4255347
fix: check for attempts before accessing properties
satikaj Jun 15, 2024
fce7e75
feat: add attribute to allow file upload before scorm is passed
satikaj Jun 15, 2024
69053ee
fix: change scorm comment text
satikaj Jun 18, 2024
4139690
fix: add scorm bypass to excel file
satikaj Jun 18, 2024
793b734
fix: export task definition to csv
macite Jun 25, 2024
fc1bcfd
fix: limit exposure of nil for task def fields
macite Jun 25, 2024
2e96f7b
test: fix upload requirement checks to watch for json
macite Jun 25, 2024
6731105
chore(release): 8.0.3
macite Jun 25, 2024
fc8134a
feat: create unique token for scorm asset retrieval
satikaj Jun 26, 2024
4d0c10f
fix: ensure unit recode results in file moves
macite Jun 27, 2024
b7e2d46
chore(release): 8.0.4
macite Jun 27, 2024
ab2e7f4
chore: fix minor cop issues
macite Jun 27, 2024
44b6566
fix: ensure new units can have a different main convenor
macite Jun 27, 2024
08b2fdb
test: unit create with main convenor passed in
macite Jun 27, 2024
5d46c99
chore(release): 8.0.5
macite Jun 27, 2024
d31a93a
test: ensure td edit checks upload requirements
macite Jun 28, 2024
61f35ce
fix: ensure upload requirements works in edit
macite Jun 28, 2024
757dd75
chore(release): 8.0.6
macite Jun 28, 2024
2b64bce
fix: remove sync of online students at deakin
macite Jul 1, 2024
cec9c29
chore(release): 8.0.7
macite Jul 1, 2024
9e85c21
feat: provide task to archive pdfs
macite Jul 1, 2024
0782918
chore(release): 8.0.8
macite Jul 1, 2024
c854fc1
test: add scorm unit tests
satikaj Jul 2, 2024
6108b52
fix: check if no old scorm tokens exist
satikaj Jul 2, 2024
3d86d04
refactor: remove stale todo comment
satikaj Jul 2, 2024
c5240d8
fix: validate attempt id
satikaj Jul 2, 2024
5db5f35
fix: reorder columns for csv export
satikaj Jul 2, 2024
08a0090
fix: use unique perms for scorm test retrieval
satikaj Jul 2, 2024
835d2b0
Merge branch 'new/numbas-integration' into 8.0.x
satikaj Jul 3, 2024
52450be
fix: ensure main convenor validation on change only
macite Jul 3, 2024
e740d82
fix: streamline archiving units in maintenance task
macite Jul 3, 2024
eacbac1
fix: remove rollover teaching period
macite Jul 3, 2024
7f3b752
feat: allow new unit code to be provided to rollover
macite Jul 3, 2024
9bdbe0e
chore(release): 8.0.9
macite Jul 3, 2024
6373eee
fix: ensure task definitions render when upload requirements are nil
macite Jul 4, 2024
4359cf2
refactor: correct syntax for rubocop
satikaj Jul 5, 2024
a49fc8c
fix: turn it in enabled property
macite Jul 10, 2024
bb29f84
fix: ensure sidekiq moves to Rails root before task pdf creation
macite Jul 10, 2024
5b8f5d3
fix: ensure turn it in actions only occur when tii enabled
macite Jul 10, 2024
9288fae
Merge branch '8.0.x' of https://github.com/macite/doubtfire-api into …
macite Jul 10, 2024
e3fab0d
fix: ensure logger only logs to stdout in development
macite Jul 10, 2024
58d8281
fix: guard access of pwd incase pwd is invalid
macite Jul 10, 2024
32b1d9f
fix: ensure failure to send email is handled
macite Jul 10, 2024
460681a
chore(release): 8.0.10
macite Jul 10, 2024
210c3f4
test: add tests for multi unit sync and connection errors in sync
macite Jul 12, 2024
d4808b0
feat: ensure deakin sync retries failed connections
macite Jul 12, 2024
6aea5c1
Merge branch '8.0.x' of https://github.com/macite/doubtfire-api into …
macite Jul 12, 2024
439669a
chore(release): 8.0.11
macite Jul 12, 2024
2fcb477
quality: ensure tii enabled always through class
macite Jul 15, 2024
e01ed19
feat: allow register webhooks to be controlled via config
macite Jul 15, 2024
61f2f49
chore(release): 8.0.12
macite Jul 15, 2024
ebbacb9
fix: check need to register webhooks in tii action
macite Jul 15, 2024
4dae884
fix: ensure tii module looks for appropriate user
macite Jul 15, 2024
0bf29eb
feat: add env var to configure log to stdout
macite Jul 15, 2024
6b08013
feat: check that old tii submissions upload when eula accepted
macite Jul 16, 2024
57acea2
Merge branch '8.0.x' of https://github.com/macite/doubtfire-api into …
macite Jul 16, 2024
03e9214
fix: limit tii action log to 25 entries
macite Jul 16, 2024
be21763
fix: ensure webhook test will register hooks
macite Jul 16, 2024
789fbad
fix: tii action retry resets retries
macite Jul 16, 2024
1eadf31
Merge branch '8.0.x' of https://github.com/macite/doubtfire-api into …
macite Jul 16, 2024
4f3979b
fix: merge student records for deakin students
macite Jul 17, 2024
6c74d7d
chore(release): 8.0.13
macite Jul 17, 2024
de3ec39
fix: add logging info to debug hmac issues
macite Jul 18, 2024
7d47eda
feat: allow logging to stdout using env var
macite Jul 18, 2024
cc2f674
chore: fix test to use assert_not and ensure actions are destroyed
macite Jul 18, 2024
72b4c69
chore: switch bundle exec to rails in shell scripts
macite Jul 18, 2024
15ca645
chore: update portfolio autogen shell script
macite Jul 18, 2024
68a7248
chore(release): 8.0.14
macite Jul 18, 2024
a249662
fix: correct turn it in hmac calculation
macite Jul 20, 2024
1b2a43c
fix: ensure pax header is not included in tex on 2nd pass
macite Jul 22, 2024
38a6922
chore(release): 8.0.15
macite Jul 22, 2024
232dcaa
fix: ensure comment added on task pdf convert fail
macite Jul 22, 2024
b70aeac
chore(release): 8.0.16
macite Jul 22, 2024
b868799
quality: address minor cop issue with automated error messages
macite Jul 22, 2024
4e38e6c
test: fix issues with file locn and tii features
macite Jul 22, 2024
908c803
chore(release): 8.0.17
macite Jul 22, 2024
752f26e
test: groups can be locked
macite Jul 24, 2024
7e9adaa
feat: add ability to manually remove webhooks from rails console
macite Jul 25, 2024
efa6692
fix: ensure tii signing secret is sent as a base64 string
macite Jul 25, 2024
547dbb9
chore(release): 8.0.18
macite Jul 25, 2024
d84856b
fix: remove newlines from signing key base64 encoding
macite Jul 26, 2024
b047e4c
chore: update log level for tii hook debug
macite Jul 26, 2024
166a0ad
quality: add tests for filename in task definitions
macite Jul 26, 2024
cea12e5
fix: ensure accept submission checks number of files
macite Jul 26, 2024
edcd36a
chore(release): 8.0.19
macite Jul 26, 2024
527b810
test: fix tests to conform to new validations
macite Jul 26, 2024
70f095c
fix: webhook registration key check
macite Jul 26, 2024
875b831
chore(release): 8.0.20
macite Jul 29, 2024
6753d80
fix: delay pdf generation to ensure sufficient time for async task to…
macite Jul 30, 2024
3a4eb51
chore(release): 8.0.21
macite Jul 30, 2024
7dfd547
test: task pdf download
macite Aug 1, 2024
33ee3ce
fix: ensure scoop files checks files are a hash
macite Aug 1, 2024
3e0a1ba
fix: add awaiting processing pdf
macite Aug 1, 2024
e3d36c2
fix: only try overseer assessment when overseer enabled
macite Aug 1, 2024
218afb9
fix: change zip of new upload to avoid loss
macite Aug 1, 2024
1e3acd4
feat: add email on accept submission error
macite Aug 1, 2024
8139f41
feat: report high usage on database timeout
macite Aug 1, 2024
758a51d
fix: avoid attempts to read negative size in file stream helper
macite Aug 1, 2024
eb8859b
chore(release): 8.0.22
macite Aug 1, 2024
842f233
fix: remove global error and report failures to admin user for tii
macite Aug 5, 2024
cbec03d
fix: ensure folders are removed when we move files with file helper
macite Aug 5, 2024
7023650
chore(release): 8.0.23
macite Aug 5, 2024
edbacb3
Merge branch '8.0.x' of https://github.com/satikaj/doubtfire-api into…
macite Aug 5, 2024
7de1a8f
quality: remove unused scorm entity
macite Aug 5, 2024
e7a6eed
fix: update auth token to work with scorm and general
macite Aug 8, 2024
02af2cf
test: fix scorm and auth tests with new tokens
macite Aug 9, 2024
8059213
fix: preload unit in test attempt and ensure limit flexibility in val…
macite Aug 9, 2024
73e8211
chore(release): 8.0.24
macite Aug 9, 2024
38abe9e
fix: logging of fail to send message in accept submission
macite Aug 9, 2024
4888e54
Merge branch '8.0.x' of https://github.com/macite/doubtfire-api into …
macite Aug 9, 2024
7d3e4d3
fix: ensure schema has index for auth token type
macite Aug 9, 2024
ccb20dc
fix: remove default from cmi_datamodel in test attempt
macite Aug 9, 2024
bb3590c
fix: ensure test attempt review exception is handled
macite Aug 9, 2024
8b205ed
chore(release): 8.0.25
macite Aug 9, 2024
b77147c
fix: use system timeout command with timeout helper
macite Aug 20, 2024
d170b31
chore(release): 8.0.26
macite Aug 26, 2024
312f22e
fix: correct link to error log mailer and add test
macite Aug 27, 2024
3aed41f
chore(release): 8.0.27
macite Aug 28, 2024
55aa194
fix: ensure that TII can log multiple similarity issues for each task
macite Aug 28, 2024
ef4cba0
chore(release): 8.0.28
macite Aug 28, 2024
ff2686a
fix: correct email reporting of pdf errors in sidekiq
macite Aug 28, 2024
5ed6249
chore(release): 8.0.29
macite Aug 28, 2024
b3861ff
fix: add short delay for accept submission job
macite Aug 29, 2024
eede001
chore(release): 8.0.30
macite Aug 29, 2024
78151b3
fix: ensure sidekiq logs latex errors to stdout
macite Aug 29, 2024
0046562
fix: limit sidekiq concurrency to 1
macite Aug 29, 2024
904ca34
fix: revert delay in sidekiq pdf generation
macite Aug 29, 2024
410e992
chore(release): 8.0.31
macite Aug 29, 2024
7c85aaf
feat: add support for upload of vue components
macite Sep 4, 2024
9b009a5
chore(release): 8.0.32
macite Sep 5, 2024
b0e2321
refactor: use poly assoc for task comments
satikaj Sep 8, 2024
a0c0581
Merge branch '8.0.x' into new/scorm
macite Sep 10, 2024
8fae9c6
fix: correct access to moss and devise secrets
macite Sep 13, 2024
3ec11f5
chore(release): 8.0.33
macite Sep 13, 2024
58b6391
fix: correct error reporting with AAF failure
macite Sep 18, 2024
cd32b06
fix: ensure unicode control characters work in pdf gen
macite Sep 19, 2024
166690f
feat: send latex log on convert failure
macite Sep 21, 2024
ac80fec
fix: migration to fix invalid task upload filenames
macite Sep 21, 2024
6e2926f
chore(release): 8.0.34
macite Sep 21, 2024
0f1992b
fix: update schema with latest commit
macite Sep 21, 2024
491691f
fix: ensure default lsr task def can be updated
macite Sep 23, 2024
7b07e59
chore(release): 8.0.35
macite Sep 23, 2024
4fd4ed3
fix: markdown in ipynb
macite Sep 23, 2024
d750c61
chore(release): 8.0.36
macite Sep 24, 2024
3d24fb2
fix: improve ipynb processing
macite Sep 24, 2024
9815fd2
feat: improve error reporting to send task log details
macite Sep 26, 2024
58b3d52
refactor: optimise task comment update
satikaj Sep 26, 2024
de4b33a
Merge pull request #445 from satikaj/8.0.x
macite Oct 25, 2024
199f0d3
refactor: merge scorm feature migrations
macite Oct 25, 2024
2872fc1
Merge branch '8.0.x' into new/scorm
macite Oct 25, 2024
a71015d
chore: remove reverted versions from change log
macite Oct 25, 2024
e41cad3
fix: revert notebook replacements from file helper
macite Oct 25, 2024
c19e149
fix: enhance substitutions for ipynb
macite Oct 25, 2024
715ccaf
fix: ensure broken aux file does not kill future pdf generation
macite Oct 25, 2024
26ac143
Merge pull request #449 from doubtfire-lms/new/scorm
macite Oct 25, 2024
0e13bbe
chore(release): 8.0.37
macite Oct 25, 2024
ae54a1c
feat: remove old portfolios in maintenance
macite Nov 1, 2024
b45f0fa
fix: ensure task definitions can be created without scorm details
macite Nov 6, 2024
3ff0c5d
chore(release): 8.0.38
macite Nov 6, 2024
d59c6b8
fix: ensure units update plagiarism stats for moss integration
macite Dec 17, 2024
dee040f
feat: add start of new d2l integration feature
macite Dec 17, 2024
178a040
feat: ensure only one d2l mapping per unit
macite Dec 17, 2024
76cb354
feat: ensure only convenor or higher can use d2l details
macite Dec 17, 2024
ccee700
feat: d2l mappings have crud api
macite Dec 17, 2024
b300211
feat: allow oauth login to d2l
macite Dec 18, 2024
e2d0fa7
feat: use api to get login url for d2l
macite Dec 18, 2024
8e3a387
feat: add ability to post grades to d2l
macite Dec 18, 2024
b2691bc
fix: ensure smtp can have no auth
macite Dec 18, 2024
ca85b98
feat: give ability to trigger d2l result post and get results
macite Dec 18, 2024
c80ccf3
fix: allow none or no_auth for smtp authentication options
macite Dec 19, 2024
a17e21a
fix: include grade object id in api
macite Dec 20, 2024
1be09a6
feat: handle multiple d2l grade transfer submissions
macite Jan 13, 2025
5fd31c3
fix: handle missing task or user details in accept submission job
macite Jan 13, 2025
9b71f85
feat: include grade in d2l copy report
macite Jan 13, 2025
97d8241
fix: check for weighted grading in d2l integration
macite Jan 13, 2025
19daa53
fix: redirect to new html5 site
macite Jan 13, 2025
ba447ba
feat: add redirect to success page on oauth success
macite Jan 13, 2025
c1ea118
fix: correct output from d2l csv
macite Jan 13, 2025
bdfa0fc
chore: fix cops for d2l integration
macite Jan 13, 2025
8ada69c
feat: simplified logging of d2l result transfer
macite Jan 13, 2025
d84280f
chore: minor error message text change
macite Jan 13, 2025
603aa4f
test: fix d2l integration tests
macite Jan 20, 2025
8bec4b0
fix: correct issue creating unit folders on destroy
macite Jan 20, 2025
2df2bf4
chore: minor fix for potential time exceeded test issue
macite Jan 20, 2025
58b01fa
chore: fix issue with unit folders from tests
macite Jan 20, 2025
c858f69
docs: add details on env for d2l integration
macite Jan 20, 2025
33a53f7
chore: fix scorm test in case username contains a .
macite Jan 21, 2025
77b68d3
Merge pull request #453 from macite/new/d2lintegration
macite Jan 21, 2025
9a20994
Merge branch '8.0.x' of https://github.com/macite/doubtfire-api into …
macite Jan 21, 2025
6237b2b
Merge branch '8.0.x' of https://github.com/doubtfire-lms/doubtfire-ap…
macite Jan 21, 2025
7e28e4b
chore(release): 8.0.39
macite Jan 22, 2025
00cb85e
feat: email users on D2L grade transfer fail
macite Jan 23, 2025
b45bdf6
test: check mail send on d2l jobs
macite Jan 24, 2025
33944dd
feat: remove stored pdf path and allow move to archive
macite Jan 30, 2025
9b2cf03
feat: add scheduled archive of units
macite Jan 30, 2025
23bd227
feat: auto archive of units is optional
macite Jan 31, 2025
ac2f9c1
test: update scheduled jobs and fix unit tests
macite Jan 31, 2025
996d6cd
test: check unit archive defaults to false
macite Jan 31, 2025
3d5b90c
test: ensure archive config is reset at end of test
macite Jan 31, 2025
5bae82b
Merge pull request #457 from macite/8.0.x
macite Jan 31, 2025
3aa6204
chore(release): 8.0.40
macite Jan 31, 2025
9c32326
feat: add ability to get individual overseer images
macite Mar 6, 2025
6de540b
test: add overseer image api tests
macite Mar 6, 2025
bf113fa
chore(release): 8.0.41
macite Mar 7, 2025
e9161b3
fix: ensure submission history uses archive and moves
macite Mar 10, 2025
f16fdee
fix: remove archive old unit from schedule
macite Mar 10, 2025
378a6c9
chore(release): 8.0.42
macite Mar 10, 2025
4dee4d7
fix: ensure new rollover units are not marked archived
macite Mar 10, 2025
267cf19
feat: add ability to set an institution logo to add to header
macite Mar 19, 2025
ecc2899
Merge branch '8.0.x' of https://github.com/macite/doubtfire-api into …
macite Mar 20, 2025
a46fb7f
Merge branch '8.0.x' of https://github.com/macite/doubtfire-api into …
macite Mar 31, 2025
a988473
test: fix test attempt model checks
macite Apr 4, 2025
27d781d
Fix broken access control vulnerability in settings API
theiris6 May 12, 2025
e5c20cc
Added error handling for settings endpoint
theiris6 May 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .ci-setup/texlive-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ if ! command -v "$TEX_COMPILER" > /dev/null; then

echo "----------------------------------------"
echo "Installing additional texlive packages:"
tlmgr install fontawesome minted fvextra catchfile xstring framed lastpage tcolorbox environ pdfcol tikzfill markdown paralist csvsimple upquote tagpdf
tlmgr install fontawesome luatextra luacode minted fvextra catchfile xstring framed lastpage pdfmanagement-testphase newpax tcolorbox environ pdfcol tikzfill markdown paralist csvsimple gobble upquote tagpdf

echo "----------------------------------------"
echo "Ensuring the newpax package is sufficiently up to date:"
Expand Down
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto eol=lf
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,4 @@ student-work/
.idea/
.byebug_history
coverage/
.vscode
_history
6 changes: 6 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ AllCops:
TargetRubyVersion: 3.1
NewCops: disable

require:
- rubocop-rails
# - rubocop-performance
# - rubocop-minitest
# - rubocop-factory_bot

Style/HashSyntax:
EnforcedShorthandSyntax: never

Expand Down
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"files.eol": "\n"
}
584 changes: 584 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@ group :development, :test do
gem 'listen'
gem 'rails_best_practices'
gem 'rubocop'
gem 'rubocop-factory_bot'
gem 'rubocop-faker'
gem 'rubocop-minitest'
gem 'rubocop-performance'
gem 'rubocop-rails'
gem 'ruby-lsp'
gem 'simplecov', require: false
Expand Down Expand Up @@ -100,6 +103,7 @@ gem 'tca_client', '1.0.4'
# Async jobs
gem 'sidekiq'
gem 'sidekiq-cron'
gem 'sidekiq-unique-jobs'

# Redis for sidekiq, caching, and action cable (eventually)
gem 'redis'
Expand All @@ -109,3 +113,6 @@ gem 'shellwords'

# PDF reader for validating PDF file submissions
gem 'pdf-reader'

# oauth gem for OAuth2 authentication - D2L
gem 'oauth2'
Loading