Создание справочной системы.
Описание возможностей HTML Help Workshop
Рассмотрим более подробно возможности HTML Help Workshop. Используя этот инструмент, можно, как уже говорилось, создать справочную систему в виде скомпилированного файла или специального Web-узла. Файлы, составляющие разделы этой системы, содержат тексты, графику и другие элементы, которые могут появляться в разделах справки. Другие файлы, также являющиеся частью справочной системы, содержат информацию, необходимую для организации внешнего облика системы, организации поиска нужных разделов и других манипуляций с ней. HTML Help Workshop позволяет создать оглавление, индексы и файл проекта, объединяющий все файлы справочной системы. В процессе компиляции файла проекта и всех файлов, связанных с ним, HTML Help Workshop создает единый файл справочной системы, выполняя одновременно операцию сжатия. Сжатие HTML-файлов и файлов других типов позволяет существенно экономить требуемое дисковое пространство.
Типы файлов, появляющиеся в проекте, зависят, конечно, от того, какие средства используются в разделах справки, от возможностей, какими будет обладать система и от того, в каком виде она будет представлена - скомпилированном файле или Web-узле. Чаще всего, в проект включаются файлы следующих типов:
- HTML-файлы, описывающие разделы справки.
- Графические и мультимедийные файлы, если в разделах справки есть ссылки на элементы подобного рода.
- Файлы, описывающие содержание справочной системы
- Файлы индексов, необходимые для поиска разделов по индексам.
- Вспомогательные файлы с информацией, необходимой для построения справочной системы.
- Файл проекта справочной системы, объединяющий всю информацию.В справочную систему можно также включить средства, позволяющие получать справки и тем пользователям, у которых нарушены те или иные функции, например, слух или зрение.
В справочную систему можно также включить средства, позволяющие получать справки и тем пользователям, у которых нарушены те или иные функции, например, слух или зрение.
Основой справочной системы являются разделы, описывающие те или иные темы. Как уже говорилось, каждый раздел оформляется в виде отдельного HTML-файла, представляя по существу отдельную Web-страницу. Следовательно, предоставляется большой простор при создании раздела справки, поскольку здесь можно применять весь дизайн Web-страниц. Заметьте, поскольку разделы являются Web-страницами, то всю справочную систему совершенно естественно рассматривать в виде Web-узла. Это особенно удобно в тех случаях, когда разрабатываемая система предназначена для коллективной работы пользователей и доступна для работы в корпоративных сетях интранет, сетях экстранет или сети Интернет. В случае, когда справочная система поставляется вместе с самой системой, естественно, приемлемой формой справочной системы является компилируемый файл.
Добавление индексов в справочную систему является одним из наиболее важных способов быстрого доступа к разделам справочной системы, позволяя найти нужный раздел или совокупность разделов по заданному индексу. Зачастую такой способ более приемлем, чем поиск по содержанию или полнотекстовый поиск. Создание индексов выполняется после того, как написаны разделы справочной системы. В каждом разделе выделяются ключевые слова, основные термины, определяющие данную тему. Они и становятся индексом или его частью. Создание индексов требует вдумчивой и кропотливой работы с содержанием и предполагает в какой-то мере знание психологии пользователей, чтобы и начинающий и опытный пользователь смогли найти нужную им тему по тому слову, которое они выбрали в качестве ключа. Как правило, в хорошей справочной системе строится иерархическая, по крайней мере, двухуровневая система индексов. Например, верхним индексом может служить фраза "Справочная система" и этому индексу будет соответствовать множество разделов, а индексами следующего уровня могут быть сочетания "Поиск по индексу" или "Поиск по содержанию".
Включение в справочную систему оглавления или, используя более формальный термин, таблицы содержания представляется почти обязательным условием любого справочного руководства. Оглавление позволяет придать руководству определенную структуру. При хорошо продуманной структуре и заголовках разделов оглавление позволяет достаточно просто найти нужный раздел и, что немаловажно, окружающий его контекст. При написании руководства оглавление полезно составлять еще до того, как будут созданы разделы руководства. Более того, уже на этом этапе создается иерархическая структура оглавления руководства, - части, главы, параграфы руководства.
В системе HTML Help Workshop технологически оглавление создается после того, как созданы разделы. При создании таблицы содержания используются два типа элементов оглавления - книги и страницы. В книгу наряду со страницами могут быть вложены другие книги, и потому каждая книга разворачивается в привычную для программистов структуру, называемую деревом. Поскольку содержание руководства на верхнем уровне может состоять из нескольких книг, то фактическая структура содержания является не отдельным деревом, а лесом - более сложной структурой, вполне достаточной для отображения сложной иерархии, связывающей разделы руководства.
Теперь, когда получено общее представление об инструменте HTML Help Workshop, давайте перейдем к рассмотрению примера создания справочной системы. В этот пример я постарался включить достаточно много интересных деталей, иллюстрирующих возможности этого инструмента. Но прежде скажем несколько слов о том, как можно получить нужный инструментарий, если он еще не инсталлирован на Вашем компьютере.
Об инструменте HTML Help Workshop
Все средства, входящие в состав HTML Help Workshop, доступны для свободного использования и могут быть загружены с сервера Microsoft. В начале работы над этой лекцией, у меня уже была инсталлирована версия 1.2, но, переходя к описанию примера, я решил обновить ее на более позднюю версию. Хотя имеющиеся у меня ссылки на страницу загрузки изменились, но найти на сервере Microsoft нужный, свободно распространяемый продукт не представляет особых трудностей. Вот ссылка, использованная мной для загрузки последней текущей версии 1.3 HTML Help Workshop: http://msdn.microsoft.com\library\default.asp?URL=\library\tools\htmlhelp\chm\hh1start.htm
Справка о справке
Частью HTML Help Workshop, как и положено, является справочное руководство. В качестве примера давайте построим некоторый его аналог - справочное руководство, рассказывающее о том, как строить справочные руководства. Конечно, наш пример будет лишь демонстрационной версией, цель которой рассмотреть все этапы создания руководства. Нас гораздо меньше будет интересовать содержание разделов и, тем более полнота охвата темы.
Создание разделов руководства
Разделы руководства являются основными терминальными элементами справочной системы. При работе в HTML Help Workshop каждый раздел должен быть представлен отдельным файлом в формате HTML. По этой причине разделы могут быть созданы в любом Редакторе, позволяющем работать с таким форматом представления данных. Рассмотрим три основные возможности:
- Разделы создаются непосредственно в HTML Help Workshop. Для этого достаточно из меню File выбрать пункт New и в появившемся диалоговом окне выбрать HTML в качестве типа создаваемого файла. Такой способ удобен для создания достаточно простых разделов справочного руководства. Но поскольку в данном Редакторе файлов нет набора специальных средств, облегчающих создание и форматирование содержания, то такой способ удобен лишь тем, кто хорошо знаком и привык к непосредственной работе с языком HTML, его тегами. В противном случае, целесообразно использовать более мощные Редакторы.
- Разделы справочного руководства создаются в Редакторе Word, привычном для большинства разработчиков. Здесь есть почти все необходимые для этого средства. Тем не менее, я рекомендую рассматривать Word только как промежуточный Редактор, используя FrontPage для окончательного редактирования. Дело в том, что не все файлы, созданные в Редакторе Word, будут без ошибок компилироваться и затем просматриваться в HTML Help Viewer. В моих экспериментах при компиляции таких файлов выдавались различные предупреждения о возможных ошибках. Хуже того, рисунки, вставленные в текст раздела, не просматривались при отображении справочного руководства. Последнее связано с тем, что Word вставляет рисунки в коллекцию Shapes. Элементы этой коллекции нормально просматриваются на Web-страницах как в самом приложении Word, так и в Intenet Explorer. Однако в HTML Help Viewer эти рисунки не просматриваются, поскольку там они должны быть представлены тегом Image.
- По-видимому, наиболее удобным Редактором для создания сложных разделов является FrontPage. Здесь легко и удобно создавать разделы, использующие все возможности Web-страниц, включая, например, изощренные мультимедийные средства. С другой стороны, файлы, созданные здесь, компилируются и просматриваются в HTML Help Viewer без каких либо ограничений, по крайней мере, в моих экспериментах.
Прежде, чем создавать разделы, идеологически правильно создать оглавление руководства. Однако технология работы с системой HHW предполагает первоначальное создание разделов, поскольку при создании пунктов оглавления необходимо сразу связывать их с уже существующими файлами разделов. Тем не менее, давайте танцевать от печки. Вот как выглядит спроектированное мной оглавление (таблица содержания) нашей будущей справочной системы:
Microsoft HTML Help Введение Создание справочного руководства Разделы Поиск Разное Рисунки Ссылки Answer Wizard Вопросы и Office Assistant
Я постарался отобразить в этом тексте иерархическую структуру оглавления. В нем присутствуют два типа элементов - книги и страницы. С каждой книгой и страницей связан отдельный раздел - соответствующий HTML -файл. Книги отличаются тем, что в них могут быть вложены другие книги, о чем уже говорилось ранее. В приведенном выше тексте названия книг выделены жирным шрифтом, курсивом - названия страниц. В соответствии с этим планом наше руководство будет состоять из 10 разделов, составляющих на верхнем уровне две книги - "Microsoft HTML Help" и "Answer Wizard". В первую из этих книг, в свою очередь, вложены еще две книги.
Понимая, как выглядит оглавление, можно приступить к созданию соответствующих разделов. Для создания разделов справки я использовал в качестве основного инструмента FrontPage. Но поскольку большую часть содержания этих разделов составляли материалы этой лекции, то я просто копировал тексты Word, перенося их на Web-страницу, создаваемую в приложении FrontPage. Я не буду приводить детали этого процесса, отмечу лишь, что все файлы, соответствующие спроектированным разделам справочного руководства, были созданы и записаны в один каталог. В этом каталоге будет накапливаться вся информация, необходимая для построения руководства. Этот же каталог и будет содержать будущий проект и скомпилированный файл, созданный инструментарием HTML Help Workshop.
Замечу, что при построении разделов справки никаких особых средств не использовалось, - заголовки, абзацы, гиперссылки и списки - вот, пожалуй, и все используемые элементы. Исключение составляют два раздела - "Рисунки" и "Ссылки". В первый из этих разделов я включил рисунки различных форматов, во второй - различные ссылки. Но об этих разделах и используемых в них элементах я скажу позже чуть подробнее.