Заготовки, экспорт и импорт

Собирать флоу с нуля необязательно: для типовых задач есть готовые заготовки (пресеты), а удачные свои схемы можно выгрузить в файл и перенести в другой проект.

Пресеты: готовые флоу в один клик

В редакторе флоу нажмите «Пресеты». Откроется галерея — шесть заготовок на самые частые задачи:

Галерея пресетов

Пресет Что делает
Страница Превращает флоу в страницу сайта: необязательные запросы из библиотеки → узел рендера. Страницу целиком рисует флоу.
Вход Вход участника: проверяет пароль, ставит cookie-сессию и ведёт на заданную страницу успеха.
Регистрация Создаёт участника и отправляет письмо с подтверждением; страница подтверждения тоже создастся.
Забыли пароль Отправляет письмо со ссылкой сброса; страница сброса пароля тоже создастся.
Смена пароля Проверяет старый пароль и сохраняет новый.
Выход Удаляет cookie-сессию и возвращает на главную.

Выберите карточку — откроется окно параметров. Например, у «Страницы» просят шаблон и необязательные запросы из библиотеки:

Окно пресета «Страница»

Путь для пресета не нужен: маршрут привяжется к флоу сам (а поменять его можно потом в шапке «Пути», как описано в статье про маршруты). Пресеты авторизации (Вход, Регистрация…) сами создают и страницы-спутники — подтверждение, сброс пароля.

Нажмите «Сгенерировать» — схема соберётся на холсте. Дальше её можно дорабатывать как любую свою: менять тексты писем, адреса редиректов, включать узлы.

Экспорт: флоу в файл

В списке флоу у каждой строки есть кнопка «Экспорт», над списком — «Экспорт всех». Скачивается файл .dynflow.json (для всех — flows.dynflows.json).

В файле едет всё нужное для переезда (фрагмент настоящего файла экспорта флоу «Каталог услуг»):

{
  "format": "dynapi-flow",
  "handle": { "slug": "katalog-uslug", "name": "Каталог услуг" },
  "routes": [
    { "path": "/katalog-uslug", "methods": ["GET"], "cache": { "defaultTtl": 300 } }
  ],
  "flow": { "version": 2, "nodes": [ "…" ], "edges": [ "…" ] },
  "queries": [ { "name": "services_list", "query": "query { services … }" } ],
  "templates": [ { "path": "katalog.liquid", "content": "…" } ]
}

В файле едет всё нужное для переезда:

  • сама схема флоу;
  • маршруты, к которым он привязан (пути, методы, TTL);
  • запросы из библиотеки, на которые он ссылается;
  • шаблоны страниц, которые он рисует.

Данные CMS (записи, услуги, посты) не переезжают — только структура. Это осознанно: контент — живое хозяйство проекта, схему можно переносить смело, а данные копируют средствами бэкапов.

Импорт: файл в другой проект

В другом проекте: «Сайт» → вкладка «Флоу» → «Импорт» — и выберите файл. Платформа аккуратно разложит содержимое:

  • запросы добавятся, если имя свободно (занятое — пропустится);
  • шаблоны добавятся, если их ещё нет;
  • флоу создастся на свободном пути; если путь занят — он пропустится с предупреждением, ничего не перезатрётся.

Так работают шаблоны из нашей библиотеки пресетов сайтов и переезды между проектами: собрали сайт-витрину один раз — раскатывайте его копии на новых клиентах за минуты.

Частые вопросы

Вопрос Ответ
Файл импорта «не читается» Файл повреждён или это не экспорт флоу: нужен .dynflow.json, полученный кнопкой «Экспорт».
После импорта нет части шаблонов Шаблоны с такими путями уже существовали — импорт не перезатирает.
Импортированный флоу на другом пути Путь был занят: флоу создан, а привязку к занятому адресу сделайте вручную в «Путях».