ИРБИС-Навигатор

Материал из Wikipedia
Перейти к: навигация, поиск

Что это такое?

ИРБИС-Навигатор – это клиентское приложение, предназначенное для выполнения ПРОИЗВОЛЬНЫХ операций с базами данных ИРБИС на основе интерфейсов, ПРОГРАММИРУЕМЫХ с помощью Языка форматирования ИРБИС и 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): Результатом выполнения очередной ИРБИС-ссылки может быть следующая ИРБИС-ссылка (соответствующая команда). Таким образом реализуется "конвейерная" обработка. Это позволяет выполнять пакетно (друг за другом) несколько связанных элементарных команд, реализующих некую законченную технологию.

Замечания и рекомендации для пользователей-разработчиков

  1. Прежде всего надо еще раз повторить, что ИРБИС-Навигатор как инструментальное средство адресован пользователям-разработчикам, знакомым с языком форматирования ИРБИС и HTML.
  2. Все представленные здесь примеры имеют минимальный дизайн, т.е. во всех форматах для примеров используются минимальные конструкции HTML – сделано это намеренно, чтобы облегчить их понимание.
  3. Интерфейс ИРБИС-Навигатора «стилизован» под Internet Explorer - для того, чтобы создать для конечного пользователя привычную среду и исключить проблему дополнительного обучения. Но это вовсе не значит, что ИРБИС-Навигатор имеет «претензии» полностью заменить Interrnet Explorer. Из Interrnet Explorer взяты только те функции и интерфейсные решения, которые отвечают назначению ИРБИС-Навигатора. В связи с этим убедительная просьба ко всем, кто будет тестировать ИРБИС-Навигатор, не заниматься «ловлей» его отличий от Interrnet Explorer – разработчику они известны в полной мере. А вот замечания и предложения по существу работы ИРБИС-Навигатора принимаются без ограничений.
  4. У каждого, кто будет знакомиться с ИРБИС-Навигатором, наверняка возникнет вопрос: А чем это отличается от Web-ИРБИС. Ответ может быть таким: во-первых, не нужен WWW-сервер, т.е. доступ к БД ИРБИС из ИРБИС-Навигатора осуществляется напрямую, без WWW-сервера; во-вторых, ИРБИС-Навигатор имеет средства конфигурирования общей части интерфейса (параметры INI-файла), которые позволяют жестко устанавливать рамки дозволенного для конечного пользователя, что вряд ли возможно с Web-ИРБИС; в-третьих, ИРБИС-Навигатор (файл-серверный вариант) применим при публикации БД ИРБИС на CD-ROM; в-четвертых, ИРБИС-Навигатор (клиент-серверный вариант) может работать с несколькими серверами БД ИРБИС, при этом переключение с одного сервера на другой осуществляется "прозрачно" для конечного пользователя (благодаря параметрам SERVERIP и SERVERPORT); и в-пятых, ИРБИС-Навигатор более прост и гибок в настройках, в связи с более широким применением языка форматирования – хотя последнее, может быть, и субъективно. Есть надежда, что пользователи-разработчики продолжат этот список…
  5. Хочется надеяться, что у пользователей-разработчиков (особенно знатоков HTML) не вызовет сильного раздражения то обстоятельство, что конструкции HTML следует встраивать в язык форматирования в виде литералов. Это, разумеется, снижает читабельность того и другого, но другого выхода нет. Сделать обратное – встраивать язык форматирования в HTML – вряд ли возможно.
  6. Создание конкретных приложений на основе ИРБИС-Навигатора в общем виде можно представить как двоякий процесс: с одной (и, разумеется, главной) стороны это разработка определенной последовательности (совокупности) страниц (они же – ссылки, они же – команды, они же – форматы), которые реализуют задачи, решаемые конечным пользователем, с другой стороны это «заточка» общей части интерфейса ИРБИС-Навигатора под конкретного пользователя с помощью параметров INI-файла (в частности, можно сделать так, что конечный пользователь не сможет выполнять никаких иных действий, кроме тех, что входят в список ИЗБРАННОЕ, который в свою очередь «жестко» подается из INI-файла – см. параметры INI-файла)
  7. Список базовых команд, которые реализует ИРБИС-Навигатор, весьма невелик – пока всего 8 команд. Но это не значит, что возможности ИРБИС-Навигатора ограничены – комбинируя и параметрируя эти команды, используя все возможности HTML (в т.ч. и скрипты) можно реализовать практически любые технологии работы с БД ИРБИС (или во всяком случае те, которые имеет смысл решать с помощью ИРБИС-Навигатора. Например, пакетную глобальную корректировку нельзя и не имеет смысла реализовывать в ИРБИС-Навигаторе, а вот автоввод – она же глобальная корректировка на основе одного документа – без проблем). Но как бы то ни было – если в процессе использования ИРБИС-Навигатора появится обоснованная потребность в новых командах, они будут включены.
  8. Имена (по умолчанию) и содержание некоторых параметров ИРБИС-ссылки совпадают с параметрами Web-ИРБИС – к сожалению, только в этом эти два решения совпадают. Т.е. полной совместимости в части параметров и форматов между ИРБИС-Навигатором и Web-ИРБИС нет.
  9. В процессе выполнения команды обращения к файловым ресурсам (команда 3), а также при отображении графических данных из окружения ИРБИС запрашиваемые ресурсы кэшируются (сохраняются) в рабочей директории (WORKDIR). В будущем в общей части интерфейса будет предусмотрен режим очистки кэша – пока при тестировании для этих целей можно пользоваться скрытой командой: двойной щелчок по панели управления.
  10. Все пояснения, связанные с выполнением тех или иных команд, а также использованием их параметров, даются непосредственно в таблице Параметры ИРБИС-ссылки, которая безусловно является главным материалом для освоения ИРБИС-Навигатора.
  11. Конкретные решения для ИРБИС-Навигатора - в виде форматов и других файловых ресурсов - могут стать "легким" объектом распространнеия или обмена между пользователями системы ИРБИС.
  12. Первая (тестовая) версия ИРБИС-Навигатора НЕ ПОДДЕРЖИВАЕТ фреймов в ИРБИС-ссылках.

Ссылки

См. также:

Источники информации: