Инструктор. Прототип инструмента создания быстрых пользовательских инструкций
1C-admin
15.02.2019
Прототип дружелюбного и эффективного инструмента для написания пользовательских экспресс-инструкций.
Задействована штатная утилита Windows, о существовании которой многие не знают и которая умеет делать огромную работу по логированию действий и снятию скриншотов на всех ПК с Windows (начиная с версии Win7).
«Инструктор» не требует никакой установки и дополнительных библиотек!
Это означает, что инструмент будет работать и на домашнем ПК и на «чужом ноутбуке» и на терминальном win-сервере у заказчика, где ваши права сильно ограничены.
Вы просто подключаете легкую файловую базу 1С и получаете инструмент по снятию скриншотов с интересной функциональностью…
Внимание! Прототип "Инструктор" не является готовым инструментом, а лишь демонстрацией возможностей. Для его полноценного использования, требует развития и доработки некоторых обязательных функций.
Тестировался на управляемых формах, на релизах платформы 8.3.11 и выше.
Почему "прототип", а не готовый продукт?
Если кратко — чтобы не пылился.
Подробнее:
Идея создания подобного инструмента возникла давно. Но сам я, к моему глубочайшему сожалению, уже не обладаю достаточными навыками и временем для развития инструмента. А объяснить кому-то идею и заразить ею так, чтобы получился качественный продукт — задача сложная и неблагодарная.
Прототип, на 80% написан не мной, а по моему заказу и моей постановке.
Недавняя тема в одном из дружественных "около-1С-ных" сообществ, затронула использованную мной утилиту Windows и подтолкнула к тому, чтобы забить на своё "чувство прекрасного", и выложить наработки "как есть". Лучше пусть кто-то подхватит и доведёт до ума, или даже просто узнает что-то новое для себя из статьи, чем данная наработка пополнит собой "кладбище погибших идей"… 🙂
Цель (которая ставилась для конечного инструмента):
- Сделать дружелюбный инструмент для написания экспресс-инструкций.
- Инструмент должен позволять любому, не подкованному в разных утилитах пользователю, не заморачиваясь на сжатие картинок и установку вспомогательных инструментов — делать быстрые инструкции с большим количеством скриншотов.
- Время существенно должно экономиться в сравнении с алгоритмами типа “Print Screen -> Paint, Word”, которые, к сожалению, используются начинающими (и не только) специалистами при документировании, обучении пользователей или проработке методологии учета.
Что уже работает в прототипе:
- При нажатии кнопки "Rec" в конфигурации 1С, стартует фоновый процесс штатной утилиты PSR (Problem Steps Recorder) встроенной в Windows. Процесс осуществляет детальное логирование действий пользователя.
- Логируются все значимые действия в операционной системе (не только в окне 1С), все клики, перетаскивания, ввод текста, запуск программ…
- Каждое значимое действие сопровождается текстовым комментарием и скриншотом.
- По окончании записи (нажатии кнопки "Stop") — формируется временный MHT-файл (формат MIME HTML). Это делает сама утилита PSR и формат обусловлен её возможностями.
- Полученный временный файл разбирается на части, вытаскивается текст по записанным шагам и скриншоты каждого шага.
- Запчасти (текстовое описание действия + скриншот) складируются в простейший справочник конфигурации "Инструктор". Вся последовательность шагов записанных за 1 сеанс образует "инструкцию". Инструкции представлены простой группой (папкой) в справочнике. Страницы — соответственно элементами справочника.
- Из получившейся инструкции легко удаляются "лишние" шаги (непосредственным удалением). Необходимым для инструкции шагам присваивается имя, корректируется автоматический комментарий к шагу.
- На основе обработки с Инфостарта "Рисуем в 1С" от автора Василий Попов, в прототипе накиданы базовые возможности подписать или подрисовать что-либо на скриншотах (средствами js) опять же "внутри 1С".
- Рисунки и подписи сохраняются в инструкции.
Работает независимо от 1С
Происходит захват любых действий в операционной системе, а не только внутри окна 1С. Или можно запустить запись в "Инструкторе", а шаги проходить в другой базе.
Не требует установки дополнительного ПО
Без установки дополнительных утилит или библиотек. По-умолчанию работает на ПК с Windows, начиная с версии Windows 7, в т.ч. на серверных версиях ОС Windows.
Не требует особых прав в среде Windows
Будет работать, если в принципе работают пользовательские приложения, такие как Калькулятор или Блокнот…
Всё пишет в фоне и не отвлекает
Вы просто делаете нужные действия — а фоном ведется детальный лог. Можно сосредоточиться на демонстрации процесса, не задумываясь о том, в каком месте и как сделать скриншот. Вся обработка, комментирование и визуализация слайдов откладывается на потом.
Записывает только существенные действия
Метания курсора по экрану и паузы, в отличие от видео-инструкции, не записываются. Но каждое значимое действие, выбор, клик, скролл, ввод текста — будет записано.
Легко обработать или удалить лишнее
После завершения записи, каждый шаг представлен отдельным элементом простого справочника 1С. Можно непосредственно удалять 1 или несколько шагов. Или всю инструкцию.
Простым перетаскиванием элементов справочника из одной папки в другую можно легко "миксовать" страницы и инструкции.
Автоматически сжимает скриншоты по качеству и размеру выходного файла!
Картинки сразу сжимаются. Уже достаточно сильно, чтобы трудно было упаковать сильнее. Но ещё не слишком — чтобы можно было рассмотреть важные тексты, подписи и элементы интерфейса.
Автоматически пишет текстовый комментарий для действий пользователя
Можно использовать как заготовку для добавления ручного комментария к слайду (скриншоту). Отлично работает для действий внутри среды Windows, но внутри 1С логирует плохо.
1С плохо "отдаёт" идентификаторы элементов управления (в терминах windows). Надеюсь, что эту особенность платформы поменяют. Помнится какое-то движение в "зазеркалье" под заголовком "улучшение невизуальной доступности" платформы и решений было… Но видимо это никак с аналогичными windows-возможностями не соотносится. Надо развивать и "Инструктор" и платформу 1С в этом вопросе 🙂
Автоматически выделяет на скриншоте зеленой "рамкой" ключевые области интерфейса
Регион, внутри которого происходит то или иное действия — подсвечивается на скриншоте зеленой рамкой. Рамка всегда одна и неплохо акцентирует внимание.
Можно использовать как заготовку для добавления ручного комментария к слайду (скриншоту). Отлично работает для действий внутри среды Windows, но внутри 1С логирует плохо. 1С плохо "отдаёт" идентификаторы элементов управления (в терминах windows). Надеюсь, что эту особенность платформы поменяют. Помнится какое-то движение в "зазеркалье" под заголовком "улучшение невизуальной доступности" платформы и решений было… Но видимо это никак с аналогичными windows-возможностями не соотносится.
Недостатки подхода и текущей версии
Количество скриншотов (шагов) ограничено.
Точной границы мне не удалось нащупать. По справке утилиты PSR — вроде бы 100. На практике больше. Делал тест на >230 снимков-шагов в одном сеансе. Параметр можно выставлять (в графической версии утилиты) до 999.
На самом деле, даже 230 — это очень много. Это порядка минут 15-20 непрерывной записи каких-то значимых "телодвижений" в базе 1С или за её пределами. Если же разделять документируемые процессы на разные инструкции — то даже 50 снимков, из практики, более чем достаточно.
Довольно долго обрабатывается информация при длинных циклах записи
Речь идёт о том времени, которое проходит с момента остановки записи ("Stop") до момента, когда результат будет представлен в виде справочника со слайдами в 1С.
Ну тут такое… Спорное "долго" 🙂 Всё относительно…
Примерное время можно прикинуть из расчёта 2-3 секунды на слайд. Зависит от ПК. Итого, для цепочки действий из 50 скриншотов — придется подождать 1,5 — 2 минуты. Ждать некомфортно, т.к. на визуализацию процесса ожидания я не заморачивался :))
Но с другой стороны — 2 секунды на сжатый и почти готовый для вставки в инструкцию скриншот… ну кажется, что не так уж много. Это достижимо только специализированными инструментами, которые требуют установки и освоения.
Также есть возможность оптимизации кода 1С в части разбора MHT-файла — сейчас не самым оптимальным образом сделано.
Автоматически выделяются зеленой "рамкой" ключевые элементы интерфейса
Да, это и "минус" тоже. Т.к. выделяет рамкой сама Win-утилита и отказаться от этого нельзя. Теоретически, возможны ситуации, когда такая рамка будет не соответствовать какому-либо стилю или фен-шую.
Текущая версия мало применима для ПК с 2-мя и более мониторами
Скриншоты снимаются одновременно со всех подключенных мониторов. Для целей написания инструкций — это не удобно. Простой способ обхода — отключать на время записи лишние мониторы. Но по-хорошему, планировалось допилить функционал "кадрирования" — чтобы можно было отсекать лишние края (в т.ч. лишние мониторы) уже на стороне 1С.
Планировалось так: выбрать отсечки на 1-м слайде и применять ко всей инструкции. В текущей версии не было реализовано.
Режим использования синхронных вызовов
В свойствах конфигурации включен "Режим использования синхронных вызовов" = Использовать. Иначе не работало.
Вроде как можно обойти, если вызывать утилиту другими методами. Например, КомандаСистемы(), но там свои нюансы и заморочки. Для прототипа перевод вызова на “асинхронный” вариант не был критичным. Но, если не ошибаюсь, без "асинхрона" перспективы встраивания "Инструктора" в качестве расширения (например) сомнительны.
Что не работает, но хотелось бы видеть в конечном инструменте
Собственно, ничего кроме описанного выше и не являющегося типовыми функциями платформы 1С не работает. А вот что хотелось бы…
Об этом, не судите строго… можно прочитать в отдельном файле "Инструктор. Концепция, критичные и перспективные функции" 🙂
Считаю, что даже те 9 страниц, которые там присутствуют — таки представляют собой весьма концентрированные размышления на заданную тему. Содержат полезные ссылки, а также описывают некоторые не очевидные варианты развития инструмента, которые вполне могут быть взяты на вооружение и доведены до коммерческого (или практически полезного) продукта.
(0)
https://www.youtube.com/watch?v=JNnmtv_yWI8&feature=youtu.be
https://t.me/testspro1c
Есть и другие утилиты для создания автоинструкций.
Например, в Vanessa-Automation можно автоматически собирать вот такие ролики
Есть канал в телеграмме, где это обсуждают
(0)
Начиная с 8.3.12 и дальше в УФ вообще нет индентификаторов элементов форм в терминах windows.
(1)
безусловно гениальная и актуальная разработка.
Я до того как услышал о ней — подумывал доставать «нормальные» текстовые шаги для «инструктора» через «режим записи журнала действий пользователя»… Но там сложность парсинга тянула на отдельный проект и не стал связываться 🙂
Имхо, у «Инструктора», если довести до практического использования — немного другое назначение и несколько другой уровень «сложности». Настройка автоматизированного тестирования — не вот уж прям быстрое вхождение в инструмент 🙂
Если иные пользователи не умеют скриншоты сжимать — какая уж тут настройка клиента и менеджера тестирования.
Повторюсь, Vanessa — безусловно классный инструмент. В рекламе и так не нуждается 🙂
(2) Да, я заметил, что текстовые «расшифровки» после какого-то релиза платформы стали просто никакие 🙁
Жаль, если это запланированное «развитие» платформы 1С
Было бы неплохо добавить ещё режим плавной анимации скринов. Так оно «компактнее» для восприятия.
(5) В смысле, вместо последовательности страниц (слайдов) сделать gif-анимацию? Или просто плавные переходы при перещелкивании картинок от одной страницы к другой?
Безусловно, в текущем виде, прототип не очень удобен для просмотра инструкций.
Как минимум вывод во внешние форматы нужен для готовых инструкций.
Но спасибо за мнение!
Вы скачачивали? Всё получилось запустить?
Просто забавно — столько раз скачали и никакой обратной связи… Начинаю ощущать дискомфорт )) Вдруг ничего не работает и все молчат… 🙂
(6) плавные переходы, без необходимости щелкать на каждом слайде; ещё не скачивал, поскольку для этого требуются $m, а их временно не хватает 🙂