Синхронизация данных

Настройка синхронизации данных требуется в случае работы с модулем «Студент» (Личный кабинет студента — ЛКС). Для использования модуля «Абитуриент» (Личный кабинет абитуриента — ЛКА) настройка синхронизации данных не требуется.

Перед синхронизацией убедитесь, что версии приложений ТАНДЕМ.Университет и ТАНДЕМ.Интеграция являются одинаковыми, а релизы актуальными.

 

Настройка ТАНДЕМ.Интеграция

Добавление адаптера для связи с личными кабинетами

Более подробная информация по настройке адаптеров находится в руководстве по ТАНДЕМ.Интеграция

Перейдите в меню Система | Настройки | Интеграция | Подсистемы.

Нажмите кнопку [Добавить подсистему].

В открывшемся окне заполните поля:

  • Адрес адаптера подсистемы НСИ – Адрес по которому доступен интеграционный адаптер приложения личных кабинетов.
  • Логин – Указывается в настройках адаптера.
  • Пароль – Указывается в настройках адаптера.
  • Код подсистемы – Уникальный код для идентификации подсистемы в ТАНДЕМ.Интеграция.
  • Наименование подсистемы – Название для отображения в списке подсистем. Обычно указывается понятное название. Например «Тестовый адаптер для личных кабинетов».

Во время настройки ТАНДЕМ.Интеграция попытается автоматически сконфигурировать адаптер и возможно выдаст ошибку:

Адрес http://lk.example.com/adapter не доступен. Вероятно, данная подсистема не поддерживает автоконфигуирование.

Можно её проигнорировать и настраивать дальше. Если при сохранении выдаётся ошибка о недоступности подсистемы, то следует проверить корректность ввода адреса адаптера ЛК, правильность его настройки и доступность для сервера ТАНДЕМ.Интеграция на указанном адресе адаптера ЛК. Если адаптер ЛК не доступен по объективным причинам в данный момент, то адаптер всё равно сохранится после повторного нажатия кнопки [Сохранить].

Настройка адаптера

После добавления адаптера необходимо выставить права на чтение для необходимых справочников на вкладке Права доступа:

На вкладке Подписки включите подписку для необходимых справочников.

Список справочников (потоков) представлен в разделе Взаимодействие с модулями ТАНДЕМ.Университет.

Первичная синхронизация

Для более быстрой загрузки больших объёмов данных предусмотрен механизм импорта данных из файлов. Данный механизм позволяет более быстро провести первичную синхронизацию данных за счёт отсутствия необходимости формирования и расшифровки SOAP-пакетов для сетевого обмена данными между синхронизируемыми приложениями.

ВНИМАНИЕ! Выгрузку и загрузку данных следует выполнять в следующей последовательности:

  1. Выгрузить все необходимые справочники из подсистемы ТАНДЕМ.Университет
  2. Загрузить данные, полученные на шаге п.1 в Интеграционную шину (ТАНДЕМ.Интеграция)
  3. Выгрузить те же справочники из Шины.
  4. Загрузить данные, полученные на шаге п. 3 в Личный кабинет.

Перед первичной синхронизацией необходимо остановить очереди пакетов в ТАНДЕМ.Интеграция и ТАНДЕМ.Университет. Меню Интеграция | Очередь пакетов.

Остановка очереди в ТАНДЕМ.Университет
Остановка очереди в ТАНДЕМ.Интеграция

 

Важно помнить, что при этом отправка новых изменений будет временно приостановлена и будет происходить накопление изменений в очереди пакетов. Как только очередь разблокируют, пакеты будут отправлены в Шину и пересланы подсистемам-подписчикам. Чтобы более свежие данные, поступающие в пакетах из очереди не перетерлись более старыми данными из выгрузки, не рекомендуется возобновлять отправку изменений до окончания синхронизации выгрузками.

