НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2777] Единый модуль обращений VirtualRef вместо IrbHelp📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Новые возможности | 2026.3 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль VirtualRef - Виртуальная справка
Завершено: 24.08.2026 15:19
Ценность Пользователь и сотрудник библиографической справки работают с единым сервисом на базе VirtualRef без выбора между IrbHelp и VirtualRef. Вопросы обрабатываются по логике, близкой к Jira: у каждого вопроса есть проект, человекочитаемый ключ, статус, ответственный, наблюдатели и история изменений. С точки зрения ИРБИС 128 проект VirtualRef является профилем обслуживания: он задает ключ, права доступа, workflow, нумерацию и рабочие списки. Все пользовательские и рабочие сценарии IrbHelp сводятся в VirtualRef; IrbHelp не остается отдельным модулем или совместимым слоем.
Сценарий
Терминология Внутренняя сущность называется проектом VirtualRef, потому что она дает Jira-like ключ и нумерацию вопросов. В пользовательском интерфейсе ее можно называть профилем, направлением или службой, если это лучше соответствует конкретной установке ИРБИС 128. Независимо от отображаемого названия эта сущность должна сохранять проектный ключ, права доступа, workflow и счетчик вопросов.
Совместимость Старые ссылки IrbHelp/*, совместимые обертки и редиректы не поддерживаются. Обратная совместимость IrbHelp не требуется.
Записи SUPPORT/MESSAGES сейчас нигде не используются, поэтому миграция, совместимое чтение и сохранение этих записей не входят в обязательный scope задачи.
Существующие сценарии VirtualRef для виртуальной справки не должны ломаться без явного решения в этой задаче. Если для проектов/профилей или workflow потребуются отдельные конфигурационные сущности или модули, они должны быть связаны с VirtualRef и не должны создавать второй пользовательский сервис вместо VirtualRef. Настройки, права, системные страницы и Help-документация для библиографической справки должны быть переведены на VirtualRef.
-
Задача I1282759 расширяет DP*Irbis64Native контрактами конкурентной записи, пакетной обработки и объявления возможностей провайдера. PR предназначен для 2746 и только изменения DP*Irbis64Native.develop, содержит доставленную зависимость I128
Куда смотреть:
DP_Irbis64Native, методы GetCapabilities, DeleteRecIfVersion, ReorganizeExcludeDeleted, импорт, сортировка и пакетное обновление записей. Эффект: вызывающий модуль может определить возможности провайдера, выполнять условную запись/удаление и безопасно обрабатывать конкурентные изменения БД. Chrome: не подтверждено, потому что изменение относится к внутреннему провайдеру данных.develop и mergedИзменения по файлам:
modules/DP_Irbis64Native/Tests/Contracts/DatabaseWriteAtomicityContract.php
modules/DP_Irbis64Native/Tests/Contracts/DatabaseWriteConcurrencyContract.php
modules/DP_Irbis64Native/Tests/Contracts/MstAutoExtendContract.php
modules/DP_Irbis64Native/Tests/NativeTestSupport.php
modules/DP*Irbis64Native/*_call/DeleteRecIfVersion.inc
modules/DP*Irbis64Native/*_call/GetCapabilities.inc
modules/DP*Irbis64Native/*_call/GetTermList.inc
modules/DP*Irbis64Native/*_call/ImportFromFile.inc
modules/DP*Irbis64Native/*_call/RecIfUpdateAll.inc
modules/DP*Irbis64Native/*_call/ReorganizeExcludeDeleted.inc
modules/DP*Irbis64Native/*_call/SortMfnByPref.inc
modules/DP*Irbis64Native/*_call/prvGetDbCtx.inc
modules/DP_Irbis64Native/api.php
modules/DP_Irbis64Native/include/IrbisDatabaseLock.php
modules/DP_Irbis64Native/include/IrbisDbLifecycle.php
modules/DP_Irbis64Native/include/IrbisSpaceNative.php
modules/DP_Irbis64Native/include/MstFile.php
modules/DP_Irbis64Native/include/MstSpace.php
modules/DP_Irbis64Native/include/N01File.php
modules/DP_Irbis64Native/include/XrfFile.php
-
Переведен сценарий библиографической справки на единый модуль обращений VirtualRef.
Добавлены проекты, статусы и переходы workflow как управляемые записи с правами.
Вопросы получили ключ, тему, статус, ответственного, наблюдателей и историю изменений.
Действия над вопросом перенесены на страницу просмотра вопроса; ответ редактируется отдельной формой с ссылками, библиографией, связями с ЭК и файлами.
Списки вопросов приведены к компактному dashboard/table-виду; карточка просмотра вопроса приведена к единому плотному layout.
php ~~l по измененным PHP~~like файлам modules/VirtualRef.
git diff --check.
Проверены страницы ?id=VirtualRef/Ask, ?id=VirtualRef/ShowWorker, ?id=VirtualRef/ShowUser, ?id=VirtualRef/ShowFAQ, ?id=VirtualRef/ShowQuestion.
Проверены workflow-confirm, форма VirtualRef/EditAnswer, обзор workflow и порядок блоков в карточке вопроса.
-
I1282777 для задачей release/2026.2: восстанавливает рабочий процесс заявок IrbHelp, который используется downstream[IBK-470](https://jira.irbis128.ru/browse/IBK-470) для сервиса "Библиографическая справка". PR возвращает уведомления, рабочие кнопки обработки и прямой вход сотрудников в обработку заявок.
Куда смотреть:
?id=IrbHelp/Ask, сотрудник с ролью SITESPEC/IRWORKER открывает ?id=IrbHelp/ShowWorker, принимает или поручает заявку, затем отклоняет или завершает ее. Пользователь видит заявку в ?id=IrbHelp/ShowUser и может отменить активную заявку или оценить завершенную.supCreatorEmail != '', модуль был скрыт из admin panel.irbHelpBtnActions.js; server actions проверяют запись и права; IrbHelp/ShowWorker регистрируется как системная страница для IRWORKER; модуль виден в admin panel.SupportMail; для обработки нужна роль SITESPEC/IRWORKER.SUPPORT; выполнены статические и синтаксические проверки.modules/IrbHelp/Help/Workflow.md, добавлено описание уведомлений и SupportMail.[IBK-470](https://jira.irbis128.ru/browse/IBK-470). После merge source branch может быть удалена; для возврата в IBK нужно брать final commit/diff из target branch release/2026.2.Изменения по файлам:
modules/IrbHelp/api.php
modules/IrbHelp/Pages/Ask.page
header().?id=IrbHelp/ShowUser.modules/IrbHelp/__call/CreateMessage.inc
$.modules/IrbHelp/Actions/SetResponsible.inc
SITESPEC/IRWORKER, существования заявки и уведомление о назначении.modules/IrbHelp/Actions/SetSupportStatus.inc
SITESPEC/IRWORKER, допустимых статусов, существования заявки и уведомление об изменении статуса.modules/IrbHelp/Actions/UnlinkUser.inc
IRWORKER; после отмены отправляется уведомление.modules/IrbHelp/Actions/RateSupport.inc
modules/Templates/IRCONS/templates/js/irbHelpBtnActions.js
TakeResponsibility, PutResponsibility, SetStatusDone, CancelSupport, DeleteRecord, RateSupport.modules/IrbHelp/Formats/bodyview.pft128
modules/IrbHelp/Formats/bodyviewUser.pft128
modules/Admin/__call/EnsurePages.inc
IrbHelp/ShowWorker с правом VIEW для SITESPEC/IRWORKER.modules/IrbHelp/Help/Workflow.md
SupportMail и действия обработки заявки.Проверки:
C:\i128\php\php.exe -l для измененных PHP/page/inc/pft128 файлов.node --check modules\Templates\IRCONS\templates\js\irbHelpBtnActions.js.git diff --check.[IBK-470] Некорректно работает сервис «Библиографическая справка»
Статус: Готово | Автор: Ирина Михайленко