Подготовка данных к массовому (пакетному) импорту

Вносить вручную сотни или тысячи строк (преподавателей, учеников, кабинетов, курсов…) редко имеет смысл. В Omniscol есть массовый импорт копированием и вставкой из любой электронной таблицы (Excel, Google Sheets, Numbers, Calc…) в формате CSV или TSV. Импорт запускается кнопками , обычно расположенными в верхней части списков сущностей. Некоторые из них служат только для экспорта данных, но большинство допускает и импорт.

Что можно импортировать?

Сущность Экран Типичный объём
Преподаватели Экспортировать данные в формате CSV 10 - 1000
Ученики Экспортировать данные в формате CSV 50 - 10 000
Кабинеты Экспортировать данные в формате CSV 10 - 500
Собственные дисциплины Экспортировать данные в формате CSV 10 - 1000
Курсы расписания Экспортировать данные в формате CSV 100 - 10 000

Подготовка файлов

Золотые правила:

  1. Одна строка — одна сущность. Никаких объединённых ячеек и многострочных заголовков.
  2. Соблюдайте порядок столбцов, ожидаемый Omniscol. Экран импорта показывает шаблон со столбцами в целевом порядке, и вы можете переставить эти столбцы в Omniscol так, чтобы они совпали с порядком в исходной таблице. Тогда копирование из Excel или Google Sheets проходит чисто, и переписывать файл не нужно.
  3. Некоторые столбцы доступны только для чтения. Они выделены серым и нужны лишь для экспорта данных. Первый столбец, как правило, содержит идентификатор записи, уже сохранённой в базе данных.
  4. Столбцы, отмеченные «*», обязательны. Если обязательное поле не заполнено, строка игнорируется: при создании она не импортируется, а если запись уже есть в базе данных, то удаляется.
  5. Разделители внутри ячейки произвольны в списках (несколько преподавателей, групп или кабинетов у курса): запятая, точка с запятой, косая черта.
  6. Встроенный ИИ приведёт данные в порядок, но лишь до определённого предела: старайтесь, чтобы данные были чистыми и однозначными, иначе возможны неприятные сюрпризы.

Типичные поля по сущностям

Преподаватели

  • Имя, Фамилия (обязательные).
  • Эл. почта (рекомендуется для приглашений).
  • Табельный номер / внешний ID (необязательно, но полезно для отслеживания).
  • Преподаваемые дисциплины (список, разделители произвольны).
  • Учебная нагрузка (число запланированных часов в неделю).
  • Основная площадка (если площадок несколько).

Ученики

  • Имя, Фамилия (обязательные).
  • Эл. почта (рекомендуется).
  • Идентификатор в школьной информационной системе (помогает не спутать однофамильцев).
  • Уровень / Класс.
  • Группы (группа по выбору, подгруппа).
  • Статус (активен, предварительная запись, неактивен).

Кабинеты

  • Название (обязательно).
  • Площадка (обязательна, если площадок несколько; иначе Omniscol относит кабинет к площадке по умолчанию).
  • Вместимость.
  • Специализации (список).
  • Здание (свободный ввод).
  • Теги / комментарии.

Занятия

  • Класс + дисциплина (как минимум).
  • Продолжительность (если не указана, вычисляется по времени начала и окончания).
  • День, время начала, время окончания (чтобы сразу расставить занятия; иначе оставьте пустыми и расставьте позже).
  • Группа (необязательно).
  • Тип занятия (лекция, семинар, практическое занятие, экзамен…).
  • Преподаватель(и) (разделители произвольны).
  • Кабинет(ы) (разделители произвольны; да, несколько кабинетов на одно занятие поддерживаются).
  • Ресурс(ы).
  • Чередование недель (формат A/B, 1/2 и т. п.).
  • Комментарий (произвольный текст).

После подготовки

Порядок импорта зависит от экрана, на который вы загружаете данные. Как правило, экран полностью обновляется и показывает новые данные.

Об импорте курсов расписания см. Массовый импорт курсов из таблицы: там описан специальный мастер из четырёх шагов.

Экспорт

Тот же встроенный табличный механизм позволяет экспортировать данные. Для этого есть несколько способов:

  • Скопировать и вставить во внешнюю таблицу (формат TSV, автоматически).
  • Воспользоваться кнопками внизу, чтобы экспортировать данные сразу в файл PDF, CSV или Excel (XLSX).

Повторный импорт

Импорт не ограничивается первоначальной загрузкой. Можно импортировать массово в несколько приёмов. Первый столбец с заголовком «id» содержит доступный только для чтения идентификатор каждой сущности в базе данных; его можно найти и в URL-адресах. Если изменить строку с определённым идентификатором, данные этой сущности будут изменены.

Чтобы добавить новые данные, перейдите в самый низ таблицы: там всегда есть несколько пустых строк без идентификатора. Вставка новых данных, как при первоначальном импорте, соответственно увеличивает таблицу.

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

Благодаря этому можно импортировать массово в несколько приёмов, не теряя дополнительных данных существующих сущностей, и при этом создавать новые сущности или удалять другие.

Массовое удаление

Как и при повторном импорте, первый столбец «id» позволяет определить сущности. Если стереть строку или хотя бы её обязательные столбцы, отмеченные «*», то при импорте опустошённые сущности будут удалены. Поскольку, как в обычной таблице, можно выделить несколько строк и столбцов, достаточно нажать клавишу Delete на клавиатуре, чтобы стереть сколько угодно строк и тем самым массово удалить из базы данных соответствующие сущности.

См. также