Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Web Ирбис и Z-Ирбис :  ИРБИС Irbis
 
Папка для хранения общих форматов(Deposit)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 22, March, 2006 23:55

В документации к новой версии WEB ИРБИС 32 можно найти следующие строки:

> 1. Поддерживается работа с папкой Deposit из которой беруться форматы не найденные
> в директории БД.
> 2. Добавлены в папку deposit следующие файлы:
> dbn_web.mnu - список БД для доступа через WEB.
> web_mnu.pft - формат показа меню для переключения БД и видов поиска.
> search_mnu.pft - формат показа меню для режима "Поискать то же самое в базе данных:...".
> sort_mnu.pft - формат показа меню сортировки найденных документов.
> sort_web.mnu - список видов сортировок (имена файлов *.srw).

Отсюда следует, что наконец было принято разумное решение перенести общие для всех баз форматы в одну папку. Я реализовал этот эту идею ещё в предыдущей версии, путём изменения пути в 10-й строке файлов PAR. Только одну проблему мне не удалось решить - это добиться изменения положения файлов MNU. WEB IRBIS продолжал искать их в папке текущей базы, т. е. вёл себя совершенно нелепо.
Теперь, как можно заключить из вышеприведённого фрагмента, файлы MNU в этой папке так же становятся общими. Вот только КАКИМ параметром определяется расположение этой замечательной папки, и КАКИЕ ещё типы файлов могут находиться в ней(почему бы туда не положить ещё и SRW?) - об этом в инструкции ничего не сказано.
Опытным путём удалось выяснить, что никакого параметра, определяющего положение папки, в INI не существует и алгоритм определения путей намертво зашит в CGI. Нет необходимости говорить, что это решение может быть крайне неудобным для пользователей и является хорошим образцом того, что официально называют «дурным тоном программирования».
Кроме того, нужно обратить внимание на низкое качество документации, которая принуждает пользователя проводить сложные эксперименты для выяснения того, что могло быть изложено в одном предложении.

Re: Папка для хранения общих форматов(Deposit)
Пользователь: Карауш (IP-адрес скрыт)
Дата: 23, March, 2006 05:21

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

Re: Папка для хранения общих форматов(Deposit)
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 23, March, 2006 10:15

Да все там параметризируется. По поводу поста Кирилла могу сказать, что параметр в ини есть. Только вот не помню как называется (ирбиса сейчас под руками нет).
2АСК: в цги используется приоритет поиска файлов. Все это реализуемо.

Re: Папка для хранения общих форматов(Deposit)
Пользователь: Jack_Loving (IP-адрес скрыт)
Дата: 23, March, 2006 11:30

Для указания папки Deposit в INI-файле укажите в разделе MAIN параметр DEPOSITPATH. По логике, для отмены работы этой папки, нужно обязательно указать этот параметр с пустым значением. В Полнотекстовых БД – это замечательно работает.
По поводу поста Кирилла, прошу воздержаться от смелых высказываний о плохом тоне программирования Веба. Алгоритм поиска файлов взят из ИРБИС32, который все уже давно усвоили - сначала формат ищется в папках, указанных в PAR-файле, и в конце, если файл не найден, то он ищется в папке DEPOSITPATH!!!


Re: Папка для хранения общих форматов(Deposit)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 23, March, 2006 12:52

Значит относительно параметрирования я был не прав. Что касается качества инструкции, то этот вопрос остаётся.

Кстати, посмотрел все релизы новых версий. Вот всё, что я нашел:

> 2. Новое средство ввода (13) на основе ИРБИС-Навигатора (только > для ИРБИС64) (см. Новый модуль – ИРБИС-Навигатор). При
> подключении данного средства ввода в РЛ полей/подполей в
>качестве РЕЖИМА ВВОДА указывается 13, а в качестве ДОП.ИНФ-ЦИЯ
>указывается ИРБИС-ссылка. Структура и параметры ИРБИС-ссылки
>описаны в \IRBIS64\Datai\Deposit\Irbis_Navigator_Help0.html (смотри
>режим ПОМОЩЬ в ИРБИС-Нвигаторе).

Обратите внимание, что речь идёт об IRBIS Navigator, который вообще не работает вместе с IRBIS 32.

**********

> Алгоритм поиска файлов взят из ИРБИС32, который все уже давно усвоили – сначала формат
> ищется в папках, указанных в PAR-файле, и в конце, если файл не найден, то он ищется в папке DEPOSITPATH!!!

Вы уточняли работоспособность этой функции в WEB IRBIS 32, или это только ваше предположение, что она должна там работать? Я создал параметр в INI файле, добавил в KN.PFT ссылку на формат в Deposit и убедился в том, что подключения на происходит…



Отправка отредактированного (23-03-06 23:40)

Re: Папка для хранения общих форматов(Deposit)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 23, March, 2006 23:41

Выявлен целый ряд ошибок, возникающих при работе с папкой Deposit. Проиллюстрирую на конкретных примерах.
В папке Deposit находится файл dbn_web.mnu, содержащий названия баз и их расшифровки. Задача - расшифровать названия.
1. Конструкции <!FORMAT=&uf('Kdbn_web.mnu|','NWPIB')> и <!FORMAT=@nnn> , где nnn.pft - формат, содержащий строку &uf('Kdbn_web|','NWPIB') не работает.
2. Конструкция <!FORMAT=&uf(‘6ddd’)>, где ddd.pft - формат, содержащий строку ‘Строка' - так же не работает.
3. Конструкция &uf('+1W6#',v1050),(if &uf('+5Tdbn_web.mnu')<>'' then if &uf('+1R6')= &uf('+5Tdbn_web.mnu') then &uf('+5Fdbn_web.mnu'), fi else break fi), &uf('+1W6#'), - РАБОТАЕТ

ВЫВОДЫ
Таким образом, в новых версиях дополнительным источником ошибок могут стать противоречивые правила подключения внешних ресурсов. По всей вероятности, это связано с тем, что встроенный форматер работает иначе нежели форматер irbis32.dll. Чтобы банально расшифровать название базы с использованием MNU из Deposit, требуется использовать цикл(повторяющуюся группу); чтобы подключить формат можно применять только конструкцию <!FORMAT=@
В первый момент может возникнуть впечатление, что между данными ошибками отсутствует какая-либо связь, но это неверно: здесь присутствует железная логика. Константин Олегович обеспечил поддержку работы папкой DEPOSIT только для тех функций, которыми пользовался сам...

Re: Папка для хранения общих форматов(Deposit)
Пользователь: Анонимный пользователь (IP-адрес скрыт)
Дата: 17, April, 2006 10:52

Видимо, целесообразно иметь папку Deposit и в «самом» ИРБИСе (тем более что она есть в Навигаторе)?
Согласен, что последние «релизы» недостаточно понятны и слишком кратки



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.