Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Сообщения разработчиков ИРБИС :  ИРБИС Irbis
 
Выпущена новая версия ИРБИС 128: 2012.0313
Пользователь: Михайленко Илья (IP-адрес скрыт)
Дата: 14, March, 2012 10:55

Выпущена новая версия ИРБИС 128: 2012.0313.

ВНИМАНИЕ! Запросить поставку новой версии теперь можно самостоятельно!

Система запроса новой версии находится по адресу:
[lib.omgtu.ru]

Данная система позволяет самостоятельно запросить обновление системы автоматизации библиотек ИРБИС 128.
В поле GUID необходимо внести уникальный идентификатор библиотеки. Посмотреть его можно в файле lic.php, в строке
$OPTIONS['ORGKEY']='18bb5140-c055-45f1-8300-96593b9c53b2';
В данном примере идентификатором будет являться 18bb5140-c055-45f1-8300-96593b9c53b2
Именно эту строку (без кавычек и с соблюдением регистра символов) необходимо указать в поле GUID, после чего нажать на кнопку ok.

После нажатия на кнопку ok будет сгенерирован дистрибутив и ссылка на него будет отправлена на почтовый адрес, указанный при поставке системы. Почтовый адрес, на который отправлена информация будет указан в результатах создания дистрибутива.
По всем возникающим вопросам/проблемам обращайтесь по адресу vrmoro@gmail.com

Кроме того, система ИРБИС-128 теперь сама (при наличии выхода в сеть Интернет) запрашивает новую версию. Ссылка на дистрибутив автоматически приходит дилеру.

Что нового в версии 2012.0113:

Общее
[+] Появился механизм форматирования записей на основе языка PHP. По мере написания PHP-форматов есть надежда на полный отказ от pft-форматов. Работы тут еще очень много.
[+] Формат ASP/brief - краткий формат описания
[+] Формат ATHRA/brief - краткий формат описания
[+] Формат AUNTD/brief - краткий формат описания
[+] Формат AZP/brief - краткий формат описания
[+] Формат DISC/brief - краткий формат описания
[+] Формат FAK/brief - краткий формат описания
[+] Формат IZD/brief - краткий формат описания
[+] Формат J/brief - краткий формат описания
[+] Формат KAT/brief - краткий формат описания
[+] Формат KS2/brief - краткий формат описания
[+] Формат KS3/brief - краткий формат описания
[+] Формат KSFP/brief - краткий формат описания
[+] Формат KSFS/brief - краткий формат описания
[+] Формат KSI/brief - краткий формат описания
[+] Формат KSU/brief - краткий формат описания
[+] Формат MUSP/brief - краткий формат описания
[+] Формат NJ/brief - краткий формат описания
[+] Формат NJK/brief - краткий формат описания
[+] Формат NJP/brief - краткий формат описания
[+] Формат OJK/brief - краткий формат описания
[+] Формат PAZK/brief - краткий формат описания
[+] Формат PLAN/brief - краткий формат описания
[+] Формат POLZV/brief - краткий формат описания
[+] Формат RDR/brief - краткий формат описания
[+] Формат RDRU/brief - краткий формат описания
[+] Формат SPEC/brief - краткий формат описания
[+] Формат SZ/brief - краткий формат описания
[+] Формат SZPRF/brief - краткий формат описания
[+] Формат VUZ/brief - краткий формат описания
[+] Формат ZK/brief - краткий формат описания
[+] Формат IBIS/brief_215 - Вывод количественных характеристик в brief-форматах
[+] Формат IBIS/brief_923_notspec - Вывод информации о выпуске (части) в brief-форматах
[+] Формат IBIS/brief_900t - Вывод информации о типе материала в brief-форматах
[+] Формат IBIS/PublYear - год публикации

Редактор записи
[-] Исправлен выбор значения из словаря (тип 2) - теперь подполя отображаются корректно.
[*] Изменен процесс обмена данными с сервером приложений при редактировании записи (связка поле-подполе). Работает теперь корректно, хоть и не оптимально - количество запросов будем сокращать.
[+] Если редактируемое поле повторяющееся и последнее, то автоматически добавляется новое повторение для ввода.
[+] Alt-Д на выделенном поле устанавливает значение этого поля в текущую дату в формате ГГГГММДД
[+] Если есть возможность ввода с помощью специального инструмента, то вызвать этот инструмент теперь можно не только по нажатию клавиши F2, но и через кнопку на тулбаре редактора

Re: Выпущена новая версия ИРБИС 128: 2012.0313
Пользователь: Михайленко Илья (IP-адрес скрыт)
Дата: 14, March, 2012 11:45

Чуть подробнее о форматах.

