Как мы на новый электронный журнал переходили. Дневники внедряльщика

Как мы на новый электронный журнал переходили. Дневники внедряльщика

Время на прочтение

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

В общем, в конце августа внезапно (с) оказалось, что частью новой ИС является модуль Мониторинг образования, к которому нас подключили (абсолютно добровольно, конечно же!) в июне месяце. И за лето секретарь и директор совместными усилиями успели забить в БД минимальный набор данных всех сотрудников и учеников. Вот только тогда, в июне, про электронные журналы ничего внятного не сказали, учителя разбежались по отпускам, и инструкции были прочитаны по диагонали. В результате все ученики оказались в едином списке. И вот — конец августа, учителя отдыхают последние деньки (в законом отпуске), и «вдруг граахнул гром»: мы переходим на новый электронный журнал. Отставить отпуск!

А далее начинается самое весёлое. Уже при первом знакомстве с новым электронным журналом стали вылазить (из всех щелей, блин!) различные косяки и баги. В борьбе с ними были потеряны десятки записей из БД. Инструкция по работе с этим добром вводила в ужас даже меня, программиста и юзера с четвертью века стажа, работавшего с немерянным количеством разного софта (в бытность свою техническим журналистом я тыкал в мышкой во всё, что не успевал сожрать из папки «Загрузки» антивирус). Да и электронный журнал этот для меня далеко не первый. Четвёртый, если быть точным. Ранее были попытки играть в «Аверс» (интерфейс их «Директора» в 2012 году вызывал лютую ностальгию по Delphi 3 и первым версиям CBuilder), потом попытка внедрения «Элжура» и, наконец, 8 вполне спокойных лет на Дневник.Ру, который я успешно развернул в 2 школах и не очень успешно в одном техникуме (я уволился, и не знаю, закончили ли внедрение).

А дальше я создавал два первых тикета по всем явным косякам, замеченным в ходе развёртывания журнала. И на следующий день даже дождался ответа одного из разработчиков (ну, или кого-то из саппорта — тут, увы, точно не знаю). Во всяком случае мне обещали исправить проблемы. И то хлеб.

Вот эти первые тикеты. Здесь я ещё описываю проблемы шаблонно. Так, как стал бы описывать баги в любом другом ПО (собственно — почему «стал бы»? я этим периодически балуюсь последние лет 20 с хвостиком).

Периодические ошибки при сохранении данных сотрудника

Как мы на новый электронный журнал переходили. Дневники внедряльщика

Чуть позже разработчики ответили, что внесены какие-то исправления. Пока ошибка не повторялась. Но мы уже не так массово вносим данные.

Не сохраняются настройки таблиц (столбцы, сортировка)

Если настроить внешний вид любой (!) таблицы, выбрать нужные столбцы, настроить их ширину, скрыть/показать панель редактора, сортировку – все эти настройки действуют до первой перезагрузки таблицы (перехода к другой таблице), что крайне неудобно при работе с большим объёмами данных. Особенно учитывая, что вся логика работы этого ЭЖ строится на переходе между таблицами. Насколько реально решить эту проблему?

Как мы на новый электронный журнал переходили. Дневники внедряльщика

Следующие тикеты были созданы через несколько дней, два из которых стали для меня «рабочими выходными», в которые я забивал разные данные в новую ИС, пытаясь обеспечить её минимальное функционирование. Параллельно со мной начали работать другие сотрудники нашей школы.

Учитывая, что вся эта работа напоминала хождение по граблям с периодическим набиванием шишек в виде потери уже внесённых данных, моё настроение несколько ухудшилось, а отношение к разработчиками системы стало чуть более негативным.

Сквозной поиск учеников

Очень часто возникает необходимость сквозного поиска по списку учеников (например, мы давеча “потеряли” одного второгодника и минут 5 убили на поиск его в двух параллелях – завучи наши злые после такого). В нашем старом ЭЖ это делалось элементарно, с главной страницы панели администратора. Здесь не можем найти такую функцию. По сотрудникам можно искать с помощью фильтров, т.к. они в одной таблице. А ученики раскиданы по классам и приходится заходить в классы по по очереди и искать в списках. Очень затратно по времени получается, даже если в одной параллели искать ученика. PS. Такого рода сервисы должны облегчать жизнь учителям/завучам, но пока только усложняют, к сожалению 🙁 PPS. Алана Купера разработчикам надо бы прочитать. Метод персонажей – убойная вещь для разработки интерфейсов.

Здесь стоит отметить, что упомянутый поиск – реально очень нужная вещь при плотной работе со списками классов. И его просят в чате многие пользователи.

Как мы на новый электронный журнал переходили. Дневники внедряльщика

