Тверской государственный университет
Опубликован: 13.09.2006 | Доступ: свободный | Студентов: 2720 / 260 | Оценка: 4.03 / 3.74 | Длительность: 19:48:00
Специальности: Программист, Менеджер
Лекция 9:

Создание справочной системы. Часть 2

< Лекция 8 || Лекция 9: 12345678910

Answer Wizard и Office Assistant. Сложности

Говоря о принципиальных сложностях, давайте начнем с Мастера Ответов - инструмента AWB. Работать с этим инструментом технически довольно просто - у него совсем немного команд. Значительно труднее понять, насколько хорошо Мастер Ответов справляется со своей работой. Напомню, что его задачей является индексация файлов разделов справочного руководства. Принципиальная сложность состоит в том, что Мастеру необходимо работать с русским языком при анализе текста разделов. Русский язык входит в число тех языков, с которыми умеет работать Мастер Ответов. Но индексация - поиск ключевых слов - это довольно тонкий процесс, здесь необходима сложная лингвистическая поддержка русского языка. На данном этапе такой поддержкой Мастер Ответов не обладает. Хотя он и справляется со своей задачей и обеспечивает построение индексов, иногда довольно удачно, но, в целом, вряд ли можно признать его работу удовлетворительной. Замечу, что при построении индексов у AWB нет даже такого простого средства, как "стоп-список", который используется при организации полнотекстового поиска в справочном руководстве. Напомню, что в этот список включаются союзы, предлоги и другие общеупотребительные слова, которые нецелесообразно использоваться в качестве индексов. К сожалению, при построении индексов у Мастера Ответов таких ограничений нет и можно обнаружить в процессе тестирования, что на вопросы "В" или "Как" будут выдан список почти всех разделов справочного руководства. Эта трудность носит принципиальный характер и преодолена она будет только тогда, когда в Мастере Ответов будет реализована более мощная поддержка естественных языков.

Частично проблемы могут быть решены за счет возможности добавления вопросов к разделам. Удачно подобранные вопросы, принятые Мастером, гарантируют, что при подобных вопросах пользователя ему будут выданы действительно подходящие разделы справочного руководства. К сожалению, Мастер Ответов не все вопросы принимает, и понять его логику мне не удалось. Отмечу лишь некоторые экспериментально зафиксированные факты. Мастер Ответов не принимает в качестве вопросов символы латинского алфавита, что совершенно правильно по соображениям, о которых я уже говорил. Большинство символов русского алфавита, к сожалению, принимаются в качестве вопросов. Мастер Ответов может принять или отвергнуть вопрос в зависимости не только от самого вопроса, но и в зависимости от контекста - других вопросов и текста разделов. Поэтому в разных множествах вопросов одни и те же вопросы могут быть приняты в одном множестве и отвергнуты в другом.

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

Еще одна принципиальная сложность связана с окном справки, в котором отображаются разделы справочного руководства. В предыдущей лекции было показано, как можно в приложение добавить собственный пункт меню или командную кнопку, выбор которых приводит к открытию окна, в котором отображается справочное руководство. При этом в открывающемся окне могут быть разные вкладки, позволяющие искать разделы по оглавлению, по указателям, использовать полно текстовый поиск или использовать папку "Избранное". Когда вопросы задаются в окне Office Assistant, возникает другая ситуация, - разделы справки будут отображаться в стандартном окне справки, открываемом Помощником. И это окно, определенное Помощником, а не окно, спроектированное при разработке справочного руководства. В этом стандартном окне, открываемом Помощником, три вкладки - "Содержание", "Мастер Ответов" и "Указатель". Как видите, вкладка "Поиск" отсутствует, она заменена вкладкой "Мастер Ответов", так что вместо полнотекстового поиска ответы формируются Мастером Ответов. В стандартном окне нет и папки "Избранное".

То, что Помощник отображает справочное руководство в своем окне справки, не является ограничением. Достоинство предлагаемого подхода состоит в том, чтобы, сохраняя возможность получения стандартных справок по приложениям Office 2000, одновременно иметь возможность получать справки по терминам, специфичным для данного документа, отражающим его пользовательскую направленность. Поэтому в окне справки должны отображаться как разделы пользовательского, так и стандартного справочного руководства. Хотя окно справки является "слугой двух господ", свой внешний вид оно сохраняет постоянным, ориентированным на стандартное справочное руководство Office 2000. Конечно же, наряду с возможностью использования Office Assistant можно иметь и команду меню, позволяющую открыть пользовательское справочное руководство в собственном окне справки.

А теперь прошу обратить особое внимание на одно важное требование, без соблюдения которого разделы пользовательского руководства не будут отображаться в стандартном окне справки. Скомпилированный chm-файл пользовательского справочного руководства должен быть зарегистрирован в реестре Windows. Без этого его разделы не будут отображаться в стандартном окне справки.

Регистрация не требуется при открытии справочного руководства в собственном окне.

Для регистрации chm-файла в реестре можно воспользоваться Редактором реестра (regedit.exe). Файл регистрируется в разделе: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\HTML Help

В этом разделе зарегистрированы все chm-файлы, задающие стандартные справочные руководства. Здесь же нужно для собственного справочного руководства ввести новый строковый параметр, имя которого совпадает с именем chm-файла, а значение задает путь к этому файлу.

Регистрация в реестре Windows chm-файла

Рис. 9.7. Регистрация в реестре Windows chm-файла

Давайте займемся еще одной проблемой, возникающей при отображении разделов справочного руководства в стандартном окне справки. Как я уже говорил, Office Assistant позволяет в ответ на вопрос пользователя показать в своем окне разделы, которые могут быть взяты как из стандартного, так и пользовательского справочного руководства. И те, и другие разделы могут отображаться в стандартном окне справки. Вкладки стандартного окна "Мастер Ответов" и "Указатель" также позволяют задавать вопросы и указывать индексы, относящиеся к обоим справочным руководствам. Фактически, таких руководств может быть несколько. Взгляните, как выглядит работа с указателем в этом окне:

Отображение разделов стандартного и пользовательского руководств по заданному индексу

Рис. 9.8. Отображение разделов стандартного и пользовательского руководств по заданному индексу

Как видите, индексу "bitmap" соответствуют несколько тем из нашей справочной системы и множество тем стандартного справочного руководства. В правом подокне отображается один из разделов нашего руководства.

Но мы отвлеклись, и так и не сформулировали суть проблемы. А она связана с вкладкой "Содержание". Дело в том, что нельзя объединить содержание двух справочных руководств - стандартного и пользовательского. Так какое же содержание должно быть показано? Однозначного ответа нет. Все зависит от выбора разработчика, который может управлять этим процессом на этапе создания chm-файла. В предыдущей лекции я рассказывал об определении окна справки, задании его свойств, о том, что задание вкладок "Избранное" и "Поиск" осуществляется включением флажков, задающих соответствующие свойства окна, в котором будет отображаться справочное руководство. Я не стал там заострять внимание на возможных проблемах, связанных с просмотром справочного руководства в окне справки. Теперь пришла пора сказать об этом. Для того чтобы просматривать стандартное оглавление в окне справки, при его определении необходимо выполнить следующие условия:

  1. В качестве имени окна задать одно из двух возможных стандартных имен: MSO_Small или MSO_Large.
  2. Изменить идентификатор окна на ненулевое значение. Эту операцию, к сожалению, приходится выполнять вручную, используя любой тестовый редактор, например, "Блокнот". Числовой идентификатор окна является последней константой, следующей за большим числом запятых в определении окна. Его значение обычно равно единице.
  3. Убедиться в том, что имя "окна по умолчанию" (Default windows) совпадает с выбранным стандартным именем.

Вот как выглядит редактирование проекта HTML Help Workshop (hhp-файла) в простом текстовом редакторе "Блокнот":

Редактирование hhp-проекта  в окне текстового редактора "Блокнот"

Рис. 9.9. Редактирование hhp-проекта в окне текстового редактора "Блокнот"

Для удобства восприятия рисунка я разорвал строку определения окна, что позволило увидеть весь текст этой строки. Фактически, определение окна задается одной строкой.

В том случае, когда окну справки дано собственное, а не стандартное имя, при работе Office Assistant вкладка "Содержание" стандартного окна справки будет показывать оглавление пользовательского справочного руководства.

Подведем теперь некоторые итоги и суммируем те факты, которые необходимо учитывать для обеспечения гладкого взаимодействия между различными инструментальными средствами - HTML Help Workshop, Answer Wizard Builder, Office Assistant:

  1. Не использовать русских имен для файлов, используемых при построении справочного руководства (файлы разделов, chm-файл и другие файлы).
  2. Задать нужным образом имя окна в определении hhp-проекта, понимая, что имя влияет на показ оглавления в стандартном окне справки.
  3. Зарегистрировать chm-файл в реестре Windows. Без этого разделы справочного руководства не будут отображаться в стандартном окне справки.
  4. Тщательно протестировать aw-файл, созданный средствами AWB. Разумно подобранное множество вопросов к разделам может значительно улучшить результаты его работы.

В заключение рассказа о сложностях, которые могут возникнуть при создании справочной системы, хочу напомнить, что при работе в корпоративной сети справочное руководство, зачастую, представляется в виде Web-узла, а не в виде скомпилированного chm-файла. В этом случае возникают свои проблемы, о которых я здесь не упоминаю, поскольку решил ограничиться подробным изложением одного варианта, ориентированного на использование справочной системы, установленной на локальной машине.

Нам осталось рассмотреть в деталях заключительный шаг в обеспечении взаимодействия Office Assistant и Answer Wizard, чем мы сейчас и займемся.

< Лекция 8 || Лекция 9: 12345678910