НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2825] Расширить FieldConfiguration как реестр полей workflow-проектов📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Новые возможности | 2026.3 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль FieldConfiguration - Настройки поля
Завершено: 08.09.2026 13:43
Нужно расширить FieldConfiguration как общесистемный source of truth для семантики полей recordbased модулей и workflowпроектов. Код Tasks, WorkflowScreen, WorkflowView, WorkflowFilter и публичных форм не должен зависеть от физических номеров полей и подполей.
FieldConfiguration должен описывать стабильные field keys, типы данных, ввод, отображение, поиск, экспорт, API, подсказки и связь с ws/he3/he2.
Добавить реестр полей для типа записи, проекта и workflow-контекста: stable field key, physical field/subfield binding, тип значения, cardinality, required policy, default policy, input method, display formatter, search/index profile, export/API profile и help hints.
Поддержать system JSON definitions и copy/customization model для пользовательских проектов.
Интегрировать field keys с WorkflowScreen, WorkflowView, WorkflowFilter, he3/ws, публичным renderer, API, export и Security field rules.
Обеспечить diagnostics: missing binding, duplicated key, incompatible type, broken ws/he3 binding, unindexed searchable field, unsafe public field, конфликт system/user override.
Добавить API получения metadata field registry для UI, API, TestA и HealthCheck.
Не дублировать права внутри FieldConfiguration: field access decision должен выполняться через Security по общему permission contract.
FieldConfiguration владеет metadata полей и stable field keys.
Security владеет разрешениями на чтение/изменение полей; WorkflowScreen/WorkflowView используют registry, но не хранят физические номера как source of truth; Tasks хранит только доменные значения в записи.
he3/ws остаются механизмом редактирования, но получают семантические настройки поля из registry.
Администратор может описать поле через stable key и связать его с физическим полем/подполем записи.
WorkflowScreen/View/Filter и публичный renderer работают через field keys.
Изменение физического номера поля требует правки конфигурации, а не кода Tasks или Workflow*.
HealthCheck находит конфликтные, отсутствующие и небезопасные настройки полей.
Экспорт и API используют единые field keys и типы данных.
TestA должен покрыть resolution field key, ws/he3 binding, Security integration, фильтрацию, API/export metadata, system JSON и HealthCheck diagnostics.
Help должен описать настройку field registry, типы полей и правила миграции физических полей.
-
I1282825: реализован первый кодовый срез расширения проектов. PR не переносит в FieldConfiguration как общего реестра полей workflowFieldConfiguration исполнение прав, фильтров, экранов, списков, Workflow-переходов или доменную логику Tasks: модуль хранит и нормализует field metadata, а потребители используют ее через стабильный fieldKey.
Куда смотреть:
FieldConfiguration новыми секциями "Реестр поля", "Физическая привязка хранения", "Профиль ввода", "Отображение, поиск, API и права", "Где используется" и "Набор полей".FieldConfiguration теперь дает recordFieldDefinition и FieldPack, нормализацию JSON/array описаний, разрешение поля по контексту, wheremodules/FieldConfiguration/system/field*configuration*registry_definitions.json.FieldConfiguration/AdminGuide, FieldConfiguration/DeveloperGuide, FieldConfiguration/Runbook; обновлены Root и Purpose.создана от актуальногоdevelop; PR направлен вdevelop`.Изменения по файлам:
modules/FieldConfiguration/api.php
ObjectDataFieldConfigurationDefinition и ObjectDataFieldConfigurationPack поверх ObjectDataRecord.FieldConfiguration оставлены системные методы модуля, hooks сохранения и PHPDoc @method для публичных __call-операций.he2, но новый registrymodules/FieldConfiguration/__call/*.inc
__call: NormalizeFieldDefinition, NormalizeFieldPack, ResolveFieldDefinition, BuildWhereUsedReport, GetSystemDefinitions, HealthCheckDefinition, ApplyRecordIndexes, RecordToFieldDefinition, RecordToFieldPack, ExportLegacyConfiguration, GetBySid.Variables обновлен как редактор legacymodules/FieldConfiguration/system/field*configuration*registry_definitions.json
modules/FieldConfiguration/Formats/brief.pft128
GetSubDField.FieldPack и новых fieldKey-описаний.modules/FieldConfiguration/Tests/Module.inc
FieldConfiguration.module.registry.Проверки:
api.php, все __call/*.inc, Tests/Module.inc, Formats/brief.pft128.field*configuration*registry_definitions.json.UseModule('TestA')~~>RunModule('FieldConfiguration', array('levels' => 'safe~~read')) -> 1 passed, 0 failed.FieldConfiguration нет прямых UseModule на Tasks, Workflow*, Security, FieldHistory.git diff --check без ошибок.[I128-2800] Каноническая запись задачи TASK
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2830] Реестр API-контрактов и профилей внешней интеграции
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2831] Mapping внешних интеграций и реестр ExternalId в модуле API
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2834] AI input profiles, masking и consent
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2838] AI-операции задач в модуле Tasks
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2839] Реализовать WorkflowApproval для формальных согласований workflow-переходов
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2840] Реализовать WorkflowDesigner как единую административную студию настройки workflow-проектов
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2790] Расширить Workflow* для промышленного контура задач
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2791] Расширить WorkflowScreen/WorkflowView для публичных ws-форм и представлений
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2797] Расширить Security для проектных прав, полей, действий и аудита доступа
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2798] Реализовать HealthCheck для workflow-проектов и задач
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2799] Подготовить TestA-контракты системных JSON и end-to-end сценариев
Статус: Завершено | Автор: Ilya Mikhaylenko