НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2816] Расширить Menu для публикации TaskPortal в навигации и Cabinet📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Новые возможности | 2026.3 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль Menu - Модуль Меню web-портала
Завершено: 09.09.2026 07:47
Нужно расширить Menu так, чтобы TaskPortal мог штатно публиковаться в навигации ИРБИС 128, личном кабинете и host-aware меню без ручного дублирования пунктов и без обхода прав.
Цель
Администратор должен иметь управляемый способ включить портал задач в стандартную навигацию. Пункт меню должен ссылаться на каноническую страницу TaskPortal, учитывать host context, права пользователя и состояние target-страницы.
Что нужно сделать
Границы ответственности
Menu владеет отображением, порядком, кэшем, materialized-записями меню и административной диагностикой пунктов меню.
TaskPortal владеет portal routes/pages и сообщает, какие entrypoint можно публиковать.
WorkflowView и WorkflowScreen владеют настройкой target-страниц и форм.
Security принимает итоговое решение о доступе к target.
ProfileManager хранит пользовательские предпочтения и разрешенные overrides, но не рендерит меню и не проверяет права вместо Security.
HealthCheck диагностирует битые targetы, недоступные routes, дубли stable keys, конфликты overrides и устаревшие materializedзаписи.
TestA должен проверять sync/dryrun, права, host visibility, cache invalidation и отсутствие runtimeобхода Menu.
Критерии приемки
Связанные модули и контракты
TaskPortal должен предоставить стабильные portal routes/pages и entrypoint metadata. WorkflowView и WorkflowScreen предоставляют target-страницы и формы, на которые может вести пункт меню. Security проверяет итоговый доступ к пункту и target-странице. ProfileManager может хранить пользовательские overrides порядка, избранного или отображения, если такие overrides разрешены. HealthCheck проверяет целостность материализованных пунктов меню. TestA и Help должны покрыть реализацию и эксплуатационную диагностику.
-
Реализован первый прикладной срез I1282816: расширение Menu для публикации TaskPortal и workflow navigation items через штатные PAGEпункты меню.
Что изменено:
__call/*.inc; api.php оставлен как системный каркас и PHPDoc-контракт;NormalizeMaterializedItem, SyncMaterializedItems, ExplainMaterializedItemVisibility, InvalidateCache;PAGE и SIDMenuMaterialization, без отдельного runtime-рендерера;GetPublicationDefinition, ValidatePublicationDefinition, HealthCheckPublication;modules/Menu/system/materialized*navigation*contract.json, Help и TestA safe-read тест.Границы ответственности:
Проверки:
C:\i128\php\php.exe -l по файлам modules/Menu;materialized*navigation*contract.json;git diff --check.[I128-2811] Заявительский портал TaskPortal
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2840] Реализовать WorkflowDesigner как единую административную студию настройки 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
[I128-2814] Расширить ProfileManager для пользовательских настроек TaskPortal
Статус: Завершено | Автор: Ilya Mikhaylenko