VPNtest
Простая система тестирования с вопросами в стиле «Как стать миллионером» — один вопрос и 4 варианта ответа, один и только один из которых верный. Поддерживается тестирование с несколькими вариантами; выборка вопросов из каждого варианта перемешивается случайно. Система написана на PHP и устанавливается на связку Apache+PHP+MySQL, под Windows здесь проще всего использовать Денвер — Джентльменский Набор Web-Разработчика или XAMPP.
VPNtest, на самом деле, написан в «худшем духе» быдлокодерства на PHP — то есть, HTML выводится где echo
'ами, где прямо из встроенного в PHP файла, PHP ведь — «язык наоборот» — язык вставок в HTML-код. Это не значит, что его нельзя использовать, но, что его нереально поддерживать, это очень даже значит.
Инструкции по установке и использованию: VPNtest: Подробное руководство, либо файл manual.txt
в архиве. Документация по архитектуре кода: VPNtest: Техническая документация.
Также см. краткие VPNtest: Руководство пользователя и VPNtest: Руководство администратора.
Содержание
Файлы
Дистрибутивы VPN-тesт. Все до версии 2.32 включительно написаны на PHP. Далее — Perl, mod_perl.
Почему «VPN»? Потому что система использовалась при тестировании слушателей Инфотекса при их обучении ViPNet’у.
Легенда:
- Новая возможность,
- Исправленная ошибка / изменение,
- Изменение в архитектуре кода.
VPN-тesт 2.5
Виталий Филиппов, 20 октября 2008:
- Perl/mod_perl-версия системы на основе Sway,
- Использование шаблонизатора,
- Полностью переписанный код.
VPN-тesт 2.32
Виталий Филиппов, 31 августа 2006:
- Возможность скрывать от пользователей их результаты,
- Вывод названия теста при тестировании и в админке,
- Поправлены глюки с MySQL кодировкой — спасибо SET NAMES cp1251,
- «Сюда» в надписи «нажмите сюда» теперь синенькое :)) чтобы заметнее было,
- Поправлены названия файлов в мануале — не vpntest_11.rar, а vpntest_v11.rar.
VPN-тesт 2.31
Виталий Филиппов, 21 апреля 2006:
- Подтверждение конца тестирования,
- Подтверждение удаления теперь не ВЫБРАННЫХ пользователей, а N пользователей :),
- Затемнение номеров вопросов, попытки ответа на которые исчерпаны,
- Полужирный вывод строки «Ваш результат…»,
- Исправлен глюк с неверным заданием поиска в HTML-коде.
VPN-тesт 2.3
Виталий Филиппов, 17 апреля 2006:
- Изменения в формате файла вопросов:
- Теперь в файле с вопросами строка, начинающаяся с «;;;», т.е трёх точек с запятой — считается комментарием и не учитывается,
- Теперь в файле с вопросами в любом месте может быть любое количество пустых строк или строк-комментариев,
- Теперь в файле с вопросами отделение номера вопроса от самого вопроса происходит не по ". ", а просто по точке,
- Теперь выдаются ошибки при неверном формате файла,
- Теперь выдаются номера пользователей в версии списка пользователей не для печати,
- Убраны «белые пятна» в списке пользователей,
- Исправлен глюк с простановкой варианта всегда 1,
- Исправлено руководство.
VPN-тesт 2.2
Виталий Филиппов, 14 апреля 2006:
- Возможность правки анкеты и смены своего пароля каждым пользователем,
- Функции авторизации выненесы в /login.php (с безопасностью ОК: если его вызывать отдельно, ничего не сработает).
VPN-тesт 2.11
Виталий Филиппов, 13 апреля 2006:
- Версия в lib/version.
VPN-тesт 2.1
- Возможность смотреть список вопросов в рабочей БД,
- Возможность удалять пользователей,
- В версии списка пользователей не для печати теперь можно выбирать пользователей из списка, устанавливая или сбрасывая флажки слева от логина, для операций, отражённых кнопками ниже,
- Другие названия: вместо «Дать +1 тест» = «+1 тест»; «Отнять 1 тест» = «-1 тест»; «Отнять тесты» = «Обнулить тесты»,
- «Версия для печати» и «Тесты подробно» — теперь не кнопки, а ссылки,
- Включение таблицы стилей в страницу напрямую — при сохранении стили будут жить :),
- Более корректный вывод информации о пользователях («красивей»),
- Функция вывода информации о пользователях больше не занимается выдачей кнопочек с командами, а также не делает exit’ов.
VPN-тesт 2.0
- Архив результатов тестирований,
- Теперь при выдаче статусных сообщений вся страница не выводится до редиректа — таким образом он происходит быстрее,
- «Логичные» названия команд показа различных ответов,
- Теперь после изменения количества предписанных пользователям тестов таблица с пользователями не исчезнет,
- Теперь в выдаче подробной информации о тестах выдаётся номер вопроса в соответствии с таковым в файле с вопросами,
- Теперь при отсутствии требуемой библиотеки выведется фатальная ошибка,
- Теперь при невозможности соединиться с БД выведется фатальная ошибка,
- Библиотеки init.php и load.php помещены в /lib/ вместо /admin/,
- info.php отвечает за вывод информации о пользователях / результатах / ответах на вопросы сразу и для админки, и для тестилки.
VPN-тesт 1.1
- Новый, более удобочитаемый формат файла,
- Теперь при выборе пользователя — нажатии на его логин — в списке пользователей логин попадёт в поле «Логин» и поле «Логин» получит фокус ввода,
- Там же — при клике по полю «Логин» поле «Дата» очистится, т.к если задана дата, то поле «логин» игнорируется,
- С загрузкой вопросов в БД задаёте вариант сразу для них для всех,
- Исправлен глюк с абсолютно неправильным выводом информации о «Тестах подробно…»,
- Переработан код, который теперь стал несколько более структурированный :).
VPN-тesт 1.0
Начальная версия. Виталий Филиппов, 19 марта 2006: