MS Help Generator

advertisement
Создание справочной системы средствами
Oracle Designer
Средствами Oracle Designer можно создавать справочную систему двух видов.
Можно воспользоваться генератором MS Help,который создает справочные
файлы MS Help (WinHelp) или воспользоваться справочной системой, основой
которой является таблица.
Справочные таблицы
Справочная система, основанная на таблицах, не обладает некоторыми
свойствами стандартной справочной системы Windows, например,
гипертекстовыми связями с другими темами, графическими образами. Она
также не имеет способа форматирования текста, шрифт которого отличен от
стандартного. Достоинствами такой справочной системы является возможность
ее использования на разных платформах (например, Unix), в символьном
режиме или при выполнении формы через Web с использованием Forms Server.
Для использования табличной справочной системы, нужно в предпочтениях
генератора Forms в группе End User Interface для параметра HLPTYP установить
значение HELPFORM, а для параметра HLPFRM указать имя формы, которая
будет использоваться для отображения текста справки (по умолчанию
используется OFGHLPF). Справочная таблица может быть одна для всех
прикладных систем и иметь имя CG_FORM_HELP, либо одна на каждую
прикладную систему, тогда ее имя будет состоять из имени прикладной
системы и FORM_HELP. Для использования первого варианта в предпочтениях
генератора Forms в группе DBA для параметра HPTABL указать значение
GENERIC, а для второго - APPSYS и если используется справочная форма
OFGHLPF, то нужно ее изменить, указав в ней таблицу с соответствующим
именем.
Справочная система, основанная на таблицах, использует текст справки из
репозитария(свойство User/Help Text) на трех уровнях: модуль(module),
компонент модуля(module component), элемент(bound or unbound item). При
генерации приложения на Oracle Forms, этим уровням соответствуют форма,
блок и элемент. Если будет использоваться стандартная справочная форма,
поставляемая с Oracle Designer-ом, то при вызове ее из кого-либо элемента
формы будет отображаться текст справки для этого элемента, если же текст
справки не был задан, то будет использоваться текст справки для блока, а если и
его нет, то для формы.
Справочная система MS
Для использования справочной системы MS Help, нужно в предпочтениях
генератора Forms в группе End User Interface для параметра HLPTYP установить
значение MSHELP. Для установки настроек генератора нужно в меню выбрать
Options-Generator Options-Help System.Там определяются следующие свойства:
 Location of Generated Files - расположение сгенерированных файлов , можно
не указывать, но тогда эти файлы будут помещены в рабочую директорию
Designer-а

Help Compiler - программа для компиляции справки; если используется
компилятор из Help Workshop-а, то нужно указать полный путь, имя
программы(HCW.EXE)
и
параметр
/C,
например
c:\program
files\winhelp\hcw.exe /c
 Help Executable - программа запуска справки; если программа для запуска
Help не указывается, то по умолчанию будет использоваться
WINHLP32.EXE.
Для генерации справки нужно выбрать в меню Generate-Generate Module as и в
появившемся окне диалога выбрать Help System.
Значения свойств, используемые генератором MS Help
Элемент репозитария Свойство
Как используется в справочной системе
Top
Title
Заголовок страницы содержания
Модуль
User/Help Text
Help File Name
Help Graphic
File Name
Help Context ID
Компонент модуля
Title
Группа элементов
Элемент
Бизнес-терминология
User/Help Text
Help Context ID
Prompt
User/Help Text
Prompt
User/Help Text
Name
Comment
Описание страницы содержания
Имя справочного файла (без расширения)
Имя
графического
файла
с
изображением,
отображаемым в заголовке страницы содержания.
Числовой префикс, используемый в справочной
системе для ссылки на справочный текст модуля в
файле .hlp. Это число должно быть уникально для
всех модулей и компонентов модулей включенных в
файл справки, для того, чтобы генератор MS Help
мог создать правильные связи.
Текст гипертекстовой связи со страницы содержания.
Заголовок страницы.
Описание компоненты модуля
см. описание одноименного свойства модуля
Заголовок раздела для группы элементов
Описание группы элементов.
Заголовок раздела для элемента
Описание элемента
Слово глоссария. Каждое слово в тексте справки
совпадающее со словом из бизнес-терминологии
преобразуется в гиперссылку.
Описание
слова
глоссария.
Появляется
во
всплывающем окне при нажатии на гиперссылку
слова глоссария.
Предпочтения генератора MS Help
Параметр Значение
General
CAPKEY Y
N
GRHLOC
ITMPPM
Комментарий
Автоматически создаются ключевые слова.
Для их создания используются свойства:
 модуля - Top Title
 компоненты модуля - Title
 группы элементов - Prompt
 элемента - Prompt
Ключевые слова автоматически не создаются
Путь до графических файлов, используемых в справочной системе.
Символ, используемый в свойстве элемента Prompt, чтобы разделить
заголовок элемента на две части, отображаемых до и после элемента.
MS Help генератор убирает первое вхождение этого символ и заключает
оставшийся текст в скобки.
Рекомендуется проследить, чтобы у этого параметра было то же
значение, что и у одноименного параметра в предпочтениях Forms.
ITMSPM
Hyperlink Titles
DCULTL
DTULTL
GRPLTL
MODLTL
Символ, используемый в свойстве Prompt для разделения заголовка
элемента на разные строки.
Генератор MS Help заменяет любое вхождение этого символа на пробел.
Рекомендуется проследить, чтобы у этого параметра было то же
значение, что и у одноименного параметра в предпочтениях Forms.
Текст, который генератор MS Help вставляет перед списком гиперссылок
на справочную информацию к элементам.
Текст, который генератор MS Help вставляет перед списком гиперссылок
на справочную информацию к компонентам модуля.
Текст, который генератор MS Help вставляет перед списком гиперссылок
на справочную информацию к группам элементов.
Текст, который генератор MS Help вставляет перед списком гиперссылок
на справочную информацию к модулям.
Topic Structure
IGPLTC ALWAYS Генератор MS Help создает новую страницу справки для каждой группы
элементов.
STACKED Для каждой группы элементов, у которых свойство Stacked установлено в
Yes создается отдельная страница справки, при этом справки по
остальным группам помещаются в одном разделе.
NEVER
Справки по всем группам элементов помещаются на одну страницу
справки.
TUPLCT ALWAYS Для каждого компонента модуля создается отдельная страница справки.
MORE
Для каждого компонента модуля создается отдельная страница справки
THEN ONE только в том случае, если в модуле более одного компонента.
NEVER
Справки по всем компонентам модулям помещаются на одну страницу
справки.
Topic Text
DCUCAP Y
Заголовок элемента помещается в справку даже в том случае, если для
этого элемента нет справочной информации.
N
Заголовок элемента помещается в справку только в том случае, если для
этого элемента есть справочная информация.
DCUJPS
Если количество элементов и/или групп элементов (которые
отображаются в одном разделе) больше чем значение этого параметра, то
перед справочной информацией создается список гиперссылок на эти
элементы.
DCUNHP USE HINT Если для элемента отсутствует текст справки, то будет использоваться
TEXT
текст в свойстве Hint этого элемента.
USE
Если для элемента отсутствует текст справки, то будет использоваться
COLUMN
текст в свойстве User/Help Text колонки соответствующей этому
DEFINITION
элементу.
NONE
Текст справки для элемента не выводится. Выводится только заголовок.
DTUNHP USE TABLE Если для компоненты модуля отсутствует текст справки, то будет
DEFINITION
использоваться текст в свойстве User/Help Text базовой таблицы для этой
компоненты.
NONE
Текст справки для компоненты модуля не выводится. Выводится только
заголовок.
NOHTML Y
MS Help генератор фильтрует все тэги HTML, удаляя их из текста
справки. Также удалятся и некоторые символы (например, <) и символы
находящие между < и >.
N
Весь текст выводится "как есть" со всеми тэгами HTML.
Что выбрать? Достоинства и недостатки
Справочные таблицы
Достоинства
Недостатки


Вся
справочная
информация 
находится в одной таблице и после
внесения в текст справки изменений,
все сразу видят обновленный 
вариант
Переносимость. Справочная форма 
может вызываться на разных
платформах, при запуске формы в 
текстовом режиме и через Web
используя Forms server.

Крайне
убогое
представление
информации, отсутствие графики и
гиперссылок
Нестандартный и непривычный
интерфейс
Отсутствие списка ключевых слов
(указатель)
Отсутствие поиска по справочной
системе
Невозможно прочитать справку без
специализированного ПО (Forms
Runtime, SQL*Net, форма для
просмотра справки)
MS Help
Достоинства
Недостатки
 Стандартный интерфейс, привычная  Непереносимость
между
форма представления информации,
платформами,
невозможность
удобство пользования
использования при запуске формы
через Web (через Forms Server)
 Использование
графики
и
гиперссылок
 некоторые недостатки есть у
самого MS Help генератора,
 Возможность контекстного поиска
например,
графику
нельзя
 Наличие списка ключевых слов
использовать в тексте справки
(указатель)
(можно только перед заголовком
 Возможность чтения справки на
раздела).
любом компьютере с ОС Windows

При внесении изменений в текст
без дополнительного ПО
справки необходимо копировать
новую версию на каждое рабочее
место.
Я считаю, что сейчас имеет смысл использовать MS Help генератор, так как
базовая конфигурации ПО рабочего места пользователя ИИАС предполагает
использование Windows в качестве операционной системы, а для выполнения
форм - Forms Runtime. А чтобы не возникало проблем при выполнении формы
через Web (help будет запускаться на стороне сервера), можно в процедуре
CGHP$CALL_MS_HELP из библиотеки OFGHPL.PLL поставить заглушку,
которая гарантирует, что help будет вызываться только из ОС Windows:
If Get_Application_Property(USER_INTERFACE) = 'MSWINDOWS32' Then
rc := WinHelpApi.winhelp(hwnd,h_path,h_command,h_data);
End If;
В дальнейшем стоит подумать об использовании справочной системы на основе
HTML, что позволит избежать проблем с совместимостью. При таком подходе
имеет смысл текст справки хранить в таблицах БД и с помощью Oracle
Application Server формировать страницу справки по контекстному запросу.
Ничто также не помешает, в этом случае, на основании содержимого этих
таблиц сгенерировать статичные страницы HTML, чтобы избежать излишнего
обращения к серверу, а статичные html-страницы, в свою очередь, могут быть
преобразованы в MS HTML Help.
Обозначенный выше подход мне наиболее симпатичен, однако его реализация
равносильна написанию еще одного HELP-генератора и выполнение ее в
сжатые сроки проблематично.
Download