Вообще, зачем потребовалось создавать свою подсистему форматов? Потребовалось, т.к. ИРБИС-128 работает не только с базами данных ИРБИС, но и с иными системами, которые про форматы ИРБИСа не знают ничего. Сегодня расформатирование записей по таким системам происходит в ИРБИС-128 средствами сервера ИРБИС-64, что, к сожалению, не всегда приводит к корректным результатам: нет возможности обработки связанных записей, обработки индексов БД и т.д, т.к. ИРБИС 64, естественно, не понятия не имеет о какой-либо удаленной системе. Как следствие - не знает о необходимости трансляции поисковых запросов для этой удаленной системы, да и искать что-либо в ней то же не умеет.
Тем не менее, раз мы стремимся к единообразной работе вне зависимости от источника данных - нам необходимо поддерживать все эти возможности.

Для любознательных

Форматы в ИРБИС 128 - это php-класс, который имеет имя i128Format_<formatname> и обязательно содержит функциию
function Fmt(DB &$db, Record &$r, $params)
Где $db - класс БД в рамках которой производится форматирование, $r - запись для расформатирования, $params - произвольные параметры для передачи форматеру. На данный момент $params четко не формализован и будет уточняться в последующем.

Класс формата можно наследовать от вспомогательного класса FormatHelper (см. classes/format128.php) - этот класс предоставляет некоторый функционал для облегчения перехода от форматов ИРБИС64 к форматам ИРБИС128.
Функционал этого класса:

 
function Init(DB $db, $r=null)
function DeInit()
// Функции инициализации и деинициализации. Вызываются в начале и в конце соответственно.

 function SubFmt($name,$formatstorage='',$params=array())
//Вызов подформата ИРБИС-128

 function ClearRs()
 function GetRs($search,$seq='')
// Функции для работы с результатами поиска. Эффективны при использовании одного и того же результата поиска при расформатировании группы записей (например, номеров журнала) - в этом случае реальный поиск происходит лишь 1 раз, после чего результат поиска кешируется и при вызове этого поиска для других записей, результат берется из кеша.
// $search - поисковое выражение на языке ИРБИС
// $seq - поисковое выражение для последовательного поиска

 function occs($fld)
// Возвращает количество повторений поля

 function uslliteral($v,$prefix,$postfix='')
// аналогично формату ИРБИС64 "prefix"<v>"postfix".

 function prepostfix(array $vals,$prefixtype='',$prefix='',$postfixtype='',$postfix='')
// Обработка условных литералов в ИРБИС 64. 
// $vals - набор значений, 
// $prefixtype - тип литерала (" или | или |+ или +|). Обработка аналогична таковой для соответствующих литералов ИРБИС 64
// $prefix - собственно, значение, заключенное в литералы
// $postfixtype - тип литерала (" или | или |+ или +|). Обработка аналогична таковой для соответствующих литералов ИРБИС 64
// $postfix - собственно, значение, заключенное в литералы

 function v($fld,$occ=0,$subf='',$prefixtype='',$prefix='',$postfixtype='',$postfix='')

// Аналог команды v в ИРБИС 64. Литералы аналогичны функции prepostfix. // Если occ=0, в качестве значений используются все повторения поля.

 function d($fld,$occ=0,$subf='',$prefixtype='',$prefix='',$postfixtype='',$postfix='')
 function n($fld,$occ=0,$subf='',$prefixtype='',$prefix='',$postfixtype='',$postfix='')
 function p($fld,$occ=0,$subf='')
 function a($fld,$occ=0,$subf='')
// // Аналоги команд d,n,p и a в ИРБИС 64. 

 function s($fld,$subf)
// аналог команды s для поля.

 function instr($str,$test)
// Аналог конструкции ':'. 

 function mnudescbykey($mnuname,$key)
// раскодировка справочника по ключу

 function ufG0($str,$symb)
// Вернуть часть строки до заданного символа (не включая его)

 function ufG1($str,$symb)
// Вернуть часть строки начиная с заданного символа (включая его)

 function ufG2($str,$symb)
// Вернуть часть строки начиная с заданного символа (НЕ включая его)

 function IrbisToHumanDate($idate)
// Дату ГГГГММДД преобразует в дату ДД.ММ.ГГГГ

Почему для форматирования используется php, а не язык форматирования ИРБИС? Тут несколько причин:

1. php - интерпретатор. Интерпретатором интерпретировать еще что-то - не самое хорошее решение с точки зрения произодительности.
2. php - общий язык и для исходного кода системы и для форматов.
3. Возможности php значительно превосходят возможности языка форматирования ИРБИС
4. Формат на php вообще говоря не обязательно может возвращать текстовую строку, а это значит, что ту же технологию можно применить и для создания fst и для статистики и для выходных форм и для глобальных корректировок. В общем-то все технологические процессы со временем можно будет перевести на эту технологию

И именно с отсутствием этого механизма связана задержка с созданием функционала выходных форм и статистики. Очень не хотелось ошибиться в технологии форматирования, т.к. это одна из базовых технологий в системе.

Еще одно важное замечание.
API ИРБИС 128 находится в стадии документирования и скоро появится в документации на систему.



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