ВНИМАНИЕ! Очереди разблокируются автоматически после перезапуска, или обновления приложения. Если процедура синхронизации ещё не завершена, но требуется перезапустить приложения, то необходимо заблокировать очереди пакетов сразу после старта приложения.

Выгрузка данных из ТАНДЕМ.Университет

Необходимо выгрузить справочники из ТАНДЕМ.Университет. Выгрузка справочников осуществляется из меню Интеграция | Справочники НСИ:

В меню выгрузки выберите необходимые справочники . И нажмите кнопку [Выгрузить].

Выгружать справочники желательно порциями, так можно будет загружать часть данных в Шину и ЛК параллельно тому, как выгружаются остальные.

Список необходимых справочников (потоков)

На этот же список нужно настроить подписки на стороне ТАНДЕМ.Интеграция в меню настройки адаптера. Как настраивать адаптер смотрите в Настройка ТАНДЕМ.Интеграция.

Список поддерживаемых потоков с описанием можно найти в разделе Взаимодействие с модулями ТАНДЕМ.Университет.

После окончания генерации файлов их можно будет скачать в том же меню. Для этого необходимо выбрать нужный файл в списке готовых архивов и нажать кнопку [Скачать]:

Загрузка данных в подсистему ТАНДЕМ.Интеграция

Полученный архив необходимо загрузить в ТАНДЕМ.Интеграция. Форма загрузки доступна в меню Интеграция | Справочники НСИ по нажатию ссылки [Загрузить данные справочников из файла]. При этом откроется форма загрузки данных:

Загрузка архива с данными осуществляется посредством выбора соответствующего файла в поле Архив с XML-Файлами (по клику на иконке с открытой папкой справа от поля ввода) и нажатия ссылки [Добавить архив для обработки]. При этом архив будет загружен в рабочую папку на сервере приложения ТАНДЕМ.Интеграция. После завершения загрузки можно будет выбрать этот архив в списке Файлы для загрузки.

Для корректной загрузки данных в систему в случае отсутствия части ссылочных объектов, требуется так же указать подсистему-источник, из которой выгружен архив с данными. Поле Подсистема-источник появится после выбора файла для загрузки. В это поле необходимо указать подсистему ТАНДЕМ.Университет. Запуск процедуры импорта осуществляется по нажатию ссылки [Начать импорт]. При этом откроется диалоговое окно прогресса загрузки. По окончании загрузки будет выдано сообщение об окончании загрузки.

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

Выгрузка данных из ТАНДЕМ.Интеграция

Выгрузка данных из продукта ТАНДЕМ.Интеграция осуществляется аналогично выгрузке из продукта ТАНДЕМ.Университет.

Загрузка данных в ЛК

Архив необходимо загрузить на сервер где установлено приложение личных кабинетов в директорию адаптера для обмена данными с интеграционной шиной.

Обычно, устанавливается рядом с приложением личного кабинета. Например в /var/www/html/nsi-adapter или /var/www/html/lk/nsi-adapter.

Распакуйте содержимое архива в директорию адаптера nsi-adapter/storage/uploads.

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

root:/var/www/html/nsi-adapter# git pull origin master

Для загрузки файлов должна быть установлена утилита xml_split.

Для этого выполните:

sudo apt update
sudo apt install xml-twig-tools

Для начала загрузки файлов выполните:

root:/var/www/html/nsi-adapter# php artisan xml:upload

Можно указать загрузку конкретного файла. Для этого укажите в качестве параметра имя нужного файла:

root:/var/www/html/nsi-adapter# php artisan xml:upload --file=CourseType.xml

Взаимодействие с модулями ТАНДЕМ.Университет

Личный кабинет взаимодействует с другими системами ОУ благодаря интеграционной шине, которая позволяет внедрить единые стандарты интеграции разнородных программных продуктов в единую, согласованную по данным информационную систему Университета.

Перечень используемых интеграционных потоков:

