Несколько расписаний, опубликованных параллельно
На стандартном тарифе на заданный период можно опубликовать только одно расписание. Для обычной работы средней школы этого достаточно. В некоторых случаях — как правило, в высшем образовании, в модульных программах, в учебных заведениях с несколькими траекториями обучения — возникает необходимость публиковать параллельно несколько расписаний, которые дополняют друг друга. Эта возможность по умолчанию входит в аккаунты Premium.
В некоторых смешанных школьных аккаунтах, например при объединении средней и старшей школы или начальной, средней и старшей школы с действительно раздельными расписаниями, Omniscol может включить эту возможность отдельно. Объём и тарификация тогда подбираются под реальную потребность.
Зачем нужно несколько расписаний параллельно
Несколько типичных сценариев:
- Общая часть и специализации — недельное расписание охватывает общую часть (дисциплины, общие для всех наборов), а расписания по профилям или траекториям добавляются поверх него со своими ограничениями.
- Регулярное расписание и календарное для разовых занятий — регулярное недельное расписание содержит большинство занятий, календарное — занятия с конкретной датой (лекции, экзамены, заседания комиссий).
- Несколько площадок — по одному расписанию на площадку с локальным управлением, а при просмотре они сливаются для студентов, которые переходят с одной площадки на другую.
- Программы разной продолжительности — например, программа MBA на 18 месяцев, бакалавриат по календарным семестрам и недельные подготовительные курсы, причём преподаватели и кабинеты общие.
Без этой опции приходится собирать всю сложность в одном расписании, и вскоре оно становится неуправляемым.
Как это работает
Вы создаёте несколько расписаний в модуле «Управление расписанием», как обычно. При публикации на недели экран публикации принимает несколько расписаний на одни и те же недели, а не одно.
При использовании (порталы, информационные панели, iCal, API) расписания, опубликованные на неделю, динамически сливаются: студент видит все занятия, которые его касаются, независимо от того, из какого расписания они пришли.
В рамках одного аккаунта параллельно опубликованные расписания разделяют занятость соответствующих ресурсов: кабинетов, преподавателей и, там где это уместно, классов. Так один и тот же преподаватель или кабинет не окажется занят дважды в двух опубликованных расписаниях. Случай классов, общих для нескольких расписаний, тоже встречается, но он остаётся более редким и сильно зависит от организации учебного процесса.
Обнаружение конфликтов между расписаниями
Два механизма дополняют друг друга, в зависимости от того, где вы работаете.
При составлении расписания
Когда вы составляете или реорганизуете расписание в модуле «Управление расписанием», кнопка Синхронизация (на панели инструментов реорганизации, как и редактирования календарного расписания, на общих датах) сверяет вашу работу с другими опубликованными расписаниями. Она автоматически учитывает те, чьи даты пересекаются с датами текущего расписания и у которых есть хотя бы один общий преподаватель, кабинет или класс — локально (в том же аккаунте) и со связанными аккаунтами. Поэтому она включается сама, как только появляются общие ресурсы (оранжевый цвет — кнопка активна). Эта автоматическая связь соединяет датированные (календарные) расписания.
Удобное исключение: кнопка игнорирует простую копию текущего расписания (те же занятия). Так вы можете работать над продублированным черновиком, не вступая в конфликт с самим собой.
Занятость этих расписаний затем попадает в механизм конфликтов:
- возможные слоты для размещения (цветные метки) становятся оранжевыми или красными, если преподаватель или кабинет уже заняты в другом месте;
- диагностика сообщает о двойном бронировании между расписаниями.
В описании конфликта занятие из другого расписания после названия своего класса сопровождается значком и названием этого расписания. Занятие из связанного аккаунта сопровождается значком и названием этого аккаунта.
В раскрывающемся меню кнопки перечислены учитываемые расписания и аккаунты: снимите отметку с тех, за которыми не хотите следить, например чтобы сознательно допустить пересечение.
При просмотре (операционное расписание)
После публикации расписания сливаются в единое операционное расписание — вид просмотра в Omniscol (модуль «Расписание») и всё, что использует расписание (порталы, информационные панели, iCal, API). Конфликты между расписаниями видны там сами собой: если преподаватель (или кабинет) заняты на двух одновременных занятиях из двух опубликованных расписаний, на сетке после слияния они накладываются друг на друга. В этом логика слияния: оно образует фактическое расписание, всех типов вместе (включая недельное и календарное). В режиме реорганизации это создаёт конфликт.
В обоих случаях разрешение конфликта остаётся работой над расписанием: перенести, изменить или принять конфликт в зависимости от ситуации.
Как распознать один и тот же класс, кабинет или ресурс в разных расписаниях
В разных расписаниях аккаунта один и тот же класс, кабинет или ресурс может иметь разные внутренние идентификаторы, например после импорта или дублирования. Omniscol сопоставляет их по идентичности:
- внешний идентификатор — когда у обоих есть идентификатор из одной и той же внешней системы (ERP, система учёта обучающихся), решает только он. Если идентификаторы совпадают, это один и тот же объект, даже после переименования; если различаются — это два разных объекта, даже под одним названием;
- при его отсутствии — название, сравниваемое буквально (с учётом регистра, диакритических знаков и пробелов).
Кабинет или ресурс ищется на соответствующей площадке, которая распознаётся так же. Группа ищется в соответствующем классе: внешний идентификатор, затем название, затем код. Преподаватели — это преподаватели аккаунта: один и тот же преподаватель распознаётся во всех расписаниях.
Это сопоставление используется для обнаружения конфликтов между расписаниями. В фильтре модуля «Расписание» класс, присутствующий в нескольких расписаниях учебного года, тоже образует одну запись; его расписание собирает занятия из каждого из них.
Если два разных класса отмечены как конфликтующие в разных расписаниях, хотя у них нет общего преподавателя или кабинета, значит, они были распознаны как один класс: у них одинаковый внешний идентификатор или одинаковое название. Исправьте идентификатор в исходной системе или сделайте названия различными.
Между связанными аккаунтами сопоставление идёт по другим правилам: см. Связанные учётные записи и общие ресурсы.
Инструкция
Параллельная публикация регулярного и календарного расписаний
-
Классический гибридный случай: недельное регулярное расписание для большинства занятий и календарное расписание для занятий с конкретной датой (лекции приглашённых лекторов, экзамены, заседания комиссий).
-
Предварительное условие: два расписания, созданные в модуле «Управление расписанием», — недельное с регулярными занятиями и календарное с датированными занятиями. Настройте их независимо друг от друга. См. также Режим календаря.
-
Запустите формирование расписания отдельно для каждого расписания, если вы пользуетесь автоматическим формированием. Сначала проверьте конфликты, свойственные каждому расписанию.
-
Опубликуйте недельное расписание на нужные недели (как правило, на весь год). См. Публикация. Затем опубликуйте второе расписание (календарное) на те же недели. Экран публикации принимает несколько расписаний параллельно (в отличие от одного на стандартном тарифе).
-
Проверьте слияние: откройте портал студента или преподавателя — занятия обоих расписаний отображаются на одной сетке, динамически слитые. iCal, API и информационные панели показывают то же самое.
-
Конфликты между расписаниями: между недельным и календарным расписанием пересечение видно прежде всего в операционном расписании после слияния (просмотр, порталы) — если лекция (календарное расписание) выпадает на слот регулярного занятия (недельное расписание) у того же преподавателя или в том же кабинете, оба занятия накладываются там друг на друга. Разрешение — как у обычного конфликта: перенести, изменить или принять.