Однако, внедряльщики посылают всех в другой модуль – там такой поиск есть. Но там нельзя изменять данные пользователей. В общем, выполните, господа учителя, квестик ради простейшей операции. Я, к слову, приспособился бегать в наш старый электронный журнал – там поиск работает хорошо. Но весь год не будешь два журнала поддерживать в актуальном состоянии – это нереально. Впрочем, всем пофиг. Школам же некуда деваться – как-нибудь выкрутятся. Завучам можно меньше спать, например.

Ошибка “Уберите лишние пробелы”

Как мы на новый электронный журнал переходили. Дневники внедряльщика

Уважаемые разработчики, лишние пробелы должна убирать функция trim() или её аналог в том языке/фреймворке, который вы используете. Учителям и завучам есть чем заняться в рабочее время, пожалейте, пожалуйста, наше время!

И чтобы новый тикет не создавать – прикрутите, пожалуйста, проверку формата СНИЛС (а в идеале – его автоматическое форматирование с приведением к формату Госуслуг). У нас только с учителями уже 2 случая лишнего дефиса в СНИЛС – и люди не могут зайти в систему. Что будет, когда начнём учеников и родителей массово подключать – страшно представить (у нас больше 1000 учеников, плюс родители!).

Опять таки – пожалейте учителей и завучей! Мы не компьютеры, а вынуждены работать regexp’ом вместо компьютера, проверяя формат входных данных.

Дальше тон моих тикетов снова немного изменится. Прошло ещё два дня, наполненных хождением по чужим граблям и борьбой с бесконечными косяками UI. Понимая, что к 1 сентября развернуть журнал мы уже точно не успеваем, мы подключили к работе ещё одного учителя, ответственного за работу с расписанием. И как человек, далёкий от IT (но успешно много лет работавший с аналогичными функциями Дневник.Ру), она столкнулась с кучей новый граблей и багов.

Нелогичная сортировка таблиц

Во всех таблицах сервиса wp2 наблюдается ужасная сортировка данных.

Как мы на новый электронный журнал переходили. Дневники внедряльщика

Пример 1. В таблице расписания звонков сразу при открытии данные расположены в совершенно случайном порядке (я не вижу логики вообще; даже если предположить, что сортировка идёт по скрытому полю id – не катит, т.к. я сам лично добавлял уроки в эту таблицу, и шёл строго по порядку). Сортировка по столбцам, которые видны по умолчанию, порядка не добавляет. Что-то приличное получается только при показе столбца “Группа” и сортировке по нему. И то через раз (там random что-ли где-то затесался в коде сортировки?).

Как мы на новый электронный журнал переходили. Дневники внедряльщика

Пожалуйста, сделайте человеческую сортировку.

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

Ученик, выбранный по-умолчанию

(здесь нужно сделать пояснение: в ИС, о которой идёт речь, перенос учеников между классами реализован через «буфер обмена»; алгоритм приведёт в тикете; я таким образом «сортировал» по классам больше 1000 учеников; с десяток при этом были потеряны или случайно перенесены не в тот класс из-за описанной проблемы)

Как мы на новый электронный журнал переходили. Дневники внедряльщика

При открытии списка класса первый ученик выбран по-умолчанию. Это создаёт проблемы при переводе из класса в класс. Мы перед началом учебного года сверяли списки классов, учитывали учеников, которые перешли в другие классы за лето. Типичный сценарий в вашей системе:

1. Открыть класс ОТКУДА переводим.

2. Выделить нужного ученика.

3. ПКМ / Вырезать.

4. Открыть класс, КУДА переводим.

5. ПКМ / Вставить.

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

При удалении ученика эта проблема тоже присутствует. Не снял галочку — удалил первого по списку вместе с тем, кого реально нужно было удалить.

Снова усложняете жизнь завучам/секретарю на ровном месте.

Вообще, сам алгоритм перевода – просто типовой пример ужасного интерфейса. Почему нельзя сделать кнопочку (ну ладно, контекстное меню) “Перевести в другой класс”, вывести при её нажатии окно с выбором класса назначения и по нажатию 1 (одной!) кнопки отправить ученика в нужный класс? вместо 8 (восьми!) щелчков мышкой на каждого ученика (ну ладно, группу можно), можно обойтись 3 (тремя).

Плюс само копирование через “буфер обмена” – крайне опасный способ с точки зрения сохранности данных. Мы несколько раз потеряли данные учеников при переносе из класса в класс, когда возникали ошибки в вашей системе и буфер очищался.

Для учителей/завучей эта работа – не основная, нам очень жалко времени, потраченного на борьбу с неудобным интерфейсом и повторное внесение потерянных данных.

Пользовательские данные – это “священная корова”, любые косяки интерфейса и кода, приводящие к их потере – зло в чистом виде.

Даже всякие ВКонтакте при перезагрузке страницы не теряют данные из форм, хотя там просто переписка, а не ИС.

Невозможно сохранить расписание звонков после изменения группы

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

