ИРБИС-Навигатор
Содержание
Что это такое?
ИРБИС-Навигатор – это клиентское приложение, предназначенное для выполнения ПРОИЗВОЛЬНЫХ операций с базами данных ИРБИС на основе интерфейсов, ПРОГРАММИРУЕМЫХ с помощью Языка форматирования ИРБИС и HTML. Дополнительно ИРБИС-Навигатор может выполнять функции стандартного Web-браузера.
Для чего это нужно?
В исходном виде (т.е. в том виде, в котором он поставляется) ИРБИС-Навигатор представляет собой инструментальное средство, адресованное ПОЛЬЗОВАТЕЛЯМ-РАЗРАБОТЧИКАМ, перед которыми стоят задачи создания оригинальных (специализированных) приложений для КОНЕЧНЫХ пользователей баз данных ИРБИС. При этом предполагается, что пользователи-разработчики знакомы с языком форматирования ИРБИС и HTML.
Как это работает?
Внешне работу ИРБИС-Навигатора можно представить как работу стандартного Web-браузера, который помимо выполнения URL-ссылок может выполнять специальные ИРБИС-ссылки. Но при этом важно понимать, что выполнение ИРБИС-ссылок является ОСНОВНОЙ функцией, а работа с URL-ссылками – дополнительной и даже ПОБОЧНОЙ. Также важно отметить, что работа с БД через ИРБИС-ссылки НЕ ТРЕБУЕТ модуля Web-ИРБИС. Т.е. обращение к БД ИРБИС из ИРБИС-Навигатора производится точно так же, как и из других АРМов – с использованием внутреннего «движка» системы.
Структура ИРБИС-ссылки
ИРБИС-ссылка является «надстройкой» HTML для реализации функций ИРБИС-Навигатора.
В общем виде ИРБИС-ссылка имеет следующий вид:
IRBIS:[параметры_ссылки]
ИРБИС-ссылка может использоваться и формироваться в HTML-странице ТОЧНО так же, как и URL-ссылка.
Все параметры ИРБИС-ссылки могут передаваться методом GET (т.е. непосредственно в ссылке после символа ?) или методом POST.
Для обеспечения преемственности по отношению к ссылкам, применяемым в стандартных форматах для других АРМов ИРБИС, часть параметров может передаваться позиционно в основной части ссылки (до символа ?). Т.е. в общем виде ИРБИС-ссылка может быть представлена как:
IRBIS:[позиционные_параметры]?[поименованные параметры]
Каждая ИРБИС-ссылка реализует ОДНУ команду, поэтому среди передаваемых параметров ОБЯЗАТЕЛЬНО должен присутствовать параметр, идентифицирующий команду, - имя этого параметра по умолчанию C21COM.
Перечень всех параметров, сгруппированных по командам, представлен в следующей таблице…
Поименованные параметры передаются в соответствии с правилами и структурой URL.
В качестве позиционных параметров могут передаваться ТОЛЬКО следующие параметры:
- идентификатор команды (C21COM);
- имя БД (I21DBN);
- имя формата (PFTNAME);
- ключ (KEY);
- путь (PATH);
- имя файлового ресурса (FILENAME).
Для всех команд, кроме 3, структура позиционных параметров имеет вид:
N,,dbname,pftname,key
где N – идентификатор команды.
Для команды 3 структура позиционных параметров имеет вид:
3,path,dbname,filename
Повторим, что наличие и структура позиционных параметров связаны исключительно с обеспечением преемственности по отношению к ссылкам, применяемым в «обычных» форматах ИРБИС. Тем, для кого затруднительно понимание позиционных параметров, можно рекомендовать их вообще не использовать, а применять только поименованные параметры.
Примеры ИРБИС-ссылок:
IRBIS:1,,IBIS,FULLW0_WN,@6
Та же самая ссылка с использованием поименованных параметров:
IRBIS:?C21COM=1&I21DBN=IBIS&PFTNAME=FULLW0_WN&KEY=@6
То же самое со смешанным использованием позиционных и поименованных параметров:
IRBIS:1,,IBIS,,@6?PFTNAME=FULLW0_WN
Необходимо помнить, что при указании значений поименованных параметров можно использовать только латиницу, цифры и некоторые специальные символы – для передачи остальных символов используется специальное представление (для этого в языке форматирования введен специальный форматный выход &unifor(‘+3E..’)).
Помимо собственно ИРБИС-ссылок, работа с которыми является ГЛАВНОЙ функцией ИРБИС-Навигатора, предлагаются дополнительные оригинальные (т.е. интерпретируемые ТОЛЬКО ИРБИС-Навигатором) конструкции HTML.
1. Включение в HTML-страницу графических данных на основе их относительной адресации в системе ИРБИС.
<IMG SRC="IRBIS:path,dbname,filename" .....>
где:
- path – относительный путь в системе ИРБИС. Принимает значения:
- 0 – основная директория ИРБИС;
- 1 – общая директория БД (.\DATAI);
- 2,3,10 – директория БД.
- dbname – имя БД (имеет смысл, если path принимает значения 2,3,10).
- filename – имя графического файла.
Пример
<img src="irbis:0,,IRBIS.GIF">
Дополнение с версии 2012.1: В качестве filename можно указывать PDF-файл. В этом случае конструкция имеет вид:
<IMG SRC="IRBIS:path/page,dbname,filename" …..>
где page – номер страницы PDF-файла (по умолчанию -1)
При этом страница PDF-файла отображается в виде графического образа в формате JPEG.
Пример
<img src="irbis:10/5,IBIS,1.PDF">
2. Отображение на HTML-странице штрих-кода.
<IMG SRC="IRBIS:!!ШШШ!!" …..>
где: ШШШ – значение штрих-кода.
При отображении штрих-кодов используются параметры INI-файла BARCODEHEIGHT и BARCODETYPE
Пример
<img src="irbis:!!12345678!!">
3. Использование ИРБИС-тэга.
<IRBIS TYPE="N">
Смысл ИРБИС-тэга определяется значением параметра TYPE. Пока предлагается одно значение TYPE=0. Такой тэг интерпретируется как порядковый номер документа в списке с учетом порядкового номера первого документа в выводимой порции (значение параметра S21STN). Список типов ИРБИС-тэга в дальнейшем будет пополняться (принимаются заявки пользователей).
Выполнение ИРБИС-ссылки
Каждая ИРБИС-ссылка, выполняемая ИРБИС-Навигатором, представляет собой ОДНУ команду. Результатом выполнения ИРБИС-ссылки (соответствующей команды) является HTML-страница, которая отображается в ИРБИС-Навигаторе (см. ниже Дополнение). В общем случае результирующая HTML-страница состоит из трех частей:
- Верхний колонтитул
- Основная часть
- Нижний колонтитул
Верхний колонтитул формируется как результат форматирования МОДЕЛЬНОЙ записи с помощью формата, имя которого задается параметром TOPPFTNAME (см. список параметров ИРБИС-ссылки). Если данный параметр в ссылке не задается, верхний колонтитул не формируется.
Основная часть формируется как результат форматирования одного или группы документов БД (имя которой задается параметром I21DBN), полученных в результате выполнения соответствующей команды. Документы форматируются с помощью формата, имя которого задается параметром PFTNAME. Если в результате выполнения команды не получен (или не формируется) ни один документ, форматируется МОДЕЛЬНАЯ запись. Есть команды (например, 4 – Просмотр словаря и 5 – Просмотр списка/справочника), в результате выполнения которых создается ТОЛЬКО модельная запись.
Нижний колонтитул формируется как результат форматирования МОДЕЛЬНОЙ записи с помощью формата, имя которого задается параметром BOTTOMPFTNAME. Если данный параметр в ссылке не задается, нижний колонтитул не формируется.
Модельная запись – это условная запись, которая временно создается в процессе выполнения команды и содержит модельные поля. Среди модельных полей можно выделить фиксированные и произвольные. Фиксированные модельные поля содержат значения определенных параметров, передаваемых через ссылку, а также результаты выполнения соответствующих команд. Произвольные модельные поля содержат значения произвольных параметров, передаваемых через ссылку. Назначение и содержание произвольных параметров определяет пользователь.
Модельные поля доступны ТОЛЬКО при форматировании модельной записи. При форматировании реальных записей БД (являющихся результатом выполнения ИРБИС-ссылки) доступны значения произвольных параметров ЧЕРЕЗ СООТВЕТСТВУЮЩИЕ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ языка форматирования.
Список модельных полей дается в таблице Параметры ИРБИС-ссылки.
Форматы, задаваемые параметрами PFTNAME, TOPPFTNAME, BOTTOMPFTNAME, должны находиться в директории соответствующей БД (задаваемой параметром I21DBN) или в депозитарии общих ресурсов системы (только для ИРБИС64). Данные форматы должны быть HTML-форматами – т.е. они могут содержать HTML-тэги и НЕ могут содержать RTF-конструкции. (Разумеется, HTML-тэги включаются в форматы через литералы.)
Дополнение (от 20.07.2009): Результатом выполнения очередной ИРБИС-ссылки может быть следующая ИРБИС-ссылка (соответствующая команда). Таким образом реализуется "конвейерная" обработка. Это позволяет выполнять пакетно (друг за другом) несколько связанных элементарных команд, реализующих некую законченную технологию.
Замечания и рекомендации для пользователей-разработчиков
- Прежде всего надо еще раз повторить, что ИРБИС-Навигатор как инструментальное средство адресован пользователям-разработчикам, знакомым с языком форматирования ИРБИС и HTML.
- Все представленные здесь примеры имеют минимальный дизайн, т.е. во всех форматах для примеров используются минимальные конструкции HTML – сделано это намеренно, чтобы облегчить их понимание.
- Интерфейс ИРБИС-Навигатора «стилизован» под Internet Explorer - для того, чтобы создать для конечного пользователя привычную среду и исключить проблему дополнительного обучения. Но это вовсе не значит, что ИРБИС-Навигатор имеет «претензии» полностью заменить Interrnet Explorer. Из Interrnet Explorer взяты только те функции и интерфейсные решения, которые отвечают назначению ИРБИС-Навигатора. В связи с этим убедительная просьба ко всем, кто будет тестировать ИРБИС-Навигатор, не заниматься «ловлей» его отличий от Interrnet Explorer – разработчику они известны в полной мере. А вот замечания и предложения по существу работы ИРБИС-Навигатора принимаются без ограничений.
- У каждого, кто будет знакомиться с ИРБИС-Навигатором, наверняка возникнет вопрос: А чем это отличается от Web-ИРБИС. Ответ может быть таким: во-первых, не нужен WWW-сервер, т.е. доступ к БД ИРБИС из ИРБИС-Навигатора осуществляется напрямую, без WWW-сервера; во-вторых, ИРБИС-Навигатор имеет средства конфигурирования общей части интерфейса (параметры INI-файла), которые позволяют жестко устанавливать рамки дозволенного для конечного пользователя, что вряд ли возможно с Web-ИРБИС; в-третьих, ИРБИС-Навигатор (файл-серверный вариант) применим при публикации БД ИРБИС на CD-ROM; в-четвертых, ИРБИС-Навигатор (клиент-серверный вариант) может работать с несколькими серверами БД ИРБИС, при этом переключение с одного сервера на другой осуществляется "прозрачно" для конечного пользователя (благодаря параметрам SERVERIP и SERVERPORT); и в-пятых, ИРБИС-Навигатор более прост и гибок в настройках, в связи с более широким применением языка форматирования – хотя последнее, может быть, и субъективно. Есть надежда, что пользователи-разработчики продолжат этот список…
- Хочется надеяться, что у пользователей-разработчиков (особенно знатоков HTML) не вызовет сильного раздражения то обстоятельство, что конструкции HTML следует встраивать в язык форматирования в виде литералов. Это, разумеется, снижает читабельность того и другого, но другого выхода нет. Сделать обратное – встраивать язык форматирования в HTML – вряд ли возможно.
- Создание конкретных приложений на основе ИРБИС-Навигатора в общем виде можно представить как двоякий процесс: с одной (и, разумеется, главной) стороны это разработка определенной последовательности (совокупности) страниц (они же – ссылки, они же – команды, они же – форматы), которые реализуют задачи, решаемые конечным пользователем, с другой стороны это «заточка» общей части интерфейса ИРБИС-Навигатора под конкретного пользователя с помощью параметров INI-файла (в частности, можно сделать так, что конечный пользователь не сможет выполнять никаких иных действий, кроме тех, что входят в список ИЗБРАННОЕ, который в свою очередь «жестко» подается из INI-файла – см. параметры INI-файла)
- Список базовых команд, которые реализует ИРБИС-Навигатор, весьма невелик – пока всего 8 команд. Но это не значит, что возможности ИРБИС-Навигатора ограничены – комбинируя и параметрируя эти команды, используя все возможности HTML (в т.ч. и скрипты) можно реализовать практически любые технологии работы с БД ИРБИС (или во всяком случае те, которые имеет смысл решать с помощью ИРБИС-Навигатора. Например, пакетную глобальную корректировку нельзя и не имеет смысла реализовывать в ИРБИС-Навигаторе, а вот автоввод – она же глобальная корректировка на основе одного документа – без проблем). Но как бы то ни было – если в процессе использования ИРБИС-Навигатора появится обоснованная потребность в новых командах, они будут включены.
- Имена (по умолчанию) и содержание некоторых параметров ИРБИС-ссылки совпадают с параметрами Web-ИРБИС – к сожалению, только в этом эти два решения совпадают. Т.е. полной совместимости в части параметров и форматов между ИРБИС-Навигатором и Web-ИРБИС нет.
- В процессе выполнения команды обращения к файловым ресурсам (команда 3), а также при отображении графических данных из окружения ИРБИС запрашиваемые ресурсы кэшируются (сохраняются) в рабочей директории (WORKDIR). В будущем в общей части интерфейса будет предусмотрен режим очистки кэша – пока при тестировании для этих целей можно пользоваться скрытой командой: двойной щелчок по панели управления.
- Все пояснения, связанные с выполнением тех или иных команд, а также использованием их параметров, даются непосредственно в таблице Параметры ИРБИС-ссылки, которая безусловно является главным материалом для освоения ИРБИС-Навигатора.
- Конкретные решения для ИРБИС-Навигатора - в виде форматов и других файловых ресурсов - могут стать "легким" объектом распространнеия или обмена между пользователями системы ИРБИС.
- Первая (тестовая) версия ИРБИС-Навигатора НЕ ПОДДЕРЖИВАЕТ фреймов в ИРБИС-ссылках.
Ссылки
См. также:
Источники информации: