Интеграция АСУ «Спрут» с СЭО 3KL (СДО Русский Moodle)
1. Общие принципы интеграции
2. Спецификации интеграции с АСУ «Спрут»
2.1. Версия 1 спецификации интеграции с АСУ «Спрут» (текущая)
2.1.1. Сценарий «Передача пользовательских данных из АСУ «Спрут» в СЭО 3КL»
2.1.2. Сценарий «Передача pdf-документов из АСУ «Спрут» в СЭО 3КL»
2.1.3. Сценарий «Передача оценок из СЭО 3КL в АСУ «Спрут»
2.2. Версия 2 спецификации интеграции с АСУ «Спрут» (планируемая)
2.2.1. Сценарий «Передача пользовательских данных из АСУ «Спрут» в СЭО 3КL»
2.2.2. Сценарий «Передача pdf-документов из АСУ «Спрут» в СЭО 3КL»
2.2.3. Сценарий «Передача оценок из СЭО 3КL в АСУ «Спрут»
2.2.4. Сценарий «Передача данных по курсам из СЭО 3КL в АСУ «Спрут»
2.2.5. Сценарий «Передача данных по категориям курсов из СЭО 3КL в АСУ «Спрут»
3. Настройка интеграции СЭО 3КL с АСУ «Спрут» (версия 1)
3.1. Настройка сценария «Передача пользовательских данных из АСУ «Спрут» в СЭО 3КL»
3.2. Настройка сценария «Передача pdf-документов из АСУ «Спрут» в СЭО 3КL»
3.3. Настройка сценария «Передача оценок из СЭО 3КL в АСУ «Спрут»
3.3.1. Создание настраиваемых полей
3.3.2. Настройка подключения к буферной БД
3.3.3. Настройка Панели обработки прецедентов для выгрузки оценок
3.3.4. Включение выгрузки оценок по расписанию
4. Настройка интеграции СЭО 3КL с АСУ «Спрут» (версия 2)
4.1. Настройка сценария «Передача пользовательских данных из АСУ «Спрут» в СЭО 3КL»
4.2. Настройка сценария «Передача pdf-документов из АСУ «Спрут» в СЭО 3КL»
4.3. Настройка сценария «Передача оценок из СЭО 3КL в АСУ «Спрут»
4.3.1. Создание настраиваемых полей
4.3.2. Настройка подключения к буферной БД
4.3.3. Настройка Панели обработки прецедентов для выгрузки оценок
4.3.4. Настройка Панели обработки прецедентов для выгрузки данных по курсам
4.3.5. Настройка Панели обработки прецедентов для выгрузки данных по категориям курсов
4.3.6. Включение выгрузки оценок по расписанию
5. Примеры и решения
1. Общие принципы интеграции
Данная интеграция позволяет автоматизировать процедуру обмена данными между СЭО 3КL (оценки, курсы и т. п.) и АСУ «Спрут» (данные по студентам, зачетные книжки, ведомости и т. п.). Основной обмен данными происходит через буферную базу данных MS SQL (Рис. 1.1).
Общий алгоритм интеграции:
1) Из АСУ «Спрут» в буферную БД выгружаются данные по учащимся (определенный набор полей пользователей), зарегистрированным в системе (Рис. 1.2).
2) СЭО 3КL по расписанию синхронизируется с внешней БД, забирает из нее данные о новых пользователях и обновляет данные по ранее загруженным (если есть изменения).
3) Учащиеся, по своему логину, зарегистрированному в АСУ «Спрут», входят в СЭО 3КL, в соответствии с учебным планом изучают курсы (=дисциплины), получают оценки за них.
4) Итоговые оценки за дисциплины выгружаются из СЭО 3КL в буферную БД (по расписанию и событию). Критерием выгрузки служит выставление оценки или изменение ранее выставленной.
5) АСУ «Спрут» забирает оценки пользователей из буферной БД, использует их для контроля успеваемости, формирует на их основании соответствующие документы (ведомости, зачетные книжки и т. п.).
6) АСУ «Спрут» по расписанию выгружает сформированные документы по учащимся в формате pdf во внешнее файловое хранилище (Рис. 1.4).
7) В СЭО 3КL, в личном кабинете пользователя, отображаются ссылки на документы пользователя в файловом хранилище (Рис. 1.5).
Интеграция включает следующие независимые сценарии (Табл. 1):
Название сценария | Задействованные плагины (СЭО 3КL) |
Передача пользовательских данных из АСУ «Спрут» в СЭО 3КL | Внешняя база данных» (auth_db) |
Передача pdf-документов из АСУ «Спрут» в СЭО 3КL | Внешние данные (otexternaldata) |
Передача оценок из СЭО 3КL в АСУ «Спрут» |
История обучения (local_learninghistory) — для сбора оценок из курсов Настраиваемые поля для объектов (local_mcov) — для хранения типа итогового контроля Панель обработки прецедентов (local_pprocessing) — для выгрузки данных в буферную базу данных (БД) |
2. Спецификации интеграции с АСУ «Спрут»
2.1. Версия 1 спецификации интеграции с АСУ «Спрут» (текущая)
Данная версия интеграции уже реализована, для ее настройки все готово.
Основным недостатком версии 1 является то, что требуется настраивать и заполнять большое количество дополнительных полей в каждом курсе, по которым СПРУТ сопоставляет оценки из СЭО 3KL со своим учебным планом. Кроме того, требуется выполнять специальную настройку итоговой оценки в каждом курсе для приведения оценки к специальному техническому формату, применяемому в базе данных АСУ «Спрут» (1-5 для экзаменов с оценкой и 6-7 для зачетов).
Этот недостаток устранен в версии 2 спецификации интеграции. В настоящая время продолжается совместная работа по переходу на версию 2.
2.1.1. Сценарий «Передача пользовательских данных из АСУ «Спрут» в СЭО 3КL»
Назначение сценария:
Выгрузка значений полей базы данных АСУ «Спрут» в базу данных СЭО 3КL с использованием буферной БД (таблица данных пользователей).
Требования к БД:
Тип внешней БД — MS SQL. Кодировка внешней базы данных Cyrillic_General_100 или Cyrillic_General.
Условия запуска:
Выгрузка данных из АСУ «Спрут» во внешнюю БД выполняется по расписанию.
Выгрузка новых записей из внешней БД в СЭО 3КL выполняется по расписанию, раз в сутки.
Обновление данных пользователя в СЭО 3КL из внешней БД выполняется по событию авторизации этого пользователя в СЭО 3КL.
Название поля в таблице буферной БД |
Тип | Допустимое значение |
Примечание |
student_login | nvarchar(200) | Валидная utf8 строка в нижнем регистре, соответствующая регулярному выражению [^-\.@_a-z0-9], максимальная длина 100 символов. |
Ключ-идентификатор СЭО 3КL. Поле «Логин» (username) в СЭО 3КL. Уникальное поле.
|
student_firstname | nvarchar(200) | Валидная utf8 строка, максимальная длина 100 символов. | Поле «Имя» (firstname) в СЭО 3КL. |
student_lastname | nvarchar(200) | Валидная utf8 строка, максимальная длина 100 символов. | Поле «Фамилия» (lastname) в СЭО 3КL. |
student_middlename | nvarchar(200) NULL | Валидная utf8 строка, максимальная длина 100 символов. |
Поле «Отчество или второе имя» (middlename) в СЭО 3КL. |
student_fullname | ntext NULL | Cтрока, размером не более 2^30 - 1 (1 073 741 823) байт. |
Поле «ФИО» (profile_field_student_fullname) в СЭО 3КL (кастомное поле типа text). Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
student_dateofbirth | bigint NULL | Метка времени в формате timestamp. |
Поле «Дата рождения» (profile_field_student_dateofbirth) в СЭО 3КL (кастомное поле типа datetime). Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
student_gender | ntext NULL | Строка, размером не более 2^30 - 1 (1 073 741 823) байт. |
Поле «Пол» (profile_field_student_gender) в СЭО 3КL (кастомное поле типа text). Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
student_email | nvarchar(200) | Валидный email (в соответствии с RFC#822 http://www.faqs.org/rfcs/rfc822.html), максимальная длина 100 символов. | Поле «Адрес электронной почты» (email) в СЭО 3КL. |
PIN | nvarchar(510) | Строка, максимальная длина 255 символов. |
Ключ-идентификатор в СПРУТ. Поле «Индивидуальный номер» (idnumber) в СЭО 3КL. Уникальное поле.
|
student_contract_num | ntext NULL | Строка, размером не более 2^30 - 1 (1 073 741 823) байт. |
Поле «№ договора» (profile_field_student_contract_num) в СЭО 3КL (кастомное поле типа text). Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
student_contract_date | bigint NULL | Метка времени в формате timestamp. |
Поле «Дата заключения договора» (profile_field_student_contract_date) в СЭО 3КL (кастомное поле типа datetime). Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
student_numbook | ntext NULL | Строка размером не более 2^30 - 1 (1 073 741 823) байт. |
Поле «№ зачетной книжки» (profile_field_student_numbook) в СЭО 3КL (кастомное поле типа text). Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
student_phonecell | nvarchar(40) NULL | Строка, максимальная длина 20 символов. | Поле «Мобильный телефон» (phone2) в СЭО 3КL. |
student_numgroup | ntext NULL | Строка размером не более 2^30 - 1 (1 073 741 823) байт. |
Поле «Группа» (profile_field_Group) в СЭО 3КL (кастомное поле типа text). Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
student_formob | ntext NULL | Строка размером не более 2^30 - 1 (1 073 741 823) байт. |
Поле «Форма обучения» (profile_field_edu) в СЭО 3КL (кастомное поле типа text). Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
student_direc | ntext NULL | Строка размером не более 2^30 - 1 (1 073 741 823) байт. |
Поле «Направление» (profile_field_student_direc) в СЭО 3КL (кастомное поле типа text). Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
student_prof | ntext NULL | Строка размером не более 2^30 - 1 (1 073 741 823) байт. |
Поле «Профиль» (profile_field_student_prof) в СЭО 3КL (кастомное поле типа text). Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
semestr | tinyint NULL | Целое число от 0 до 255. | Поле «Семестр» (profile_field_semestr) в СЭО 3КL. |
status | ntext NULL | Строка размером не более 2^30 - 1 (1 073 741 823) байт. |
Поле «Статус» (profile_field_status) в СЭО 3КL (кастомное поле типа text). Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
dolg | float NULL | Число с плавающей запятой (точность не более 15 знаков). |
Поле «Финансовая задолженность (руб.)» (profile_field_dolg) в СЭО 3КL (кастомное поле типа text). Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
ak_dolg | smallint NULL | Целое число в диапазоне от -32 768 до 32 767 |
Поле «Академическая задолженность (дисц.)» (profile_field_ak_dolg) в СЭО 3КL (кастомное поле типа text). Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
student_sp | ntext NULL |
Кастомное поле типа text. Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
|
comment | ntext NULL | ||
customfield | ntext NULL |
Описание сценария:
1) Из АСУ «Спрут» во внешнюю БД выгружаются данные полей пользователей (Табл. 3): добавляются новые записи (если значение ключа-идентификатора в таблице не найдено) и обновляются записи, данные в которых изменились.
PIN | student_contract_num | student_contract_date | student_email | student_fullname | student_firstname | student_lastname | student_middlename | student_dateofbirth | student_gender | student_phonecell | customfield | comment | student_login | student_numbook | student_numgroup | student_direc | student_prof | student_formob | status | dolg | Semestr | ak_dolg | student_sp |
3 | 11-96 | 1686787200 | test1@test.ru | Кузнецова Наталия Юрьевна | Наталия | Кузнецова | Юрьевна | 290131200 | жен. | 82221234560 | 10500, 52500 | 11-96 | 11-96 | М-2 | 0605 Бухгалтерский учёт и аудит | Банковское дело | Очно-заочная | Студент | 52500 | 6 | 5 | ||
4 | 22-96 | 1686787200 | test2@test.ru | Бакатина Татьяна Александровна | Татьяна | Бакатина | Александровна | 277603200 | жен. | 82221234561 | 10500, 62000 | 22-96 | 22-96 | Неизвестная | 0605 Бухгалтерский учёт и аудит | Банковское дело | Очно-заочная | Студент | 62000 | 6 | 3 | ||
7 | 15-96/1 | 1686787200 | test3@test.ru | Тодосиева Татьяна Андреевна | Татьяна | Тодосиева | Андреевна | 303004800 | жен. | 82221234562 | 10500, 62000 | 15-96/1 | 15-96/1 | М-2 | 0605 Бухгалтерский учёт и аудит | Банковское дело | Очно-заочная | Студент | 62000 | 6 | 4 | ||
9 | 17-96 | 1686787200 | test4@test.ru | Тришкина Ольга Ивановна | Ольга | Тришкина | Ивановна | 283996800 | жен. | 82221234563 | 1400, 7900 | 17-96 | 17-96 | М-2 | 0611 Менеджмент организации | Банковское дело | Очная | Студент | 7900 | 6 | |||
11 | 19-96 | 1686787200 | test5@test.ru | Трунова Владислава Игоревна | Владислава | Трунова | Игоревна | 232934400 | жен. | 82221234564 | 10500, 62000 | 19-96 | 19-96 | М-2 | 0605 Бухгалтерский учёт и аудит | Банковское дело | Очно-заочная | Студент | 62000 | 6 | 3 | ||
12 | 20-96 | 1686787200 | test6@test.ru | Тулупов Александр Сергеевич | Александр | Тулупов | Сергеевич | 285465600 | муж. | 82221234565 | 10500, 62000 | 20-96 | 20-96 | М-2 | 0605 Бухгалтерский учёт и аудит | Банковское дело | Очно-заочная | Студент | 62000 | 6 | 3 | ||
13 | 21-96 | 1686787200 | test7@test.ru | Чекменева Елена Вениаминовна | Елена | Чекменева | Вениаминовна | 1686787200 | жен. | 82221234566 | 10500, 62000 | 21-96 | 21-96 | М-2 | 0605 Бухгалтерский учёт и аудит | Банковское дело | Очно-заочная | Студент | 62000 | 6 | 2 | ||
15 | 23-96 | 915148800 | test8@test.ru | Ахмеджанова Нелли Шамильевна | Нелли | Ахмеджанова | Шамильевна | 296092800 | жен. | 10500, 10500 | 23-96 | 23-96 | Неизвестная | 0605 Бухгалтерский учёт и аудит | Банковское дело | Очно-заочная | Студент | 10500 | 6 | 7 |
2) СЭО 3КL с настроенной периодичностью синхронизируется с внешней БД и, в случае появления в там новых записей, информация по новым пользователям добавляется в базу данных среды электронного обучения. Поиск и проверка выполняются по значению ключа-идентификатора. Сопоставление полей внешней БД и БД СЭО 3КL происходит на основании настроек плагина «Внешняя база данных» (auth_db). Обновление данных по ранее добавленным в В СЭО 3КL пользователям на этом этапе не выполняется.
3) В СЭО 3КL авторизуется пользователь, еще ни разу не заходивший в систему, но данные по которому синхронизированы. Пользователь применяет сценарий восстановления пароля в СЭО 3КL по логину (значение поля student_login таблицы данных пользователей во внешней БД), система генерирует временный пароль и высылает на электронную почту пользователя ссылку на страницу создания пароля.
4) В СЭО 3КL входит пользователь, у которого уже есть пара логин/пароль. В момент авторизации происходит обновление полей пользователя в СЭО 3КL, если его данные во внешней БД изменились.
Запрос на создание таблицы:
CREATE TABLE [dbo].[student] (
[student_login] nvarchar(100) NOT NULL,
[student_firstname] nvarchar(100) NOT NULL,
[student_lastname] nvarchar(100) NOT NULL,
[student_middlename] nvarchar(100) NULL,
[student_fullname] ntext NULL,
[student_dateofbirth] bigint NULL,
[student_gender] ntext NULL,
[student_email] nvarchar(100) NOT NULL,
[PIN] nvarchar(255) NOT NULL,
[student_contract_num] ntext NULL,
[student_contract_date] bigint NULL,
[student_numbook] ntext NULL,
[student_phonecell] nvarchar(20) NULL,
[student_numgroup] ntext NULL,
[student_formob] ntext NULL,
[student_direc] ntext NULL,
[student_prof] ntext NULL,
[semestr] tinyint NULL,
[status] ntext NULL,
[dolg] float NULL,
[ak_dolg] smallint NULL,
[student_sp] ntext NULL,
[comment] ntext NULL,
[customfield] ntext NULL
);
ALTER TABLE [dbo].[student] ADD PRIMARY KEY ([student_login]);
CREATE UNIQUE INDEX [student_PIN] ON [dbo].[student] ([PIN]);
2.1.2. Сценарий «Передача pdf-документов из АСУ «Спрут» в СЭО 3КL»
Назначение сценария:
Доступ учащихся из личного кабинета пользователя СЭО 3КL к документам, сформированным в АСУ «Спрут».
Тип контента и протокол передачи:
Файлы в формате pdf по протоколу WebDAV.
Условия запуска:
Выгрузка из АСУ «Спрут» во внешнее файловое хранилище документов по учащимся выполняется по расписанию, еженедельно.
Название документа | Пример внешнего вида |
Учебная карточка | |
Зачетная книжка | |
Академическая задолженность | |
Электронный журнал | |
Контроль оплаты | |
Квитанция на оплату | Форма ПД-4 |
Описание сценария:
1) На стороне СПРУТ происходит генерация необходимых документов, сгенерированные документы помещаются в папку внешнего хранилища (в тематические подпапки «Оплата обучения» и «Ход и результаты обучения»), где название папки = индивидуальному номеру пользователя (idnumber) в СЭО 3KL (Рис. 2.1.2.а).
Если данные студента изменились, ранее сохраненные документы автоматически заменяются актуальными.
2) В личном кабинете пользователя СЭО 3КL, в блоке «Внешние данные», доступны ссылки на документы, выгруженные АСУ «Спрут» в папку внешнего хранилища (Рис. 2.1.2.б) или соответствующее сообщение, если никаких файлов в папке нет.
2.1.3. Сценарий «Передача оценок из СЭО 3КL в АСУ «Спрут»
Назначение сценария:
Выгрузка данных по оценкам (значения итоговых оценок за курс и служебных полей) из СЭО 3КL в базу данных АСУ «Спрут» с использованием буферной БД (таблица оценок).
Требования к БД:
Тип внешней БД — MS SQL. Кодировка внешней базы данных Cyrillic_General_100 или Cyrillic_General.
Условия запуска:
Выгрузка данных по оценкам из СЭО 3КL во внешнюю БД выполняется:
- по расписанию, раз в сутки, в процессе отработки регулярной задачи «Ежедневная обработка прецедентов» (выгрузка всех данных);
- по событию «Изменена история оценки» (создание или обновление записи в таблице).
Выгрузка данных из внешней БД в АСУ «Спрут» выполняется по расписанию.
Название поля в таблице буферной БД | Тип | Допустимое значение | Пример | Примечание |
id | int, автоинкрементное поле, primary key | |||
markCode | float | Число с плавающей запятой в диапазоне от 0 до 100. | 75, 75.25, 75.00025 |
Выгружается оценка в процентах от 0 до 100, на стороне СПРУТ интерпретируется в соответствии со справочником СПРУТ. Выгружаемое значение оценки зависит от настроек, выполненных в СЭО 3KL!
|
MarkDate | datetime2 NULL | Дата в формате YYYY-mm-dd H:i:s. | 2022-03-05 00:00:00 |
Поле «Время получения оценки за курс» (finalgradetimestamp) в СЭО 3КL. Поле «Дата выставления оценки» в АСУ «Спрут». |
PIN | int | Целое число, диапазон от -2 147 483 648 до 2 147 483 647. | 54784 |
Поле «Индивидуальный номер» (idnumber) в СЭО 3КL. Поле профиля пользователя СЭО 3КL, которое соответствует идентификатору пользователя в системе СПРУТ (какое поле профиля выгружается в СПРУТ в качестве идентификатора пользователя). Уникальное поле.
|
idKurs | int | Целое число, диапазон от -2 147 483 648 до 2 147 483 647. | 10 |
Поле «Идентификатор курса» (courseid) в СЭО 3КL. В текущей версии интеграции в СПРУТ не используется. |
DateVig | datetime2 NULL | Дата в формате YYYY-mm-dd H:i:s. | 2022-03-05 00:00:00 |
Поле «Дата выгрузки из СЭО 3КL» в АСУ «Спрут». Метка времени, соответствующая моменту выгрузки данных. Генерируется на стороне СЭО 3КL непосредственно во время выгрузки оценки. |
subjCode | int | Целое число больше нуля. Числовой идентификатор дисциплины согласно справочнику СПРУТа. | 77 |
Поле «Код дисциплины» (course_mcov_pub_listsubject) в СЭО 3КL (настраиваемое поле курса). Числовой идентификатор дисциплины согласно справочнику АСУ «Спрут». Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
markTypeCode | int | Целое число больше нуля. | 4 |
Поле «Тип испытания» (course_mcov_pub_coursecontroltype) в СЭО 3КL (настраиваемое поле курса). Тип испытания (цифровое обозначение (код) испытания (экзамен, зачет и т. п.)) согласно справочнику АСУ «Спрут». Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
Lesson | int | Целое число больше нуля. | 45 |
Поле «Номер (порядковый номер зачета)» (course_mcov_pub_lesson) в СЭО 3КL (настраиваемое поле курса). Поле «Порядковый номер испытания по дисциплине» в АСУ «Спрут». Например, если во втором семестре проводится первый зачет по иностранному языку, то номер = 1. Если в третьем семестре второй зачет по иностранному языку, то его номер = 2. Если в четвёртом семестре не зачет, а экзамен, то номер = 1. Имя поля в СЭО 3КL может быть иным (задаётся настройками).
|
Описание сценария:
1) СЭО 3КL выгружает (по расписанию или по событию) во внешнюю БД значения оценок пользователей за курс и служебных полей, необходимых для корректной обработки на стороне СПРУТ этих оценок (Табл. 6). Идентификация записей во внешней базе данных выполняется по составному ключу вида «Идентификатор пользователя (поле PIN) + Идентификатор курса» (idKurs):
- если составной ключ не найден - в базе данных создается новая запись;
- если запись уже есть в таблице - обновляются значения изменившихся полей.
id | subjCode | markTypeCode | markCode | MarkDate | PIN | idKurs | DateVig | Lesson |
4198 | 8 | 2 | 6 | 2023-07-05 00:00:00 | 5 | 81 | 2023-07-05 00:00:00 | 1 |
4313 | 8 | 2 | 6 | 2023-07-05 00:00:00 | 123 | 81 | 2023-07-05 00:00:00 | 1 |
4645 | 8 | 2 | 6 | 2023-07-05 00:00:00 | 22 | 81 | 2023-07-05 00:00:00 | 1 |
2) АСУ «Спрут» с настроенной периодичностью загружает из буферной БД данные по оценкам.
3) В случае, если оценка удаляется из СЭО 3КL, оценка удаляется и из буферной БД. Решение необходимости сохранения или удаления данной оценки из своей базы данных АСУ «Спрут» принимает самостоятельно.
Запрос на создание таблицы:
CREATE TABLE [dbo].[studentMark] (
[id] int NOT NULL IDENTITY PRIMARY KEY,
[SubjCode] int NOT NULL,
[MarkTypeCode] int NOT NULL,
[MarkCode] nvarchar(100) NOT NULL,
[MarkDate] datetime2 NULL,
[PIN] int NOT NULL,
[idKurs] int NOT NULL,
[DateVig] datetime2 NULL,
[Lesson] int NOT NULL
);
CREATE UNIQUE INDEX [studentMark_PIN_idKurs] ON [dbo].[studentMark] ([PIN], [idKurs]);
2.2. Версия 2 спецификации интеграции с АСУ «Спрут» (планируемая)
Версия 2 исправляет основной недостаток версии 1 — необходимость заполнять дополнительные поля в каждом курсе. Для этого добавлены сценарии для передачи списка категорий курсов и курсов из СЭО 3KL в АСУ «Спрут». Благодаря этому появится возможность организовать выбор соответствия дисциплин и курсов прямо в пользовательском интерфейсе АСУ «Спрут». Когда в АСУ «Спрут» будет информация о соответствии курсов СЭО 3KL и дисциплин учебного плана, поля subjCodemark, TypeCode и Lesson в интеграционной таблице становятся избыточными и их не нужно будет вносить (и, впоследствии, заполнять) в дополнительные поля описания курса на стороне СЭО 3КL.
Помимо этого, версия 2 спецификации интеграции позволяет использовать функции «буквы» для более удобной и гибкой настройки приведения итоговых оценок за курс к шкалам «1-5» или «зачет/незачет»: предполагается автоматическая конвертация принятых обозначений «неуд/уд/хор/отл» или «зачет/незачет» на принятый в АСУ СПРУТ технический формат (числа от 1 до 7) с помощью функции автозамены*.
____________________________________
* — функция будет реализована в ближайших версиях СЭО 3KL.
2.2.1. Сценарий «Передача пользовательских данных из АСУ «Спрут» в СЭО 3КL»
Соответствует аналогичному сценарию версии 1.
2.2.2. Сценарий «Передача pdf-документов из АСУ «Спрут» в СЭО 3КL»
Соответствует аналогичному сценарию версии 1.
2.2.3. Сценарий «Передача оценок из СЭО 3КL в АСУ «Спрут»
Назначение сценария:
Выгрузка данных по оценкам (значения итоговых оценок за курс и служебных полей) из СЭО 3КL в базу данных АСУ «Спрут» с использованием буферной БД (таблица оценок).
Требования к БД:
Тип внешней БД — MS SQL. Кодировка внешней базы данных Cyrillic_General_100 или Cyrillic_General.
Условия запуска:
Выгрузка данных по оценкам из СЭО 3КL во внешнюю БД выполняется:
- по расписанию, раз в сутки, в процессе отработки регулярной задачи «Ежедневная обработка прецедентов» (выгрузка всех данных);
- по событию «Изменена история оценки» (создание или обновление записи в таблице).
Выгрузка данных из внешней БД в АСУ СПРУТ выполняется по расписанию.
Название поля в таблице буферной БД | Тип | Допустимое значение | Пример | Примечание |
id | int, автоинкрементное поле, primary key | |||
markCode | float | Число с плавающей запятой в диапазоне от 0 до 100. | 75, 75.25, 75.00025 | Выгружается оценка в процентах от 0 до 100, на стороне СПРУТ интерпретируется в соответствии со справочником СПРУТ. Выгружаемое значение оценки зависит от настроек, выполненных в СЭО 3KL!
|
MarkDate | datetime2 NULL | Дата в формате YYYY-mm-dd H:i:s. | 2022-03-05 00:00:00 |
Поле «Время получения оценки за курс» (finalgradetimestamp) в СЭО 3КL. Поле «Дата выставления оценки» в АСУ «Спрут». |
PIN | int | Целое число, диапазон от -2 147 483 648 до 2 147 483 647 | 54784 |
Поле «Индивидуальный номер» (idnumber) в СЭО 3КL. Поле профиля пользователя СЭО 3КL, которое соответствует идентификатору пользователя в системе СПРУТ (какое поле профиля выгружается в СПРУТ в качестве идентификатора пользователя). Уникальное поле.
|
idKurs | int | Целое число, диапазон от -2 147 483 648 до 2 147 483 647. | 10 | Поле «Идентификатор курса» (courseid) в СЭО 3КL. |
DateVig | datetime2 NULL | Дата в формате YYYY-mm-dd H:i:s. | 2022-03-05 00:00:00 |
Поле «Дата выгрузки из СЭО 3КL» в АСУ «Спрут». Метка времени, соответствующая моменту выгрузки данных. Генерируется на стороне СЭО 3КL непосредственно во время выгрузки оценки. |
Описание сценария:
1) СЭО 3КL выгружает (по расписанию или по событию) во внешнюю БД значения оценок пользователей за курс и служебных полей, необходимых для корректной обработки на стороне СПРУТ этих оценок (Табл. 6). Идентификация записей во внешней базе данных выполняется по составному ключу вида «Идентификатор пользователя (поле PIN) + Идентификатор курса» (idKurs):
- если составной ключ не найден - в базе данных создается новая запись;
- если запись уже есть в таблице - обновляются значения изменившихся полей.
id | markCode | MarkDate | PIN | idKurs | DateVig |
4198 | 6 | 2023-07-05 00:00:00 | 5 | 81 | 2023-07-05 00:00:00 |
4313 | 6 | 2023-07-05 00:00:00 | 123 | 81 | 2023-07-05 00:00:00 |
4645 | 6 | 2023-07-05 00:00:00 | 22 | 81 | 2023-07-05 00:00:00 |
2) АСУ «Спрут» с настроенной периодичностью загружает из буферной БД данные по оценкам.
3) В случае, если оценка удаляется из СЭО 3КL, оценка удаляется и из буферной БД. Решение необходимости сохранения или удаления данной оценки из своей базы данных АСУ «Спрут» принимает самостоятельно.
Запрос на создание таблицы:
CREATE TABLE [dbo].[studentMark] (
[id] int NOT NULL IDENTITY PRIMARY KEY,
[PIN] int NOT NULL,
[idKurs] int NOT NULL,
[MarkCode] nvarchar(100) NOT NULL,
[MarkDate] datetime2 NULL,
[DateVig] datetime2 NULL
);
CREATE UNIQUE INDEX [studentMark_PIN_idKurs] ON [dbo].[studentMark] ([PIN], [idKurs]);
2.2.4. Сценарий «Передача данных по курсам из СЭО 3КL в АСУ «Спрут»
Назначение сценария:
Выгрузка данных по курсам (идентификаторов курсов, названий и служебные полей) из СЭО 3КL в базу данных АСУ «Спрут» с использованием буферной БД (таблица данных по курсам).
Требования к БД:
Тип внешней БД — MS SQL. Кодировка внешней базы данных Cyrillic_General_100 или Cyrillic_General.
Условия запуска:
Выгрузка данных по курсам из СЭО 3КL во внешнюю БД выполняется по расписанию, раз в сутки, в процессе отработки регулярной задачи «Ежедневная обработка прецедентов» (выгрузка всех данных).
Выгрузка данных из внешней БД в АСУ «Спрут» выполняется по расписанию.
Название поля в таблице буферной БД | Тип | Допустимое значение | Пример | Примечание |
id | int, PRIMARY KEY |
Поле «Идентификатор курса СЭО 3KL» (id) в СЭО 3КL. Ключ-идентификатор СЭО 3КL.
|
||
fullname | nvarchar(508) | Строка, максимальная длина 254 символа. | Поле «Полное название курса» (fullname) в СЭО 3КL. | |
shortname | nvarchar(510) | Строка, максимальная длина 255 символов. | Поле «Краткое название курса» (shortname) в СЭО 3КL. | |
idnumber | nvarchar(200) | Строка, максимальная длина 100 символов. |
Поле «Идентификационный номер курса» (idnumber) в СЭО 3КL. Используется для сопоставления курса СЭО 3KL с записями в системах, являющихся внешними для СЭО 3KL и предназначено для хранения уникального кода таких записей. |
|
category | int | Поле «Идентификатор категории курса СЭО 3KL» (category) в СЭО 3КL. | ||
sync_session_status | nvarchar(100) | Строка, максимальная длина 50 символов. | in_progress, completed | Статус последней сессии синхронизации. Генерируется непосредственно во время выгрузки данных. |
sync_session_start_ts | int | Метка времени в формате timestamp. | Дата начала сессии последней синхронизации. Генерируется непосредственно во время выгрузки данных. | |
sync_item_finish_ts | int | Метка времени в формате timestamp. | Дата завершения последней синхронизации объекта. Генерируется непосредственно во время выгрузки данных. | |
sync_item_status | nvarchar(100) | Строка, максимальная длина 50 символов. | actual, outdated | Статус записи. Генерируется непосредственно во время выгрузки данных. |
Описание сценария:
1) СЭО 3КL выгружает во внешнюю БД данные по курсам. Идентификация записей во внешней базе данных выполняется по ключу «Идентификатор курса СЭО 3KL» (id).
- если ключ не найден - в базе данных создается новая запись;
- если запись уже есть в таблице - обновляются значения изменившихся полей.
2) АСУ «Спрут» с настроенной периодичностью загружает из буферной БД данные по курсам.
Запрос на создание таблицы:
CREATE TABLE [dbo].[3kl_courses] (
[id] int NOT NULL PRIMARY KEY,
[fullname] nvarchar(254) NOT NULL,
[shortname] nvarchar(255) NOT NULL,
[idnumber] nvarchar(100) NOT NULL,
[category] int NOT NULL,
[sync_session_status] nvarchar(50) NOT NULL,
[sync_session_start_ts] int NOT NULL,
[sync_item_finish_ts] int NOT NULL,
[sync_item_status] nvarchar(50) NOT NULL
);
CREATE UNIQUE INDEX [3kl_courses_shortname] ON [dbo].[3kl_courses] ([shortname]);
2.2.5. Сценарий «Передача данных по категориям курсов из СЭО 3КL в АСУ «Спрут»
Назначение сценария:
Выгрузка данных по категориям курсов (идентификаторов категорий курсов, их названий и служебные полей) из СЭО 3КL в базу данных АСУ СПРУТ с использованием буферной БД (таблица данных по категориям курсов).
Требования к БД:
Тип внешней БД — MS SQL. Кодировка внешней базы данных Cyrillic_General_100 или Cyrillic_General.
Условия запуска:
Выгрузка данных по категориям курсам из СЭО 3КL во внешнюю БД выполняется по расписанию, раз в сутки, в процессе отработки регулярной задачи «Ежедневная обработка прецедентов» (выгрузка всех данных).
Выгрузка данных из внешней БД в АСУ СПРУТ выполняется по расписанию.
Название поля в таблице буферной БД | Тип | Допустимое значение | Пример | Примечание |
id | int, PRIMARY KEY | Целое число, диапазон от -2 147 483 648 до 2 147 483 647 | 3 |
Поле «Идентификатор категории курсов СЭО 3KL» (id) в СЭО 3КL. Ключ-идентификатор СЭО 3КL.
|
name | nvarchar(510) | Строка, максимальная длина 255 символа. | Информационные системы и технологии | Поле «Название категории» (name) в СЭО 3КL. |
idnumber | nvarchar(200) | Строка, максимальная длина 100 символов. | 34 |
Поле «Идентификационный номер категории» (idnumber) в СЭО 3КL. Используется для сопоставления категории курса СЭО 3KL с записями в системах, являющихся внешними для СЭО 3KL и предназначено для хранения уникального кода таких записей. |
path | nvarchar(510) | строка, максимальная длина 255 символов | /5/6 |
Поле «Идентификатор категории курса СЭО 3KL» (path) в СЭО 3КL. путь до категории в дереве категорий вида /parentid/categoryid |
sync_session_status | nvarchar(100) | Строка, максимальная длина 50 символов. | in_progress, completed | Статус последней сессии синхронизации. Генерируется непосредственно во время выгрузки данных. |
sync_session_start_ts | int | Метка времени в формате timestamp. | Дата начала сессии последней синхронизации. Генерируется непосредственно во время выгрузки данных. | |
sync_item_finish_ts | int | Метка времени в формате timestamp. | Дата завершения последней синхронизации объекта. Генерируется непосредственно во время выгрузки данных. | |
sync_item_status | nvarchar(100) | Строка, максимальная длина 50 символов. | actual, outdated | Статус записи. Генерируется непосредственно во время выгрузки данных. |
Описание сценария:
1) СЭО 3КL выгружает во внешнюю БД данные по категориям курсов. Идентификация записей во внешней базе данных выполняется по ключу «Идентификатор категории курса СЭО 3KL» (id).
- если ключ не найден - в базе данных создается новая запись;
- если запись уже есть в таблице - обновляются значения изменившихся полей.
2) АСУ «Спрут» с настроенной периодичностью загружает из буферной БД данные по категориям курсам.
Запрос на создание таблицы:
CRE ATE TABLE [dbo].[3kl_course_categories] (
[id] int NOT NULL,
[name] nvarchar(255) NOT NULL,
[idnumber] nvarchar(100) NULL,
[path] nvarchar(255) NOT NULL,
[sync_session_status] nvarchar(50) NOT NULL,
[sync_session_start_ts] int NOT NULL,
[sync_item_finish_ts] int NOT NULL,
[sync_item_status] nvarchar(50) NOT NULL
);
ALT ER TABLE [dbo].[3kl_course_categories] ADD PRIMARY KEY ([id]);
3. Настройка интеграции СЭО 3КL с АСУ «Спрут» (версия 1)требуются права администратора
Важно! Неосторожные действия полного администратора могут повредить систему и контент таким образом, что исправление последствий вмешательства выйдет за рамки гарантийной технической поддержки. Для безопасного изменения глобальных настроек мы рекомендуем выбрать набор требуемых опций по данной инструкции и обратиться в техническую поддержку с заявкой на конфигурирование системы.
Подробная информация в статье «Полный административный доступ».
Реквизиты, необходимые для настройки интеграции (на стороне СЭО 3КL):
Подключение к внешней БД
- Адрес сервера БД
- Название БД
- Имя пользователя БД
- Пароль к БД
- Название таблицы данных пользователей
- Название таблицы оценок
Подключение к файловому хранилищу
- Адрес файлового хранилища СПРУТ
- Имя пользователя для подключения к файловому хранилищу СПРУТ
- Пароль к файловому хранилищу СПРУТ
3.1. Настройка сценария «Передача пользовательских данных из АСУ «Спрут» в СЭО 3КL»
• плагин аутентификации «Внешняя база данных» (auth_db);
• планировщик cron;
• задача «Задача синхронизации пользователей» (\auth_db\task\sync_users) Планировщика задач включена и настроена на регулярное выполнение.
1) На странице настроек плагина аутентификации «Внешняя база данных» (Администрирование->Плагины->Аутентификация->Внешняя база данных) установить следующие параметры (Рис. 3.1.1.):
Сервер баз данных = Адрес сервера БД
База данных = mssqlnative
Кавычки как в Sybase = Нет
Название базы данных = Название БД
Пользователь базы данных = Имя пользователя БД
Пароль = Пароль к БД
Таблица = Название таблицы данных пользователей
Поле логина = student_login
Формат пароля = Внутренний
Кодировка внешней базы данных = utf-8
При удалении пользователя во внешнем источнике = Сохранить внутреннюю учетную запись
Обновить пользователей = Нет
2) В разделе «Сопоставление данных» на странице настроек плагина аутентификации «Внешняя база данных» установить следующие соответствия полей (Табл. 11):
Поле | Значение |
Сопоставление данных (Имя) | student_firstname |
Обновление локальной учетной записи (Имя) | При каждом входе |
Обновление внешней учетной записи (Имя) | Никогда |
Блокировка значения (Имя) | Заблокировано |
Сопоставление данных (Фамилия) | student_lastname |
Обновление локальной учетной записи (Фамилия) | При каждом входе |
Обновление внешней учетной записи (Фамилия) | Никогда |
Блокировка значения (Фамилия) | Заблокировано |
Сопоставление данных (Адрес электронной почты) | student_email |
Обновление локальной учетной записи (Адрес электронной почты) | При каждом входе |
Обновление внешней учетной записи (Адрес электронной почты) | Никогда |
Блокировка значения (Адрес электронной почты) | Заблокировано |
Сопоставление данных (Индивидуальный номер) | pin |
Обновление локальной учетной записи (Индивидуальный номер) | При каждом входе |
Обновление внешней учетной записи (Индивидуальный номер) | Никогда |
Блокировка значения (Индивидуальный номер) | Заблокировано |
Сопоставление данных (Мобильный телефон) | student_phonecell |
Обновление локальной учетной записи (Мобильный телефон) | При каждом входе |
Обновление внешней учетной записи (Мобильный телефон) | Никогда |
Блокировка значения (Мобильный телефон) | Заблокировано |
Сопоставление данных (Отчество или второе имя) | student_middlename |
Обновление локальной учетной записи (Отчество или второе имя) | При каждом входе |
Обновление внешней учетной записи (Отчество или второе имя) | Никогда |
Блокировка значения (Отчество или второе имя) | Заблокировано |
Сопоставление данных (Группа) | student_numgroup |
Обновление локальной учетной записи (Группа) | При каждом входе |
Обновление внешней учетной записи (Группа) | Никогда |
Блокировка значения (Группа) | Заблокировано |
Сопоставление данных (Форма обучения) | student_formob |
Обновление локальной учетной записи (Форма обучения) | При каждом входе |
Обновление внешней учетной записи (Форма обучения) | Никогда |
Блокировка значения (Форма обучения) | Заблокировано |
Сопоставление данных (Финансовая задолженность (руб.)) | dolg |
Обновление локальной учетной записи (Финансовая задолженность (руб.)) | При каждом входе |
Обновление внешней учетной записи (Финансовая задолженность (руб.)) | Никогда |
Блокировка значения (Финансовая задолженность (руб.)) | Заблокировано |
Сопоставление данных (Академическая задолженность (дисц.)) | ak_dolg |
Обновление локальной учетной записи (Академическая задолженность (дисц.)) | При каждом входе |
Обновление внешней учетной записи (Академическая задолженность (дисц.)) | Никогда |
Блокировка значения (Академическая задолженность (дисц.)) | Заблокировано |
Сопоставление данных (ФИО) | student_fullname |
Обновление локальной учетной записи (ФИО) | При каждом входе |
Обновление внешней учетной записи (ФИО) | Никогда |
Блокировка значения (ФИО) | Заблокировано |
Сопоставление данных (Дата рождения) | student_dateofbirth |
Обновление локальной учетной записи (Дата рождения) | При каждом входе |
Обновление внешней учетной записи (Дата рождения) | Никогда |
Блокировка значения (Дата рождения) | Заблокировано |
Сопоставление данных (Пол) | student_gender |
Обновление локальной учетной записи (Пол) | При каждом входе |
Обновление внешней учетной записи (Пол) | Никогда |
Блокировка значения (Пол) | Заблокировано |
Сопоставление данных (Направление) | student_direc |
Обновление локальной учетной записи (Направление) | При каждом входе |
Обновление внешней учетной записи (Направление) | Никогда |
Блокировка значения (Направление) | Заблокировано |
Сопоставление данных (Профиль) | student_prof |
Обновление локальной учетной записи (Профиль) | При каждом входе |
Обновление внешней учетной записи (Профиль) | Никогда |
Блокировка значения (Профиль) | Заблокировано |
Сопоставление данных (Семестр) | semestr |
Обновление локальной учетной записи (Семестр) | При каждом входе |
Обновление внешней учетной записи (Семестр) | Никогда |
Блокировка значения (Семестр) | Заблокировано |
Сопоставление данных (Статус) | status |
Обновление локальной учетной записи (Статус) | При каждом входе |
Обновление внешней учетной записи (Статус) | Никогда |
Блокировка значения (Статус) | Заблокировано |
Сопоставление данных (№ договора) | student_contract_num |
Обновление локальной учетной записи (№ договора) | При каждом входе |
Обновление внешней учетной записи (№ договора) | Никогда |
Блокировка значения (№ договора) | Заблокировано |
Сопоставление данных ( Дата заключения договора) | student_contract_date |
Обновление локальной учетной записи ( Дата заключения договора) | При каждом входе |
Обновление внешней учетной записи ( Дата заключения договора) | Никогда |
Блокировка значения ( Дата заключения договора) | Заблокировано |
Сопоставление данных (№ зачетной книжки) | student_numbook |
Обновление локальной учетной записи (№ зачетной книжки) | При каждом входе |
Обновление внешней учетной записи (№ зачетной книжки) | Никогда |
Блокировка значения (№ зачетной книжки) | Заблокировано |
Для остальных полей раздела оставить настройки по умолчанию.
3) Убедиться, что в Планировщике задач (Администрирование->Сервер->Задачи->Планировщик задач) включено и настроено ежедневное выполнение задачи «Задача синхронизации пользователей» (\auth_db\task\sync_users) (Рис. 3.1.2, Рис. 3.1.3).
3.2. Настройка сценария «Передача pdf-документов из «Спрут» в СЭО 3КL»
1) На странице «Настройки по умолчанию для страницы «Личный кабинет» (Администрирование->Внешний вид->Настройки по умолчанию для страницы «Личный кабинет») добавить блок «Внешние данные» (Рис. 3.2.1).
2) На добавленном блоке нажать кнопку «Управление контентом». На открывшейся странице настроек в поле «Тип контента» выбрать «Файлы по протоколу WebDAV»и нажать «Применить».
3) В открывшемся разделе «Конфигурация» заполнить поля настроек (Рис. 3.2.2):
Базовый url сервера = https://webdav.yandex.ru
Имя пользователя для подключения = Имя пользователя для подключения к файловому хранилищу СПРУТ
Пароль для подключения = Пароль к файловому хранилищу СПРУТ
Путь до директории, содержимое которой требуется отобразить = /sprut/{user.idnumber}/Ход и результаты обучения
Mustache-шаблон :
{{#items}}
{{/items}}
{{/has_items}}
{{^has_items}}
{{/has_items}}
4) Повторить действия 1)-2) и создать еще один блок «Внешние данные».
5) В открывшемся разделе «Конфигурация» заполнить поля настроек:
Базовый url сервера = https://webdav.yandex.ru
Имя пользователя для подключения = Имя пользователя для подключения к файловому хранилищу СПРУТ
Пароль для подключения = Пароль к файловому хранилищу СПРУТ
Путь до директории, содержимое которой требуется отобразить = /sprut/{user.idnumber}/Оплата обучения/
Mustache-шаблон :
{{#items}}
{{/items}}
{{/has_items}}
{{^has_items}}
{{/has_items}}
6) После сохранения настроек, добавленные блоки будут доступны в личном кабинете для всех пользователей СЭО 3КL (Рис. 3.2.3).
3.3. Настройка сценария «Передача оценок из СЭО 3КL в АСУ «Спрут»
• включены и корректно настроены планировщик cron и плагины «История обучения» (local_learninghistory), «Панель обработки прецедентов» (local_pprocessing), «Настраиваемые поля для объектов» (local_mcov);
• созданы необходимые настраиваемые поля курсов и заполнены в соответствии со справочником СПРУТ;
• задача «Ежедневная обработка прецедентов» (\local_pprocessing\task\daily) включена в Планировщике задач и настроена на регулярное исполнение.
Настройка сценария состоит из следующих этапов:
- создание настраиваемых полей;
- настройка подключения к буферной БД;
- настройка Панели обработки прецедентов для выгрузки оценок;
- включение выгрузки оценок по расписанию.
3.3.1. Создание настраиваемых полей
1) В поле «Курсы. Конфигурация настраиваемых полей» (Администрирование->Плагины->Локальные плагины->Настраиваемые поля->) необходимо вставить нижеприведенный yaml-код (Рис. 3.3.1.а):
class: coursecontroltype: type: text label: Тип испытания lesson: type: text label: Номер (номер семестра) subjcode: type: text label: Код дисциплины submit: type: submit label: Сохранить
2) Перейти в курс и убедиться, что на странице «Курс «Название курса». Редактирование настраиваемых полей» (Управление курсом->«Курс «Название курса». Редактирование настраиваемых полей») появились добавленные поля (Рис. 3.3.1.б, Рис. 3.3.1.в).
3.3.2. Настройка подключения к буферной БД
1) Перейти на страницу «Управление подключениями к внешним БД» (Администрирование->Управление подключениями к внешним БД) и создать новое подключение, используя реквизиты подключения к внешней БД (Рис.3.3.2.а).
2) Нажав на ссылку «Проверить подключение», появившуюся в интерфейсе сохраненного подключения, протестировать корректность заданных настроек (Рис. 3.3.2.б).
В случае, если подключение было настроено правильно, отобразится соответствующее сообщение об этом (Рис. 3.3.2.в).
3.3.3. Настройка Панели обработки прецедентов для выгрузки оценок
1) В разделе настроек «Выгрузка оценок во внешнюю базу данных» Панели обработки прецедентов (Администрирование->Плагины->Локальные плагины->Панель обработки прецедентов) определить следующие параметры (Рис. 3.3.3.а):
Опция «Включить экспорт оценок во внешнюю базу данных» - установлена
Соединение с базой данных = ваше настроенное подключение
Имя таблицы = название таблицы данных пользователей
Какие оценки выгружать? = За курсы
Формат оценки для экспорта = Значение
Формат времени выставления оценки = YYYY-MM-DD
Формат времени выгрузки оценок = YYYY-MM-DD.
2) После сохранения настроек, установленных на первом шаге, в разделе «Выгрузка оценок во внешнюю базу данных» становятся доступны поля для идентификации и сопоставления данных. Необходимо установить следующие соответствия (Табл. 12):
Поле | Значение | Примечание |
Какие оценки выгружать? | За курсы | |
За какие модули выгружать оценки? | За все модули | |
Идентификатор пользователя | Ваше поле профиля пользователя в СЭО 3КL, соответствующее идентификатору пользователя в системе СПРУТ | |
Поле идентификатора пользователя | PIN | |
Идентификатор элемента курса | Не связывать поле | |
Поле идентификатора элемента курса | SubjCode | |
Идентификатор курса | Идентификатор курса | |
Поле идентификатора курса | idKurs | |
Сопоставление данных (Идентификатор курса) | idKurs | |
Сопоставление данных (Оценка за курс) | MarkCode | |
Сопоставление данных (Время получения оценки за курс) | MarkDate | |
Сопоставление данных (Идентификатор элемента курса) | Не выгружать | |
Сопоставление данных (поле профиля пользователя СЭО 3КL, которое соотвествует идентификатору пользователя в вашей АСУ «Спрут») | PIN | |
Сопоставление данных (Время экспорта оценки) | DateVig | |
Сопоставление данных (Код дисциплины) | SubjCode | |
Сопоставление данных (Тип испытания) | MarkTypeCode | |
Сопоставление данных (Номер (номер семестра)) | Lesson |
Для остальных полей использовать значение «Не выгружать» или установленное по умолчанию ( Рис. 3.3.3.б).
3.3.4. Включение выгрузки оценок по расписанию
В разделе настроек «Выгрузка существующих оценок во внешнюю базу данных по расписанию» Панели обработки прецедентов (Администрирование->Плагины->Локальные плагины->Панель обработки прецедентов) установить опцию «Включить выгрузку существующих оценок по расписанию» (Рис. 3.3.4.а).
Выгрузка оценок в СПРУТ будет выполняться по задаче «Ежедневная обработка прецедентов» (\local_pprocessing\task\daily\local_pprocessing\task\daily) планировщика задач (Администрирование->Сервер->Задачи->Планировщик задач) (Рис. 3.3.4.б).
Перейти к настройкам и изменить время выполнения задачи можно нажав на иконку в строке таблицы Планировщика задач (Рис. 3.3.4.в).
+в таблицу оценок для в2 добавить еще два поля: оценка в формате оценка (здесь: в данной версии синхронизация не используется, поле добавлено на перспективу), оценка в формате шкала ( здесь: такие-то рекомендованные значения).
+сценарий с подписками, чтобы можно было управлять подписками на курсы СЭО 3КL через плагин «Подписка по внешней БД»
4. Настройка интеграции СЭО 3КL с АСУ «Спрут» (версия 2)требуются права администратора
Реквизиты, необходимые для настройки интеграции (на стороне СЭО 3КL):
Подключение к внешней БД
- Адрес сервера БД
- Название БД
- Имя пользователя БД
- Пароль к БД
- Название таблицы данных пользователей
- Название таблицы оценок
Подключение к файловому хранилищу
- Адрес файлового хранилища СПРУТ
- Имя пользователя для подключения к файловому хранилищу СПРУТ
- Пароль к файловому хранилищу СПРУТ
4.1. Настройка сценария «Передача пользовательских данных из АСУ «Спрут» в СЭО 3КL»
4.2. Настройка сценария «Передача pdf-документов из «Спрут» в СЭО 3КL»
4.3. Настройка сценария «Передача оценок из СЭО 3КL в АСУ «Спрут»
• включены и корректно настроены планировщик cron и плагины «История обучения» (local_learninghistory), «Панель обработки прецедентов» (local_pprocessing), «Настраиваемые поля для объектов» (local_mcov);
• созданы необходимые настраиваемые поля курсов и заполнены в соответствии со справочником СПРУТ;
• задача «Ежедневная обработка прецедентов» (\local_pprocessing\task\daily) включена в Планировщике задач и настроена на регулярное исполнение.
Настройка сценария состоит из следующих этапов:
- создание настраиваемых полей;
- настройка подключения к буферной БД;
- настройка Панели обработки прецедентов для выгрузки оценок;
- настройка Панели обработки прецедентов для выгрузки данных по курсам;
- настройка Панели обработки прецедентов для выгрузки данных по категориям курсов;
- включение выгрузки оценок по расписанию.