(где-то здесь я понял, что скоро из моих тикетов можно будет собрать целую статью; и «тут Остапа понесло» (с) работа велась поздним вечером 31 августа в тщетных попытках обеспечить хоть какое-то функционирование системы к 1 сентября; меня пробило на жёсткий стёб)

Итак, берём таблицу “Расписание звонков”. Мы в ходе работы над расписанием поняли, что в вашей системе распределение звонков по сменам может работать только в сферической школе в вакууме (или в глухих деревнях), где 1 смена и никто не слышал про нулевые уроки и “подсменку”. И стали править расписание звонков, делая сквозную нумерацию с 1 по 12 уроки. При этом группу “1 смена” переименовали в “Основное расписание звонков”, а группу “2 смена” просто удалили.

Берём первый урок, меняем группу в редакторе, жмём кнопку “Применить”. Стоп! Нет, не жмём, ведь она неактивна! Т.е. я редактирую данные в форме, но сохранить их не могу. Где-то на этот моменте Джеф Раскин перевернулся в гробу. Ладно, не первый раз корявые интерфейсы вижу (и не последний, увы!). Правлю поле “Номер урока”, меняю “1” на “2”, а потом обратно на “1” (“Психбольница в руках пациентов” (с) ). И – опаньки! Оно живое! В смысле – кнопка “Применить снова активна”.

Ещё полчаса жизни убиты на борьбу с интерфейсом. Сегодня 31 августа, время 19.30, расписания в журнале всё ещё нет.

null вместо отчества в журнале

Ну вот я и добрался до one.43edu. И тут же нашёл багу (на самом деле не одну, но об остальных позже). У нас есть несколько учеников, которые внесены в списки без отчества. И в журналах для них дописано отчество null.

Как мы на новый электронный журнал переходили. Дневники внедряльщика

// не выводим отчество

// выводим отчество

И снова добрый день!

У всех наших завучей (и приравненных к ним учителям, которым пришлось выставить роль “Завуч” в вашей системе) одинаковая проблема – мы всегда видим абсолютно все классы при открытии журналов.

Как мы на новый электронный журнал переходили. Дневники внедряльщика

Например, в Дневник.Ру по умолчанию любой учитель видит только функционал учителя, а для перехода в режим завуча/администратора есть отдельная кнопка. В течение учебного года этот нужен нечасто. А тут я даже не могу свернуть лишние ветки дерева (то есть свернуть могу – но эти настройки не сохраняются, и при следующем входе я снова вижу все классы, и должен копаться в длинном дереве, чтобы найти нужный журнал. Хорошо хоть, здесь классы отсортированы нормально (виджет дерева умеет сортировать лучше, чем виджет таблицы в wp2?).

Привязка кабинетов к урокам

И ещё раз добрый день!

Никак не можем привязать кабинет к конкретному уроку. Наша школа учится в 2,5 смены, ситуация, когда учитель ведёт все уроки в одном кабинете – почти фантастика. В Дневнике,ру кабинет назначался для каждого урока отдельно (в шаблоне расписания), здесь назначается для журнала. Фактически мы не можем на данный момент сформировать в электронном виде пригодное к работе расписание (номер урока / предмет / учитель / кабинет).

Без такой привязки у нас один выход – делать классическое бумажное расписание. Для нашей школы это будет сильным откатом в прошлое. Мы 8 лет успешно использовали электронный вариант с привязкой к кабинетам, а на бумажках писали только изменения.

Очень много лишних названий в таблице “Предметы”

Таблица предметы содержит 91 наименование. Часть из них имеет похожие названия. Например: История, История России, История Отечества. Плюс мы в “школьную” таблицу предметов добавили свои названия. У нас, например есть “История России. Всеобщая история”.

В итоге при создании нагрузки в классе сотрудник каждый раз видит такой список:

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

На этом месте я приостановил создание тикетов, поскольку обратная связь со стороны разработчиков полностью прервалась 1 сентября. В официальном telegram-канале неудобные вопросы (нее только мои, но коллег со всего региона) тоже игнорируют. На регулярно повторяющиеся вопросы (а как не повторяться, если для поиска ответа нужно пролистать тысячи постов в Telergam – никакого FAQ не ведётся, инструкция ответов на насущные вопросы не даёт) ответственные лица отвечают уже достаточно резко, на грани хамства.

В общем, на сегодняшний день выводы неутешительные. Целому региону навязали неудобную, достаточно глючную систему, рассчитанную на «сферические школы в вакууме». Не проработаны элементарные сценарии использования (тот же сквозной поиск в чате просят регулярно). Борьба с глупыми багами ведётся, вроде бы, но лично я уже две недели чувствую себя не работником школы, а бесплатным бета-тестером. Страшно представить, что сейчас происходит в школах, где нет своих учителей информатики и техников-программистов (а в небольших школах очень часто учителя — совместители, приезжающие раз в неделю; сам так работал 3 года).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *