Блог технического писателя Ильи Жукова

Контекстная справка в приложениях Windows

Понятие контекстной или контекстно-зависимой справки (от англ. context-sensitive help) появилось в 1987 году с выходом формата WinHelp. Изначально контекстная справка задумывалась как предоставление пользователю краткой информации об элементе интерфейса программы (окне, кнопке и т.п.), с которым пользователь работал в момент вызова справки. Позднее реализация контекстной справки свелась к прямым вызовам отдельных разделов справки из разных форм приложения.

 

Отличия от обычной справки

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

 

Способы реализации контекстной справки

Существует два основных способа реализации контекстной справки:

  • «Что это?» - описания элементов ГИП во всплывающих окнах.
  • Открытие определенных разделов обычной справки по прямым ссылкам из ПО.

 

Что это?

Самым распространенным способом реализации контекстной справки была так называемая справка "What's this?". Пользователь выбирал инструмент "Что это?" – обычно значок в строке заголовка окна со знаком вопроса - и щелкал интересующее его поле или кнопку. На экран выводилось всплывающее окно с кратким описанием выбранного элемента интерфейса. Созданием контекстной справки занимались программист и технический писатель.

Технически в проект справки добавлялось два файла:

  • текстовый файл со всеми текстами контекстной справки, поделенный на разделы .topic с уникальными идентификаторами;
  • файл заголовков (от англ. header file), в котором задавалось соответствие между уникальным идентификатором раздела из первого файла и цифровым идентификатором элемента ГИП.

Вызовы разделов контекстной справки вставлялись в исходный код ПО. Такой способ реализации контекстной справки поддерживался в форматах WinHelp (устарел) и HTML Help (CHM).

Подробное описание данного способа реализации контекстной справки можно посмотреть на сайте разработчика на английском языке: Creating Context-Sensitive Pop-up Help.

 

Открытие раздела обычной справки

Со временем процесс разработки ПО усложнялся, становился более динамичным. Выделялись и работали отдельно команда программистов и команда технических писателей. Программы становились сложнее и содержали уже не сотни, а тысячи уникальных элементов ГИП. Контекстную справку в изначальном виде стало очень сложно и трудоемко поддерживать. В этой связи был разработан второй подход к реализации контекстной справки. В зависимости от рабочей ситуации (открытое в данный момент диалоговое окно, используемый функционал и т.п.), при вызове справки стали открывать определенный раздел обычной справки с описанием данного окна, функционала и т.п. Сегодня в основном используется такой способ реализации контекстной справки. Он поддерживается в форматах HTML Help (CHM) и WebHelp. А от первого способа реализации контекстной справки практически полностью отказались в пользу второго.

Примером реализации такой контекстной справки может служить вызов разных разделов справки разными командами с ленты.

 

вызов разделов CHM из приложения

 

Вызов разделов из CHM-файла

Cинтаксис ссылки для вызова раздела CHM-файла следующий (исключая префикс ms-its и имя окна справки):

Helpfile.chm::/Topic.htm#anchor

Где:

  • Helpfile.chm - файл справки HTML Help;
  • Topic.htm - раздел в корне CHM-файла;
  • Topic - идентификатор раздела (HELP-ID);
  • anchor - якорь в разделе Topic.htm.

 

Чаще всего файлы разделов находятся в корне CHM-файла. Идентификатор раздела можно посмотреть в проекте (если вы автор) или в свойствах раздела CHM-файла.

 

свойства раздела

 

На локальном ПК ссылку можно проверить следующим образом:

Выберите Пуск -> Выполнить и введите:

hh.exe C:\test\HelpFile.chm::/Topic.htm#anchor

Где:

  • hh.exe - программа для просмотра справки в формате HTML Help (CHM), файл расположен в C:\Windows\hh.exe;
  • C:\test\HelpFile.chm - путь к CHM-файлу;
  • Topic.htm - раздел в корне CHM-файла;
  • anchor - якорь в разделе Topic.htm.

 

Вызов CHM из программы

Справку в формате CHM можно вызвать из любого приложения, работающего в ОС Windows. По ссылкам ниже можно посмотреть инструкции для программистов на английском языке для разных сред разработки:

Programming Tutorials

CHM files and programming languages

 

Вызов разделов из WebHelp

Для вызова раздела WebHelp по идентификатору используется ссылка следующего вида:

http://www.WEB-SITE.com/WebHelp_folder/HELP-ID.html

 

Контекстная справка сегодня

На смену формату HTML Help (CHM) был разработан формат Microsoft Help 2, но в 2003 году компания Microsoft решила не выпускать новую платформу справки. Данный формат используется компанией, но до сих пор не стал публичным. В 2009 году компания Microsoft запатентовала систему вывода контекстной справки на электронных устройствах (Патент США US8151192B2).

Согласно описанию, помимо обработчика и ОС система состоит из:

  • модуля определения атрибутов приложения (application attributes discovery module);
  • модуля определения состояния системы (system state discovery module);
  • модуля инфраструктуры справки (help infrastructure module);
  • модуля определения справочного контекста (help context mapping module);
  • модуля хранения разделов справки (help topic collection module);
  • и средства просмотра справки.

 

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

Модуль инфраструктуры справки обрабатывает полученные атрибуты приложения, информацию о состоянии системы, и определяет набор контекстов справки (help context set), связанный с приложением в момент, когда пользователь вызывает справку.

В модуле определения справочного контекста хранятся XML-таблицы соответствий между контекстами и комбинациями атрибутов приложения и информации о состоянии системы (в нечитаемом для человека виде). Данный модуль определяет лучшее соответствие между контекстом приложения и контекстом справки + определяет идентификаторы разделов справки. В модуле хранения каждый раздел справки обладает уникальным идентификатором. Средство просмотра справки выводит разделы справки по полученному идентификатору.

 

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

Последние статьи

Подключение таблицы стилей к проекту Hel…

При работе с форматами, основанными на HTML, для оформления контента в документах можно использовать каскадные таблицы стилей, cascading style sheets или CSS. Данная т...

Читать полностью...

Формулы в HTML Help (CHM)

Я по образованию филолог. Специализируюсь на разработке пользовательской документации на английском и русском языках. С формулами в документации сталкиваюсь редко и по...

Читать полностью...

Импорт документов MS Word в Help+Manual…

Часто технический писатель получает исходные данные от аналитиков, разработчиков, тестировщиков, маркетологов и других специалистов в форматах DOC, DOCX и RTF (реже, и...

Читать полностью...

Поиск в WebHelp находит удаленные раздел…

Во время поддержки проекта справки со временем ряд разделов устаревает. Вы исключаете их из сборки, возможно, даже удаляете из проекта. Собираете выходную документацию...

Читать полностью...

Как поддерживать скриншоты в актуальном …

Рисунки, схемы, скриншоты и другие изображения являются неотъемлемой частью любой пользовательской документации. Один скриншот с выносками может дать начинающему польз...

Читать полностью...

Книга «Разработка технической документац…

Уважаемые коллеги! Если вам нужно быстро освоить разработку документации по ГОСТ, рекомендую обратить внимание на книгу В.А. Глаголева «Разработка технической документ...

Читать полностью...

Перевод выходных документов в Help and M…

Выбрав русский язык и русскую кодировку в настройках проекта Help and Manual, многие авторы после первой сборки удивляются, увидев в выходных документах английские сло...

Читать полностью...

Размер и расположение окна CHM при перво…

Разработчик справки в формате CHM может задать размер и расположение окна, которые будут использоваться при первом запуске CHM-файла. После того, как пользователь пере...

Читать полностью...

Рваные края скриншотов в Help and Manual…

Многие платные редакторы скриншотов, например, SnagIt, FastStone Capture и др., умеют создавать эффект рваных краев. В сети Интернет можно найти множество видеоуроков ...

Читать полностью...
новое в Help and Manual 9

Новое в Help and Manual 9

23 ноября 2022 года компания EC Software к 25-летнему юбилею выпустила 9-ю версию программного комплекса Help and Manual (выходит c 1997 года). Комплект шаблонов Premi...

Читать полностью...

Создание CHM-справки в бесплатной програ…

KEL CHM Creator — это «новая» хорошо забытая программа, выпущенная в 2012 году, предназначенная для создания и декомпиляции CHM-файлов. Программа не требовательна к ре...

Читать полностью...

KEL CHM Creator — бесплатная программа д…

Если вам нужно создать CHM-файл, и вы больше не хотите пользоваться глючной программой HTML Help Workshop, тогда KEL CHM Creator — это ваш вариант. Программа позволяет...

Читать полностью...
ключевые слова

Ключевые слова в Help+Manual…

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

Читать полностью...

HTML Help Workshop – бесплатная программ…

В 1997 году Microsoft выпустила новый формат справки, HTML Help (CHM), а также бесплатную программу для создания и редактирования справки в этом формате — HTML Help Wo...

Читать полностью...

HelpNDoc — бесплатная альтернатива Help+…

Еще одной альтернативой RoboHelp и Help&Manual является программа HelpNDoc от французского разработчика, компании IBE Software. Это практически полный аналог HelpS...

Читать полностью...

HelpSmith — достойная альтернатива Help+…

Продолжая тему средств разработки справки и пользовательской документации, нельзя не рассказать о программе HelpSmith. Она работает по принципу единого источника и под...

Читать полностью...

Все о справке и документации для пользователей!

Следить за новыми статьями:

© Илья Жуков, 2019-2024. Охраняется законом об авторском праве.