№ ппКод интеграционного потокаКод справочника в БД ЛКНазвание
1AcademicDegreeTypeacademic_degreesУченая степень
2AcademicGroupTypegroupsАкадемическая группа
3AcademicStatusTypeacademic_statusesУченое звание
4AddEventTypeTypetr_journal_add_event_typeТип дополнительных событий журнала
5CompensationTypeTypecompensation_typesВид возмещения затрат
6CourseTypecoursesКурс
7DepartmentTypedepartmentsПодразделение
8DepartmentTypeTypedepartment_typesТип подразделения
9DevelopFormTypedevelop_formsФорма освоения
10DevelopPeriodTypedevelop_periodsСрок освоения
11EducationalProgramTypeeducational_programsНаправление подготовки (образовательная программа)
12EducationLevelsHighSchoolTypeeducation_levels_high_schoolsОбразовательная программа
13EducationYearTypeeducation_yearsУчебный год
14EduLevelTypeedu_levelsУровень образования
15EduPlanBlockTypeedu_plan_blocksБлок учебного плана (версии УП)
16EduPlanRowLoadTypeedu_plan_row_loadsИтоговая нагрузка строки учебного плана по видам нагрузки
17EduPlanRowTermActionTypeedu_plan_row_term_actionsНагрузка строки версии учебного плана в семестре (по формам контрольных мероприятий)
18EduPlanRowTermLoadTypeedu_plan_row_term_loadsНагрузка строки версии учебного плана в семестре (по видам теоретической нагрузки)
19EduPlanRowTermTypeedu_plan_row_termsНагрузка в семестр строки учебного плана
20EduPlanRowTypeedu_plan_rowsСтрока учебного плана
21EduPlanVersionTypeedu_plan_versionsУчебный план (версия)
22EduProgramQualificationTypeedu_program_qualificationsКвалификация профессионального образования
23EduProgramSubjectTypeedu_program_subjectsНаправление подготовки профессионального образования
24EduSpecializationBaseTypeedu_specialization_basesНаправленность высшего профессионального образования
25EmployeeDepartmentHeadTypeemployee_department_headsРуководитель подразделения
26EmployeeForPpsEntryTypeemployee_for_pps_entriesСотрудник для записи в реестре ППС
27EmployeeStatusTypeemployee_statusesСостояние сотрудника
28EmployeeTypeemployeesСотрудник
29EmploymentTypeTypeemployment_typesТип назначения на должность
30EnrEnrollmentExtractTypeenr_enrollment_extractВыписка приказа о зачислении абитуриентов
31EnrOrderTypeenr_ordersПриказ на абитуриентов
32EnrOrderTypeTypeenr_order_typesТип приказа о зачислении
33EppControlActionTypeTypeepp_control_action_typesФорма контроля
34EppGroupTypeTypeepp_group_typesВид потоков
35EppRealEduGroupRowTypeepp_real_edu_group_rowsЗапись обучающегося в потоке
36EppRealEduGroupTypeepp_real_edu_groupsПоток обучающихся
37EppRegistryElementPartFControlActionTypeepp_registry_element_part_f_control_actionsИтоговое контрольное мероприятие (часть версии элемента реестра)
38EppRegistryElementPartTypeepp_registry_element_partsЧасть версии элемента реестра
39EppRegistryStructureTypeepp_registry_structuresСтруктура реестра
40EppStudentWorkPlanElementTypeepp_student_work_plan_elementsМероприятие обучающегося из РУП (МРУП)
41EppYearEducationProcessTypeepp_year_education_processesНачало учебного года
42EppYearPartTypeepp_year_partsЧасть года (в учебном году)
43ExtractStatesTypeextract_statesСостояние выписки
44ForeignLanguageSkillTypeforeign_language_skillsСтепень владения иностранным языком
45ForeignLanguageTypeforeign_languagesИностранный язык
46GradeTypegradesТарифный разряд
47HourlyPaidEmployeeForPpsEntryTypehourly_paid_employee_for_pps_entriesПочасовик для записи в реестре ППС
48HourlyPaidEmployeeTypehourly_paid_employeesСотрудник-почасовик
49HumanAcademicDegreeTypehuman_academic_degreesУченая степень физического лица
50HumanAcademicStatusTypehuman_academic_statusesУченое звание физического лица
51HumanContactDataTypehuman_contact_dataКонтактные данные физического лица
52HumanTypehumansФизическое лицо
53IdentityCardKindTypeidentity_card_kindsВид удостоверения личности
54IdentityCardTypeidentity_cardsУдостоверение личности
55LksStudentPortfolioElementKindTypeportfolio_element_kindsВид достижения
56LksStudentPortfolioElementStatusTypeportfolio_element_statusesСтатус элемента портфолио
57LksStudentPortfolioElementTypeportfolio_elementsЭлемент портфолио студента
58OrderStatesTypeorder_statesСостояние приказа
59OrganizationTypeorganizationsУчреждение
60PersonForeignLanguageTypeperson_foreign_languagesИностранный язык персоны
61PlaceTypeplacesПомещение
62PostTypepostsДолжность
63PpsEntryByEmployeeTypepps_entry_by_employeesЗапись в реестр ППС (на базе сотрудника)
64RealEduGroup2PpsEntryTypereal_edu_group2_pps_entriesППС для потока обучающихся
65RegistryDisciplineTyperegistry_disciplinesЭлемент реестра дисциплин для учебного плана
66ScheduleEventPlaceTypeschedule_event_placesСвязь события с местом
67SessionSlotLinkMarkTypesession_slot_link_marksОценка обучающегося в сессии (ссылка)
68Student2EduPlanBlockTypestudent2_edu_plan_blocksСвязь студента с блоком учебного плана
69StudentCategoryTypestudent_categoriesКатегория обучающегося
70StudentOrderChangeFioExtractTypestudent_order_change_fio_extractsДетальная информация приказа по обучающемуся (о смене ФИО)
71StudentOrderExtractTypestudent_order_extractsВыписка из приказа по движению контингента обучающихся
72StudentOrderMoveExtractTypestudent_order_move_extractsДетальная информация приказа по обучающемуся (о переводе)
73StudentOrderTypestudent_ordersПриказ по движению контингента обучающихся
74StudentOrderTypeTypestudent_order_typesТипы приказов по движению контингента обучающихся
75StudentStatusTypestudent_statusesСостояние обучающегося
76StudentTypestudentsОбучающийся
77TimeTableEventRealTypetime_table_event_realsСобытие оперативного расписания
78TimeTableVersionTypetime_table_versionsВерсия расписания
79TrAbsenceReasonTypetr_journal_absence_reasonsПричины пропуска занятий
80TrJournalGroupEmployeeTypetr_journal_group_employeesПреподаватель в потоке обучающихся в журнале
81TrJournalGroupEventStudentResultTypetr_journal_group_event_student_resultsБаллы обучающегося по событию
82TrJournalGroupEventTypetr_journal_group_eventsСобытие в журнале
83TrJournalGroupStudentTypetr_journal_group_studentsОбучающийся в потоке обучающихся в журнале
84TrJournalGroupTypetr_journal_groupsПоток обучающихся в журнале
85TrJournalPartTypetr_journal_partsРаздел реализации
86TrJournalTypetr_journalsЖурнал преподавателя по предмету (реализация дисциплины)
87TrJournalEventTypetr_journal_eventsСобытие в реализации дисциплины
88TrStudentJournalRatingTypetr_student_journal_ratingsБалл обучающегося по реализации мероприятия
89TtEvent2PpsTypett_event2_ppsППС для события расписания
90TtEventReal2EduGroupTypett_event_real2_edu_groupsСвязь события оперативного расписания с потоком обучающихся
91YearDistributionPartTypeyear_distribution_partsЧасть учебного года
92YearDistributionTypeyear_distributionsРазбиение учебного года

 

image_pdf