Чтение и правка флоу
Открытие воркфлоу в веб-интерфейсе (/workflows/<id> или /workflows/<handle>/<slug>)
показывает страницу флоу: определение воркфлоу, прочитанное как процесс, который оно
объявляет, без запуска. Всё на странице выведено из определения — блоки из progress.nodes,
принадлежность из progressNodeId, переходы и циклы из подписанных связей, — поэтому картина не
может разойтись с графом. Воркфлоу без представления процесса (progress) показывает вместо этого
технический граф нод с деталями нод.
Режимы
Вкладки над картинкой переключают, как показано одно и то же определение; выбор хранится в URL
как view.
- Конспект (по умолчанию) — процесс как документ: каждый блок — нумерованный раздел с описанием, переходами словами (включая, почему случается цикл и когда он заканчивается) и шагами со свидетельством, которое каждый требует.
- Карта — процесс как схема на всю область: блоки слева направо, соседние переходы как стрелки с подписями, циклы тонким пунктиром снизу, переходы через блоки — сверху; к блоку, в который ведут многие другие, от каждого из них идёт тонкая линия. Каждый цикл, пропуск и выход в такой блок назван чипом в исходном блоке, как и три и более параллельных перехода в следующий блок (один чип с их числом); наведите на чип (или линию), чтобы подсветить её и прочитать подпись, а выбранный блок держит свои линии подсвеченными. Прокручивайте или тяните для перемещения, масштаб — щипком (или колесом с зажатым Ctrl).
- Дорожки — по карточке на блок в порядке процесса, циклы — тонкими дугами под рельсой, а
переходы, минующие блок, — тонкими линиями над ней, без подписей в покое; каждая карточка
называет свои циклы и пропуски чипами (несколько в один блок — одним чипом с
×k), наведение на чип (или линию) подсвечивает линии с подписью, а для одиночного цикла — с причиной и выходом. Рельса перемещается и масштабируется как карта. «Текущего» блока нет: у определения нет запуска. - Разворот — блоки против их реализации: выберите блок слева, чтобы справа увидеть реализующие его шаги в порядке выполнения с их связями. Чипы ведут в блок, куда уходит связь; поиск сверху отвечает на вопрос «в каком блоке этот шаг».
- Граф — каждая нода воркфлоу как карточка шага, сгруппированная по блокам в порядке процесса, с теми же чипами связей, что и в разбивке. Линией рисуется связь, которая идёт прямо от карточки к карточке. Цикл, переход в другой блок и всё, что пересекло бы картинку, не рисуется, а называется: чип связи в исходной карточке говорит, куда ведёт, а в карточке-цели появляется чип прибытия с именем источника и его блоком. Наведение на любой из чипов или на любую из двух карточек рисует эту линию с подписью и гасит остальные, а нажатие на чип прибытия подводит вид к другому концу. Картинка открывается на первом блоке; в группе масштабирования кнопка подгонки показывает весь граф, «Вертикально» и «Горизонтально» меняют направление. Боковая панель показывает определение выбранной ноды, а нажатие на шаг в панели блока открывает граф на этой ноде.
Панель
- Блок — выбранный блок (по умолчанию первый): его описание, куда он ведёт и его шаги в виде карточек одной формы (бейдж типа на одном месте, затем имя, первое предложение и поля, которые шаг обязан вернуть, — свидетельство, которое Мойра проверяет, прежде чем запуск продолжится); режим «Разворот» показывает те же карточки с их связями. На графе узлов выбранный шаг, называющий playbooks, перечисляет их в своих деталях со ссылкой на каждый; недоступный вам помечен как недоступный.
- Переменные — реестр переменных в виде строк: каждая глобальная переменная, объявленная воркфлоу, с типом и значением по умолчанию; раскройте строку, чтобы увидеть описание и всё объявление как JSON Schema. В режиме правки тип, значение по умолчанию, описание и схема правятся в строке.
Правка определения
Владелец воркфлоу может включить Править флоу (edit=1 в URL). Режим правки меняет само
определение и никогда — запуск:
- название и описание блока, на месте (Конспект и Разворот);
- подпись перехода и, для возврата, причину и выход его цикла (карандаш рядом с ним);
- принадлежность шага блоку и директиву, условие завершения, сообщение или выражения шага (Разворот);
- реестр переменных — объявления, типы, описания и значения по умолчанию (вкладка «Переменные»).
Виды пересчитываются по мере ввода. Изменение, которое сделало бы процесс нечитаемым — шаг в блоке, из которого уходит связь без подписи, пустой блок, — сразу появляется как диагностика с тем же кодом, который использует валидация сервера, а сохранение остаётся недоступным, пока это не исправлено. Экспорт перечисляет ровно те записи файла флоу, которые изменят правки: путь в JSON, значение до и после.
Сохранить отправляет всё определение на сервер против ревизии, загруженной страницей. Сервер
проверяет его так же, как manage edit, и отклоняет невалидное определение (ничего не
сохраняется). Каждая запись определения в хранилище — с этой страницы, из manage, при
синхронизации встроенного каталога — увеличивает его ревизию; если кто-то изменил воркфлоу
после загрузки страницы, сохранение отклоняется с конфликтом, а правки остаются на странице:
перезагрузите её и примените их заново. Запуск читает сохранённое определение на каждом шаге,
поэтому уже идущий запуск следует сохранённым правкам начиная со следующего шага; правьте воркфлоу
с приостановленными запусками осознанно.
Общие и встроенные воркфлоу показываются без режима правки; скопируйте встроенный флоу («Использовать как шаблон»), чтобы получить редактируемый.
Объяснение страницы
Объяснить страницу проводит по странице за шесть шагов — блок, шаг, свидетельство, цикл,
правка и режимы, — подсвечивая элемент, который показывает каждый из них. Шаг хранится в URL как
guide, поэтому на позицию можно дать ссылку. Каждый режим открывается короткой заметкой, для чего
он.