INDIGO 2.0 RC9
1. Новые функции управления
1.1. Блокировка тестовЗаблокированные тесты недоступны для тестирования и не отображаются в таблице тестов в web-интерфейсе пользователей до тех пор, пока не будут разблокированы. Данная функция имеет широкое применение. Например, тесты можно исключать из доступа, когда они только находятся в стадии подготовки или тестирование уже неактуально, и потому администратор хочет быть уверен, что тест не станет доступен пользователям в случае каких-то ошибок в настройке правил тестирования. Раньше для исключения теста из доступа необходимо было его исключить из всех Правил, а когда разрешения стояли на родительские группы, то в добавок необходимо было такой тест перенести в отдельную группу. Такие способы являются достаточно сложными и неудобными. Теперь гарантированно исключить тест из доступа достаточно просто.
Блокировка тестов доступна на вкладке «Тесты», и в окне редактирования теста:
(заблокированные тесты помечаются специальным индикатором)
1.2. Блокировка пользователей
Заблокированные пользователи не могут входить в свою учетную запись в web-интерфейсе до тех пор, пока не будут разблокированы. Раньше для блокировки пользователей администраторы были вынуждены удалять пользователей или меняли им пароли, в некоторых случаях можно было обойтись отключением пользователю доступа ко всем тестам через «Правила». Все эти способы имеют определенные недостатки, которых лишена новая функция блокировки.
Блокировка пользователей доступна несколькими способами:
– кнопки на вкладке «Пользователи», включая контекстное меню:
(заблокированные пользователи помечаются специальным индикатором)
– переключатель в окне «Добавления/редактирования пользователей»:
– кнопки на вкладке «Сервер» (включая контекстное меню):
Если пользователь в момент блокировки будет работать в учетной записи, то его принудительно выкинет из нее:
Если пользователь тестировался, то результат тестирования получит статус «Прервано». Заново авторизоваться пользователь не сможет до момента разблокировки:
1.3. Принудительное выкидывание пользователей из учетной записи (прерывание тестирования)
При использовании данной функции выбранного пользователя выкинет из учетной записи, а активное тестирование получит статус «Прервано». В отличие от блокировки пользователь сможет вновь зайти в учетную запись. Функция полезна для использования, когда пользователи занимают доступные подключения, но не проявляют активность (например, было запущено тестирование без ограничения на время тестирования, и такое тестирование слишком долго остается активным). Выкидывание пользователей доступно через кнопку на вкладке «Сервер» (включая контекстное меню):
2. Инструмент импорта вопросов
2.1. Импорт многострочного текста вопросовТекст вопроса может занимать сколько угодно строк. Для этого текст необходимо заключить в двойные кавычки "Вопрос":
"Заполните пропуск в стихотворении А.С. Пушкина:
У лукоморья дуб зеленый,
Златая цепь на дубе том:
И днем и ночью ___ ученый
Всё ходит по цепи кругом"
пес
*кот
волк
тигр
Результат загрузки файла:
2.2. Импорта пояснений к вопросам
К вопросу может быть добавлено пояснение. Пояснение может располагаться в любой строке после текста вопроса. Ввод пояснения начинается с символа тильда ~Пояснение. Текст пояснения может занимать сколько угодно строк (для этого текст необходимо заключить в двойные кавычки ~"Пояснение"):
Какая планета является самой крупной в Солнечной системе?
Марс
*Юпитер
Сатурн
Нептун
~"Юпитер – крупнейшая планета Солнечной системы, пятая по удалённости от Солнца.
Наряду с Сатурном, Ураном и Нептуном Юпитер классифицируется как газовый гигант.
Современное название Юпитера происходит от имени древнеримского верховного бога-громовержца."
2.3. Быстрая обработка крупных файлов
Исправлена проблема, которая приводила к подвисанию программы при обработке крупных файлов.
3. Инструменты импорта/экспорта пользователей
3.1. Импорт дополнительных полейДобавлена функция импорта дополнительных полей пользовательских данных (например, E-mail, Телефон, Должность, Пол, Возраст, Табельный номер и т.д.) при импорте пользователей из файлов. Инструмент импорта динамически адаптируется под настройки дополнительных полей, выводит столбцы активных полей и учитывает их параметры (порядок полей, тип поля - ввод с клавиатуры или выпадающий список, обязательность заполнения, проверка регулярным выражением и т.д.).
Формат импорта с учетом дополнительных полей:
Фамилия; Имя; Отчество; Логин; Пароль; Поле1; Поле2; ... ПолеN; Заметки
Пример
Имеются следующие дополнительные поля:
Формат TXT
\\Группа 1
Иванов; Иван; Иванович; Ivanov; 12345; ivanov@mail.ru; +74951234567; Директор
Петров; Петр;; Petrov; qwerty; petrov@mail.ru; +74957654321; Бухгалтер
\\Группа 2\Группа 2.1
Сидоров;Сидор;Сидорович;Sidorov;{pass}; sidorov@mail.ru; +74951234321; Водитель
\\Группа 2\Группа 2.2
Васильев;Василий;Васильевич; Vasya;{pass}; vasya@mail.ru; +74954321123; Охрана
Формат Excel
Результат загрузки файла в дерево импорта:
Примечание: По умолчанию в новой версии 2.0 RC9 функция импорта дополнительных полей включена, но при необходимости импорт дополнительных полей может быть отключен в окне настроек импорта (кнопка «Настройки импорта», опция «Импортировать дополнительные поля»), тогда будет доступен только импорт базовых полей (как в старых версиях программы).
3.2. Экспорт дополнительных полей
Данные дополнительных полей можно не только импортировать, но и экспортировать в файлы:
Результат экспорта:
Результат экспорта является обратно-совместимым (может быть импортирован через инструмент импорта).
3.3. Функция строковых комментариев
В формат файла импорта/экспорта пользователей введена возможность добавлять строковые комментарии в формате #комментарий (первый символ строки должен начинаться со знака шарп #). При импорте комментарии игнорируются. При экспорте система использует комментарий в качестве первой строки с перечислением названий экспортированных столбцов (для удобства чтения администратором полученного файла):
Комментарии доступны и в Excel и в TXT формате.
4. Инструмент импорта/экспорта готовых тестов
4.1. В окно Импорта/экспорта тестов добавлена кнопка Отмены, которая позволяет прервать операцию до ее завершения.Поскольку процесс импорта тестов может занимать продолжительное время, то отсутствие возможности отмены этой операции часто доставляло неудобства. Теперь такой проблемы нет.
4.2. Добавлена функция быстрого множественного выбора или отмены выбора всех записей в дереве Импорта/экспорта.
4.3. Ускорен импорт тестов из файлов .itest (по сравнению с начальной версией 2.0 RC8).
5. Ядро системы тестирования
5.1. Полностью переделаны базовые механизмы синхронизации интерфейса администраторов с базой данный, что позволило решить ряд проблем и ускорило систему при одновременной работе большого количества администраторов и пользователей.
5.2. Изменен механизм блокировок редактируемых объектов от одновременного редактирования несколькими администраторами.
5.3. Улучшен механизм освобождения занятых объектов в случае непредвиденного завершения работы клиента администратора (например, в результате разрыва связи или перезагрузки компьютера). Занятые администратором объекты теперь мгновенно освобождаются от блокировок и сразу могут быть открыты другими администраторами. В старых версиях программы необходимо было ждать некоторое время пока система разблокирует занятые объекты.
5.4. Решена редкая проблема возникновения ошибки взаимоблокировки (deadlock) процессов системы управления базой данных при фиксации результатов тестирования.
6. Web-интерфейс
6.1. Устранена серьезная уязвимость (без комментариев).6.2. Устранена уязвимость несанкционированного получения структуры каталогов дерева пользователей.
6.3. Решена проблема блокировки прохождения тестирования и невозможности завершения теста при определенной комбинации настроек теста. Проблема проявлялась, когда был установлен режим обучения и включен запрет изменения ответа после нажатия на кнопку «Проверить» совместно с настройкой запрета пропуска вопросов или настройки запрета завершения теста до ответа на все вопросы. В этом случае, если пользователь не давал никакой ответ на вопрос и нажимал на кнопку «Проверить» (для получения пояснения или правильного ответа), то установить ответ на вопрос уже не представлялось возможным (из-за опции запрета изменять ответ), и поэтому возникала невозможность переключения «Далее» или завершения теста. Для таких случаев введен особый порядок обработки.
6.4. Исправлена проблема ложного определения размера файлов для скачивания из web-интерфейса в случае наличия символов особых кодировок в именах файлов (размер файла ложно определялся как 0 байт).
6.5. Решены технические проблемы, которые приводили к появлению записей об ошибках в журнале операционной системы.
7. Журнал событий
7.1. Улучшен механизм добавления записей в журнал событий, что позволило решить проблему задержек в работе системы при выполнении множества одновременных операций записи в журнал событий различными процессами.7.2. Добавлена кнопка «Журнал событий» на вкладку «Пользователи» для просмотра событий по конкретным пользователям:
7.3. Добавлено логирование записей отклонения запуска тестирования из-за превышения количества доступных соединений по лицензии. С помощью этой функции администратор сможет понять как часто возникают ситуации нехватки подключений по лицензии.
7.4. Добавлено логирование записей о просмотре страниц и скачивании файлов пользователями в «Информационном модуле» web-интерфейса:
7.5. При просмотре журнал событий больше не подвержен непрерывному процессу обновления (зависанию) в случае высокой нагрузки (делаются паузы между обновлением данных).
8. Редактор тестов
8.1. Функция подстановки результата вычисления одних шкал в другие шкалыПодстановка делается путем использования имени подставляемой шкалы в функции расчета другой шкалы. При этом важно, чтобы подставляемая шкала уже была рассчитана. Расчет шкал производится в прямом порядке по списку шкал, который задан в редакторе тестов.
Пример
Имеется 3 шкалы с именами «А»,«Б» и «В»:
A=1+2
Б=А+4
В=(А+Б)*10
Шаблон подстановки результатов:
Результат вычисления результатов:
Шкалы были вычислены последовательно, сначала А, потом Б, и в конце В:
А=3
Б=А+4=3+4=7
В=(А+Б)*10=(3+7)*10=100
Данная функция может быть полезна в психологических тестах, где часто в одном тесте встречается общая шкала и ряд частных шкалы, и по каждой шкале нужно вывести результат. При этом в формуле вычисления общей шкалы участвует результаты вычисления частных шкал. В старых версиях программы в таких случаях приходилось дублировать вычисления частных шкал в функцию общей шкалы, что значительно увеличивало объем выражений и усложняло их восприятие, увеличивались риски допустить ошибки в задании таких формул. В новой версии программы такие задачи можно решить достаточно просто, а внешний вид формул будет наглядным.
Предупреждение: Тесты, в которых применяется подстановка результатов вычисления одних шкал в другие, не будут работать в старых версиях программы!
8.2. Ускорена загрузка функций шкал (отображение теперь происходит моментально). В старых версиях программы большие выражения функций шкал выводились достаточно медленно и при переключении между шкалам приходилось ждать пока визуализируется формула, что особенно ощущалось в ряде психологических тестов с большим количеством переменных.
8.3. Исправлена ошибка в алгоритме копирования-вставки вопросов и групп вопросов теста, которая проявлялась в том, что первая операция вставки осуществлялась корректно, а при последующих нажатиях вставлялся не тот объект, который был изначально скопирован.
8.4. Устранена проблема появления сотых значений балла в таблицах редактора тестов, когда ввод задавался целыми значениями (например, когда было задано 0 баллов, графически могло появиться значение 0.00 баллов, что иногда сбивало с толку некоторых администраторов).
8.5. Поле ввода пояснений сделано масштабируемым:
В старых версиях программы область ввода пояснений являлась фиксированной по высоте без возможности регулировки, что доставляло неудобства администраторам, которые работают с крупными пояснениями (занимающими 5 и более строк). В новой версии программы при переключении на вкладку «Пояснение» появляется бегунок, который позволяет регулировать размер области ввода пояснения.
8.6. Для вопросов типа «Установка соответствия» уменьшен блок ввода дополнительных параметров для удобства работы в редакторе тестов на мониторах с низким разрешением экрана.
9. Множество других улучшений и изменений
9.1. Добавлен алгоритм двойной буферизации при перерисовке интерфейса администратора для устранения эффектов мерцания элементов интерфейса.9.2. В таблицу подключений на вкладке «Сервер» добавлена панель группировки и строка фильтрации записей.
9.3. Поле IP-адрес в Отчете по результату теперь является опциональным (его можно выключить).
9.4. Устранено появление ошибки при просмотре результатов тестирования и отчетов, когда в операционной системе не был установлен принтер по умолчанию (текст ошибки «There is no default printer currently selected»).
9.5. Разделена опция разграничения прав доступа администраторов к результатам тестирования отдельно по доступным тестам и отдельно по доступным пользователям:
В старой версии программы результат тестирования выводился в таблице результатов, если администратор имел доступ к тесту (по которому получен результат) или к пользователю (который прошел тестирование). Это породило ряд ограничений, с которыми столкнулись некоторые администраторы. Поэтому было принято решение разделить настройку доступа к результатам, что дало больше гибкости в реализации различных организационных подходов.
9.6. При редактировании прав доступа администраторов деревья теперь не скрываются при отключении доступа к вкладкам, чтобы оставалась возможность установки доступных объектов для работы на вкладках «Правила» и «Результаты» без доступа к вкладкам «Тесты» и «Пользователи».
9.7. Для дополнительных полей с типом ввода «Выбор значения из выпадающего списка» добавлены кнопки «Вверх» и «Вниз», которые позволяют менять местами элементы списка. В старых версиях программы для вставки нового значения в начало или середину списка приходилось удалять все верхние элементы, вводить требуемое значение, а после восстанавливать все остальные значения, что было крайне неудобно (например, когда требуется список отсортированный по какому-то критерию):
9.8. Устранена ошибка потери адресов выделенных записей в таблице результатов после сортировки или фильтрации записей, что приводило к появлению сообщений об ошибках при построении отчетов и статистики, а также в случае выполнения удаления записей был риск удаления не тех записей, которые на самом деле хотел удалить администратор.
9.9. В конструкторе фильтров таблицы результатов установка значений для столбцов «Тип теста» и «Статус» теперь доступно через выбор значений из выпадающих списков возможных вариантов:
9.10. При отключении автоматического обновления таблицы результатов данная настройка теперь сохраняется в базе данных в конфигурации настроек администратора и применяется при последующих входах администратора в программу. Отключение автоматического обновления может пригодиться в случае очень большой таблицы результатов (несколько десятков тысяч записей) или медленного канала связи. При отключенном автоматическом обновлении на вкладке «Результаты» появляется дополнительная кнопка ручного обновления таблицы, которая напоминает о том, что автоматическое обновление было отключено:
Кнопка «Обновить таблицу» становится активной только когда на сервере произошли изменения в таблице результатов. Если изменений нет, то кнопка находится в выключенном состоянии.
10. Улучшены инсталляционный пакет и пакет обновления
10.1. Инсталляционный пакет теперь автоматически добавляет серверные исполняемые файлы INDIGO в исключения системного брандмауэра: IndigoServer.exe (для удаленной работы пользователей через браузер) и postgres.exe (для удаленной работы администраторов через программу администрирования).10.2. Пакет обновления теперь позволяет пропустить резервное копирование базы данных (например, в случае нехватки дискового пространства).
10.3. Пакет обновления делает дополнительную проверку каталога INDIGO\web\*, и в случае обнаружения неизвестных ему папок и файлов предупреждает об этом администратора. Это необходимо в случае, если администратор в данном каталоге разместил свои собственные файлы, которые при установке обновления будут потеряны (поэтому требуется их резервное копирование). Предупреждение: Проверяются только элементы размещенные в каталоге web\*, но не в его подкаталогах!
10.4. Проведение оптимизации базы данных теперь является опциональным, т.к. эта операция на больших базах данных требует большого объема дискового пространства и занимает много времени. Администратор может отказаться от оптимизации. Если же опция оптимизации задана, то процесс будет проводиться в конце установки обновления.
Примечание: В процессе проведения оптимизации можно полноценно начинать работать с системой (блокировка базы не производится).