null

Как разрешить экзамены, ограниченные по времени в tutor (Open edX)

Экзамены, ограниченные по времени, (Timed exams) в последних версиях Open edX должны быть уже разрешены. Разберёмся, что делать если это не так (как правило, в старой или обновленной версии Open edX).

1. Необходимо разрешить проведение испытаний с ограничением по времени.

Идём в studio > страница нужного курса > Расширенные настройки. Ищем опцию и убеждаемся, что значение равно true:

2. Если при этом мы всё равно не можем использовать функцию, скорее всего не включена глобальная фича ENABLE_SPECIAL_EXAMS.

Проверить это можно например в management shell:

tutor local exec -it lms ./manage.py lms shell
# часть вывода пропущена для краткости
>>> from django.conf import settings
>>> settings.FEATURES.get('ENABLE_SPECIAL_EXAMS')
False

Подключать фичи в tutor нужно с помощью самописных плагинов. Для этого переходим в директорию с плагинами:

mkdir -p "$(tutor plugins printroot)"
cd "$(tutor plugins printroot)"

и создаём там файл timed_exam.py следующего содержания:

from tutor import hooks

hooks.Filters.ENV_PATCHES.add_item(
    (
        "common-env-features",
        """
"ENABLE_SPECIAL_EXAMS": true
"""
    )
)

После чего подключаем плагин с сохранением конфига:

tutor plugins list
tutor plugins enable timed_exam
tutor config save

И перезапускаем tutor (очевидно, тут случится небольшой простой Вашей образовательной платформы, будьте внимательны):

tutor local restart

После всего вышеописанного в настройках подраздела в студии должны появиться желанные возможности:

Основная конфигурационная часть взята с форума openedx с небольшими правками от меня.