Skip to content

Commit b065741

Browse files
committed
Release 5.2-r1
1 parent 3c8d18e commit b065741

4 files changed

Lines changed: 83 additions & 11 deletions

File tree

.camp/listing.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# camp listing manifest — descriptive content for your plugin's page.
2+
# Edit freely and commit; camp ingests this file at each tagged release.
3+
# Schema: https://camp-registry.org/schema/listing.schema.json
4+
name: qtype_fileresponse
5+
summary: File Response is a Moodle question type that provides some additional functions compared to the essay question type, which can as well be used to prompt for files in a question setting.
6+
description: |
7+
**qtype_fileresponse** is a Moodle question type plugin that enables students to submit one or more files as their response to a quiz question.
8+
It is designed for assessments where answers are provided as uploaded documents, images, spreadsheets, source code, or other file types rather
9+
than text entered directly into the quiz. Unlike the standard **Essay** question type, **qtype_fileresponse** allows the file picker and available
10+
file repositories to be restricted on a per-question basis when required.
11+
12+
### Features
13+
- Allows attachment downloads to be enabled or disabled on a per-question basis.
14+
- Allows file repositories to be enabled or disabled on a per-question basis, controlling where students can select files from.
15+
- Includes an option to prevent **"Save as…"** operating system dialogs that could allow participants to browse the file system or
16+
open executables using the keyboard menu key, bypassing the suppressed mouse context menu. This is particularly useful when running
17+
quizzes in **Safe Exam Browser (SEB)**.
18+
19+
### Typical Use Cases
20+
- Any quiz question that requires students to produce and upload a file as their answer.
21+
- Uploading programming assignments, source code files, spreadsheets, presentations, or design documents.
22+
- Secure file-based assessments conducted in **Safe Exam Browser (SEB)**, where additional restrictions on file access are required.
23+
24+
labels:
25+
# Required disclosure labels — pick all that apply (RFC §4.7):
26+
# fully-free | freemium | paid-service | external-account
27+
# donation-supported | commercial-support-available
28+
- fully-free
29+
# screenshots:
30+
# - path: .camp/screenshots/overview.png
31+
# caption: Main view
32+
links:
33+
# docs: https://…
34+
issues: https://github.com/bfh/moodle-qtype_fileresponse/issues

.gitattributes

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Keep development files out of camp distribution ZIPs (git archive semantics)
2+
.github export-ignore
3+
.gitattributes export-ignore
4+
.gitignore export-ignore
5+
.camp export-ignore
6+
tests export-ignore
7+
node_modules export-ignore

.github/workflows/moodle-ci.yml

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,37 +8,68 @@ jobs:
88

99
services:
1010
postgres:
11-
image: postgres:15
11+
image: postgres:17
1212
env:
1313
POSTGRES_USER: 'postgres'
1414
POSTGRES_HOST_AUTH_METHOD: 'trust'
1515
ports:
1616
- 5432:5432
1717
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3
1818
mariadb:
19-
image: mariadb:10.11
19+
image: mariadb:11.8
2020
env:
21-
MYSQL_USER: 'root'
22-
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
23-
MYSQL_CHARACTER_SET_SERVER: "utf8mb4"
24-
MYSQL_COLLATION_SERVER: "utf8mb4_unicode_ci"
21+
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: "1"
22+
MARIADB_CHARACTER_SET_SERVER: utf8mb4
23+
MARIADB_COLLATION_SERVER: utf8mb4_unicode_ci
2524
ports:
2625
- 3306:3306
27-
options: --health-cmd="mysqladmin ping" --health-interval 10s --health-timeout 5s --health-retries 3
26+
options: --health-cmd="mariadb-admin ping" --health-interval 10s --health-timeout 5s --health-retries 3
2827

2928
strategy:
3029
fail-fast: false
3130
matrix:
3231
include:
3332
- php: 8.4
34-
moodle-branch: MOODLE_501_STABLE
33+
moodle-branch: main
34+
database: pgsql
35+
plugin-ci: 4
36+
- php: 8.4
37+
moodle-branch: main
38+
database: mariadb
39+
plugin-ci: 4
40+
- php: 8.4
41+
moodle-branch: MOODLE_502_STABLE
3542
database: pgsql
3643
plugin-ci: 4
44+
- php: 8.4
45+
moodle-branch: MOODLE_502_STABLE
46+
database: mariadb
47+
plugin-ci: 4
3748
- php: 8.4
3849
moodle-branch: MOODLE_501_STABLE
50+
database: pgsql
51+
plugin-ci: 4
52+
- php: 8.4
53+
moodle-branch: main
3954
database: mariadb
4055
plugin-ci: 4
4156
- php: 8.3
57+
moodle-branch: main
58+
database: pgsql
59+
plugin-ci: 4
60+
- php: 8.3
61+
moodle-branch: MOODLE_502_STABLE
62+
database: mariadb
63+
plugin-ci: 4
64+
- php: 8.3
65+
moodle-branch: MOODLE_502_STABLE
66+
database: pgsql
67+
plugin-ci: 4
68+
- php: 8.3
69+
moodle-branch: MOODLE_502_STABLE
70+
database: mariadb
71+
plugin-ci: 4
72+
- php: 8.2
4273
moodle-branch: MOODLE_501_STABLE
4374
database: pgsql
4475
plugin-ci: 4

version.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@
2323
*/
2424
defined('MOODLE_INTERNAL') || die();
2525

26-
$plugin->version = 2025121800;
26+
$plugin->version = 2026072900;
2727
$plugin->requires = 2017110800;
2828
$plugin->cron = 0;
2929
$plugin->component = 'qtype_fileresponse';
30-
$plugin->supported = [400, 501];
30+
$plugin->supported = [400, 502];
3131
$plugin->maturity = MATURITY_STABLE;
32-
$plugin->release = 'v5.1-r1';
32+
$plugin->release = 'v5.2-r1';

0 commit comments

Comments
 (0)