Programming Taskbook


E-mail:

Пароль:

Регистрация пользователя   Восстановление пароля

 

ЮФУ SMBU

Электронный задачник по программированию

©  М. Э. Абрамян (Южный федеральный университет, Университет МГУ-ППИ в Шэньчжэне), 1998–2024

 

Teacher Pack | Удаленные репозитории | Управление из контрольного центра

PrevNext


Управление репозиторием из контрольного центра преподавателя

Начальная настройка репозитория

Для работы с удаленным репозиторием в версию 3.1 контрольного центра преподавателя PT4Teach (и его варианта PABCTeach для среды PascalABC.NET) включена группа команд «Репозиторий», заменившая удаленную группу «Backup-файлы».

Для начала работы с репозиторием следует его настроить, выполнив команду «Репозиторий | Настроить...». Если для некоторых групп уже настраивались репозитории, то по умолчанию будет предложен последний из использованных путей к репозиторию: имя сайта и (необязательный) каталог для репозиториев, логин и пароль для ftp доступа. Все указанные данные можно изменить в окне «Настройка репозитория», которое появляется при выполнении команды «Репозиторий | Настроить...».

После ввода всех данных необходимо проверить наличие подключения, нажав кнопку «Проверить подключение». При успешном подключении кнопка «ОК» в окне становится доступной. Имя каталога репозитория указывать не требуется, так как оно автоматически определяется по имени группы. Полный путь к каталогу репозитория указывается в нижней части окна «Настройка репозитория».

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

  • 0 — сохраняются только файлы результатов,
  • 1 — кроме файлов результатов сохраняются программы с правильным решением,
  • 2 — сохраняются не только программы с правильным решением, но и все другие варианты программ, кроме тех, которые привели к сообщению об ознакомительном запуске (файлы результатов также сохраняются),
  • 3 — сохраняются и файлы результатов, и все без исключения варианты программ.

После настройки репозитория и ввода в контрольный центр преподавателя данных обо всех учащихся (а также после указания всех дополнительных файлов, которые требуется разместить в рабочих каталогах учащихся, в том числе файлов вариантов и контрольных файлов) следует выполнить команду «Репозиторий | Обновить данные», которая обеспечивает пересылку всех дополнительных файлов в соответствующие каталоги репозитория. Перед этой пересылкой из репозитория удаляются все прежние содержащиеся в нем дополнительные файлы (кроме файлов результатов и файлов преподавателя teacher.txt); таким образом гарантируется, что в репозитории будут содержаться те и только те файлы, которые соответствуют последней настройке группы.

При использовании репозитория сохраняется возможность задания как «общих» дополнительных файлов, предназначенных для всех учащихся группы, так и «специальных» файлов (в том числе особых файлов вариантов), задаваемых только для некоторых учащихся. При этом общие файлы сохраняются в репозитории в единственном экземпляре в особом подкаталоге _data.

Как уже было отмечено, преподаватель может корректировать содержимое подкаталога _data явным образом, подключившись по протоколу ftp к этому каталогу в любом файловом менеджере, в котором предусмотрен доступ к ftp-серверам (например, в менеджере FAR). При загрузке группы в контрольный центр после подобной корректировки будет выведено сообщение о том, что содержимое репозитория отличается от набора дополнительных файлов, связанных с данной группой, и будет предложено обновить настройки группы. При выборе варианта «Да» набор дополнительных файлов для данной группы будет откорректирован в соответствии с актуальным содержимым репозитория (при этом новые файлы из репозитория будут скопированы в каталог преподавателя), при выборе варианта «Нет» содержимое каталога _data репозитория будет восстановлено в соответствии с прежним набором дополнительных файлов.

Некоторые особые виды файлов нельзя размещать в подкаталоге _data. К ним относятся файлы результатов, check-файлы, файлы вариантов (с расширением var), сертификаты доступа access.dat, а также файлы преподавателя teacher.txt, поскольку все подобные файлы должны размещаться в подкаталогах, связанных с конкретными учащимися. Чтобы избежать возможных конфликтов или потерь данных, перечисленные виды файлов никогда не считываются из подкаталога _data репозитория в рабочие каталоги учащихся (даже если они ошибочно размещены в этом подкаталоге).

Работа с сертификатами доступа

Обязательным этапом, необходимым для последующего успешного использования репозитория, является создание сертификатов доступа к нему. Сертификаты содержат всю информацию, необходимую для доступа к репозиторию. Для каждого учащегося генерируется отдельный сертификат, что гарантирует его использование только этим учащимся. Кроме того, в сертификат заносится информация о требуемой среде программирования, что позволяет автоматически настраивать эту среду в рабочем каталоге учащегося (а при ее отсутствии — выбирать другую среду для того же языка программирования).

Данные в сертификате доступа шифруются, однако та информация, которую не требуется скрывать (версия сертификата, имя учащегося, название группы, название среды программирования и время генерации сертификата), приводится в начале сертификата в незашифрованном виде.

Для создания сертификатов в контрольном центре преподавателя предназначена команда «Репозиторий | Создать сертификаты доступа» (если ранее сертификаты уже были созданы, то команда имеет имя «Обновить сертификаты доступа»). При ее выполнении сертификаты (файлы access.dat) создаются в рабочих каталогах учащихся, определенных в контрольном центре преподавателя, и, кроме того, все они помещаются в архивный файл access.zip в каталоге преподавателя, связанном с данной группой (сертификат для каждого учащегося хранится в архивном файле в каталоге, соответствующем данному учащемуся). Дополнительно в архивный файл помещается текстовый файл access.txt с кодами активации сертификатов (в каталоге с именем «=codes=»).

Коды активации предназначены для того, чтобы исключить возможность намеренного или случайного использования «чужих» сертификатов доступа (что может привести к появлению в репозитории «посторонних» результатов, не связанных с работой данного учащегося). Кроме того, наличие подобных кодов затрудняет расшифровку информации, содержащейся в сертификатах. Активацию требуется выполнить единственный раз в каждом рабочем каталоге, в котором предполагается использовать данный сертификат доступа. При вводе правильного кода он сохраняется в настройках рабочего каталога (в файле pt4.ini) и впоследствии автоматически считывается из них. Следует заметить, что при сохранении кода в настройках файла pt4.ini он шифруется, причем таким образом, чтобы простое копирование соответствующей настройки на другой компьютер не позволило восстановить правильный код доступа.

Преподавателю не требуется предпринимать особые действия для задания кодов активации, так как при добавлении нового учащегося в группу с помощью контрольного центра с ним автоматически связывается 6-символьный код активации, состоящий из цифр и латинских букв. Однако в группе меню «Репозиторий» предусмотрена команда «Коды активации для сертификатов», позволяющая просмотреть эти коды и изменить их.

Возможны ситуации, когда преподавателю будет удобнее связать с сертификатами более простые коды активации, задать одинаковые коды для всех учащихся группы или даже отказаться от использования кодов активации. Указанные действия тоже легко выполнить с помощью команды «Коды активации для сертификатов». В связанном с ней окне можно выбрать одну из двух радиокнопок «Использовать различные коды» (выбрана по умолчанию) и «Использовать одинаковый код для всех учащихся»; при выборе второй радиокнопки достаточно указать новый общий код в поле ввода рядом с ней, чтобы связать этот код со всеми учащимися, в том числе и теми, которые будут добавлены в группу впоследствии (можно также указать пустой код активации, при котором активация сертификата будет выполняться автоматически). Возможно и обратное действие: возврат к индивидуальным кодам, причем с помощью кнопки «Обновить коды» можно сгенерировать новые варианты индивидуальных кодов для всех учащихся. В режиме индивидуальных кодов можно также непосредственно редактировать код для любого учащегося; требуется лишь, чтобы код содержал от 0 до 10 символов.

Предусмотрена также команда «Репозиторий | Удалить сертификаты доступа», позволяющая быстро удалить из каталогов учащихся файлы access.dat (например, в ситуации, когда по какой-либо причине требуется временно отказаться от подключения к удаленному репозиторию).

Обновление данных в репозитории

Большинство действий по настройке группы приводит к необходимости обновления как содержимого репозитория, так и сертификатов доступа. Автоматическое обновление приводило бы к слишком частым обращениям к удаленному репозиторию; кроме того, некоторые настройки могут впоследствии оказаться излишними и не будут сохранены в файле группы. Поэтому вместо автоматических действий по обновлению репозитория и сертификатов в контрольном центре использован другой подход. На статусной панели, наряду с уже имеющейся меткой «Модиф.», которая появляется при любой модификации настроек группы, добавлены позиции для меток «Репоз.» и «Сертиф.», которые появляются при модификациях, требующих соответствующих обновлений репозитория или сертификатов. При попытке завершения работы с группой без выполнения данных обновлений выводится запрос на подтверждение завершения работы (или несколько запросов, если заполнено несколько меток), на каждый из которых можно ответить тремя способами: «Да» (сохранить изменения или выполнить обновление), «Нет» (не выполнять обновлений), «Отмена» (отказаться от завершения работы).

Получение результатов

Еще одной командой группы «Репозиторий» является команда «Получить результаты». При любом из вариантов сохранения результатов в репозитории она обеспечивает копирование файлов результатов results.dat (или results.abc) из удаленного репозитория в каталоги учащихся, указанные в контрольном центре, и тем самым дает возможность преподавателю просмотреть из контрольного центра актуальную информацию о выполненных заданиях. Если для репозитория заданы варианты сохранения 1–3, то дополнительно выполняется считывание из репозитория текстов программ с решениями и их расшифровка. Особенности, связанные с хранением и просмотром текстов программ, описываются в разделе «Просмотр и рецензирование учебных программ».

Возможность работы с удаленным репозиторием позволяет применять новый сценарий для работы с контрольным центром преподавателя: если ранее он использовался для явной настройки рабочих каталогов учащихся на сетевых дисках (при условии доступности этих дисков для компьютера, на котором запущен контрольный центр), то теперь преподавателю достаточно задать все настройки в копиях рабочих каталогов учащихся на своем локальном диске, после чего перенести эти настройки в удаленный репозиторий, а также сформировать сертификаты доступа. После этого требуется лишь каким-либо образом передать эти сертификаты учащимся (вместе с кодами активации) для размещения в их рабочих каталогах. Информация, содержащаяся в сертификатах доступа, обеспечит автоматическую настройку этих каталогов, а также позволит регулярно обновлять данные о выполнении заданий. Для получения этих данных преподавателю не потребуется иметь непосредственного доступа к рабочим каталогам: достаточно наличия доступа по ftp-протоколу к удаленному репозиторию.

Если компьютер преподавателя имеет доступ к каталогам учащихся на сетевых дисках, то процесс настройки еще более упрощается, так как при формировании рабочих каталогов на этих дисках в каталоги автоматически копируются сертификаты доступа, поэтому отпадает необходимость в специальных действиях по их передаче учащимся. В такой ситуации надо лишь дополнительно передать учащимся коды активации их сертификатов.


PrevNext

 

Рейтинг@Mail.ru

Разработка сайта:
М. Э. Абрамян, В. Н. Брагилевский

Последнее обновление:
01.01.2024