4.1 Общие принципы
Last updated
Last updated
Сначала вам нужно выбрать событие, которое вызовет новый рабочий процесс. В большинстве случаев это происходит при нажатии кнопки, и вам нужно будет выбрать элемент, к которому относится это событие. Если рабочий процесс должен работать только при определенных обстоятельствах, вы можете добавить некоторые условия, это будет рассмотрено в следующем разделе (!!!ЛНК!!!)
После создания события появляется панель рабочего процесса, и вы сможете выбрать разные действия одно за другим. Для каждого из них вам нужно будет определить несколько полей, необходимых для выполнения, например, где найти электронную почту для действия "Зарегистрировать пользователя"/"Sign the user up".Порядок действий имеет значение. Если вам нужно вставить одно действие перед другим, нажатие на стрелку покажет меню действий, и вы сможете добавить действие перед текущим.
Вы можете копировать и вставлять рабочие процессы и действия, щелкнув правой кнопкой мыши по ним и выбрав соответствующий параметр. Если вы копируете событие, будет скопирован весь рабочий процесс, также вы можете скопировать и вставить действия по отдельности. Обратите внимание, что если вы вставляете действие в другое действие, копируемое действие будет вставлено перед текущим.
Когда событие срабатывает в рабочем режиме, оно запускает ряд действий, определенных для текущей страницы на вкладке "Рабочий процесс"/"Workflow" вашего приложения . Выполнение происходит последовательно. Если действие изменяет некоторые данные или получает данные от внешней службы, такой как API, следующие действия будут иметь возможность ссылаться на "Результат предыдущего действия"/"Result of previous action". Другими словами, последовательность действий имеет решающее значение.
Когда вы задаёте два (или более) процессов по одному и тому же событию (например, при загрузке страницы), каждый процесс запустится параллельно и независимо от других. Если вам нужно, чтобы один рабочий процесс запускался перед другим, возможно, вам нужно переработать приложение и оставить один процесс с большим количеством действий. Для настройки такого поведения также можно использовать условия и пользовательские события, чтобы некоторые действия запускались перед другими и при определенных условиях. Это будет описано ниже.
События и действия по категориям в главном меню, когда вы кликаете по пустой ячейке события/действия.
В целом, существует три основных типа событий:
События с элементами - эти события наиболее распространены при разработке на Bubble. Они срабатывают, когда пользователь взаимодействует с элементом. Например, клик по отметке на карте или кнопке. Для каждого события нужно определить, к какому элементу оно относится. Обратите внимание, что эти события отобразятся в списке только в том случае, если на странице находится подходящий элемент.
Общие события - эти события, такие как "Текущий пользователь вошел в систему"/"The current is user logged in" или "Сделать, когда условие..."/"Do when a condition...", срабатывают тогда, когда изменяется общий параметр приложения, в этом случае пользователь регистрируется. Это не связано с каким-то конкретным действием пользователя. Эти события могут быть более сложными для отладки, поскольку они происходят, когда что-то меняется, но не обязательно при участии пользователя. Отладчик очень полезен для отладки этих ситуаций.
"Пользовательские события"/"Custom events" - это очень специфический тип событий, позволяющий вам определить некоторые многократные серии действий, которые могут использоваться в других рабочих процессах. См. соответствующие раздел (!!!ЛНК!!!) ниже.
Аналогично, действия тоже делятся по категориям:
Управление учетной записью - эти действия позволяют зарегистрировать пользователя, войти в систему, выйти из системы и т.д.
Навигация - эти действия позволяют пользователю переходить по страницам вашего приложения
Данные (сущности) - эта категория содержит действия по чтению и записи данных. Следующая глава (!!!ЛНК!!!) рассмотрит их в подробностях.
Email - эта категория объединяет несколько действий по рассылке писем пользователям
Оплата и аналитика - встроенные в Bubble действия, связанные с оплатой кредитными картами, управлением подписками и аналитикой, находятся в этих двух категориях. Заметьте, что эти действия могут осуществляться плагинами, созданными Сообществом, тогда они будут в разделе "Плагин"/"Plugin"
Плагины - в этой категории собраны наиболее популярные действия, например, отправка данных в другой сервис. См. главу "Использование плагинов" (!!!ЛНК!!!) для получения подробностей.
Элементы - это действия, определяемые элементом. Например, "отобразить список внутри повторяющейся группы"/"display a list in a repeating group", "установить пользовательское состояние"/"set a custom state" или "перейти к элементу"/"scroll to an element". Для каждого действия нужно будет выбрать соответствующий элемент на странице. Обратите внимание, что так как эти действия зависят от элементов, в списке будут только те действия, которые соответствуют типам элементов, находящихся на странице.
Подробности по событиям (!!!ЛНК!!!) можно найти в Справочнике, в частности, различные поля, которые должны быть заполнены в Редакторе свойств.
Наконец, некоторые действия могут быть запущены только на стороне сервера, только на стороне клиента или на обеих. Это важно учитывать на этапе продакшна для оценки стоимости (Bubble взимает плату только за серверные запуски). В основном, действия по записи данных и связи со сторонними сервисами запускаются в обеих средах. Действия с элементами или навигационные действия, которые используются для скрытия/отображения элементов или перевода пользователя на другую страницу, не будут запущены на сервере и поэтому не будут расценены как серверный запуск. Действия, посылающие электронное письмо и принимающие оплату картой запускаются только на сервере и поэтому к ним можно получить доступ в разделе API процессов вашего приложения. Это продвинутая функция и она рассматривается в отдельной главе (!!!ЛНК!!!). API процессы, в частности, полезны для планирования процессов в будущем (!!!ЛНК!!!) или для рекурсивных операций.
Если процесс встречает ошибку, например, если вы используете действие "Зарегистрировать пользователя"/"Sign the user up", а 2 пароля не совпадают или действие с кредитной картой не выполняется, потому что карта отклонена, процесс немедленно остановится. Действия, произошедшие до этого, изменения данных или посланные электронные сообщения не отменятся, но последующие действия не запустятся.
Возможно добавить пользовательскую обработку ошибок в процессах, например, если вы хотите изменить сообщение или впечатления пользователя при возникновении ошибки. Для получения подробностей смотрите справочник (!!!ЛНК!!!)