НАЧАЛО >> WorkflowView >> Руководство программиста доски WorkflowView📄 Скачать в DOCX
Подсистема досок WorkflowView владеет конфигурацией и renderer-контрактом доски. Она строит модель из уже отобранных карточек, объясняет размещение карточек по колонкам и выполняет dry-run перемещения.
Подсистема досок WorkflowView не выполняет поиск записей, не исполняет переходы, не хранит пользовательские preference, не доставляет события и не управляет очередью. Эти операции принадлежат WorkflowFilter, WorkflowTransition, ProfileManager, EventBus и Queue.
NormalizeBoard приводит JSON или record-derived описание к единому виду.GetSystemDefinitions читает board-настройки из элементов views[] с viewType=kanban или viewType=timebox в workflow/*.json модулей-поставщиков.BuildConfiguredBoardModel находит проект, профиль доски и базовый фильтр, затем запрашивает доменные карточки у модуля-поставщика.RenderBoardPage рендерит содержимое доски. Пользовательская страница вызывается через Workflow/Show, где WorkflowView выбирает view по pageKey и типу представления.Board/Kanban/MoveCard применяет drop карточки Kanban-доски в целевую колонку через штатный Workflow::ApplyRecordTransition.BuildBoardModel распределяет уже отобранные карточки по колонкам и swimlanes.Board/Kanban/DryRunMoveCard проверяет возможность перемещения без изменения записи.Board/Time/ResolveColumnKey распределяет карточки timebox-доски по временным bucket-ам.HealthCheckDefinition возвращает provider-контракт диагностических проверок.Для viewType=timebox BuildBoardModel может распределять карточки без доменной логики по временным bucket-ам колонок: overdue, today, this_week, next_week, later, no_due. Значение даты берется из policy.sprintFieldKey, а если оно пустое - из cardProfile.dueDateFieldKey. Доменный модуль должен только положить соответствующее значение в card.data.
Runtime-слой передает в BuildBoardModel уже подготовленные карточки с ключами key, title, statusKey, apiStatus, columnKey, swimlaneKey и data. Проверка прав на поля и маскирование выполняются внешними контрактами.
Доменный модуль, поставивший доску через workflow JSON, может предоставить BuildWorkflowViewBoardCards(records, project, board, options). Например, Tasks преобразует записи TASK в карточки с URL Workflow/Show и pageKey, указанным в detailViewKey доски.
Drag-and-drop UI не меняет запись напрямую. Клиент вызывает WIrbis action WorkflowView/Board/Kanban/MoveCard, а сервер заново строит текущую доску, проверяет, что карточка действительно входит в доступную пользователю выборку, выполняет Board_Kanban_DryRunMoveCard и только после этого применяет найденный переход Workflow.