본문 바로가기
버블 개발/중급

22. Bubble Workflow (중급) : 워크플로우, 버블의 핵심 기능, 코드없이 앱 실행, 쉬운 버블 로직

by 스타트업 사업가 마르코 2023. 6. 28.
*이 섹션에서는 작업을 수행하는 앱의 엔진인 workflow(워크플로)를 다룹니다.

 

(1) 워크플로 (Workflow) 정의

:워크플로는 페이지에서 항목을 숨기거나 표시, 애니메이션을 적용하는 것부터 변경에 이르기까지 모든 작업을 수행할 수 있는 action(액션)을 사용합니다.

 

  • 워크플로는 버튼 클릭과 같은 사용자의 Action에 응답하도록 Bubble에 지시하는 방법입니다.
  • Action(액션)을 사용하여 데이터베이스에서 외부 API 호출을 수행하기도 합니다.

 

Workflow(워크 플로)는 Action(액션)과 그 액션을 트리거하는 Event(이벤트)의 조합입니다.

워크플로는 액션과 그 액션을 트리거하는 이벤트의 조합
워크플로는 액션과 그 액션을 트리거하는 이벤트의 조합

 

(2) 이벤트 (Event)

*이벤트는 다음과 같이 워크플로우를 실행하도록 지시하는 모든 것입니다.
  • 클릭되는 버튼
  • 변경되는 입력 값
  • 참인 조건
  • 사용자 로그인 또는 로그아웃
  • 데이터베이스의 변경 사항

 

*이벤트는 페이지에서 실행되거나 서버 측에서 트리거 될 수 있음(사용자가 페이지를 열어 접속을 안 해도 트리거 가능)

 

 

76. Event (초급) : 버블 워크플로우 이벤트 정의, 프론트, 백엔드 이벤트

이 섹션에서는 워크플로를 시작하는 트리거인 이벤트에 대해 설명합니다. (1) 이벤트 정의 : 이벤트는 앱의 프런트엔드와 백엔드 부분 모두에서 발생할 수 있습니다. 이 개념에 익숙하지 않은 경

conversion-skill.tistory.com

 

(3) 액션 (Action)

*Action(액션)은 이벤트에 의해 워크플로가 트리거될 때 발생하는 작업입니다. 하나의 워크플로 내에 필요한 만큼 Action(액션)을 배치할 수 있습니다.

Action은 다음과 같은 작업을 수행할 수 있습니다.

  • 데이터베이스에서 항목 생성, 업데이트 및 삭제
  • 페이지에서 요소 숨기기, 표시 및 애니메이션
  • 사용자 계정 생성 및 사용자 로그인/로그아웃
  • 이메일 보내기
  • 다른 페이지로 이동
  • 데이터 로드 중
  • 결제 등 플러그인 사용

 

*워크플로에서의 Action(액션)은 사용자의 작업이나 조건 변경에 응답하도록 만드는 방법입니다.

 

 

82. Actions (중급) : 워크플로우의 실행 일반 규칙, 순착적 일관성 유지 방법, 이전 데이터 사용

이 섹션에서는 다양한 작업을 수행하는 워크플로의 단계인 Action에 대해 설명합니다. 그리고 워크플로우의 실행 일반 규칙, 순착적인 Action 실행을 위한 일관성 유지 방법, 이전 데이터 사용방법

conversion-skill.tistory.com

 

(4) 워크플로 구성

워크플로 편집기의 워크플로는 더 쉽게 탐색할 수 있도록 폴더를 만들고 워크플로에 색상을 추가하는 두 가지 방법으로 분류할 수 있습니다.

 

  • 워크플로를 가장 잘 구성하는 방법에 대한 규칙이나 모범 사례는 없지만 색상을 폴더와 결합하여 워크플로가 많은 페이지를 효율적으로 탐색하는 방법에 대해 생각해 보는 것이 좋습니다.

 

이벤트 분류 - 컬러, 폴더 지정
이벤트 분류 - 컬러, 폴더 지정

 

1. 이벤트 색상(Event color) : 이벤트 색상 지정

  • 추가하는 각 워크플로에는 임의로 다음 색상 중 하나를 지정할 수 있습니다.
  • 이 옵션은 개발자가 이벤트의 특성분류가 쉽도록 임의로 색상을 지정하는 분류 방법으로 사용됩니다.
    • 회색(기본값)
    • 파란색
    • 빨간색
    • 녹색
    • 주황색
    • 보라
    • 시안
    • 갈색

2.Workflow folder (워크플로우 폴더) : 폴더로 분류

  • 워크플로 편집기의 왼쪽에 있는 워크플로 폴더 탐색기를 확장하여 워크플로를 구성할 수 있습니다.
  • 기본적으로 폴더는 없으며 필요한 만큼 만들 수 있습니다.
  • 각 워크플로는 하나의 폴더에 속할 수 있으며 폴더에 없는 워크플로는 all workflow(모든 워크플로) 보기 또는 no folder assigned(할당된 폴더 없음) 보기에 표시됩니다.

워크플로 folder, tree
워크플로 folder, tree

 

3.Workflow tree(워크플로 트리) : 워크플로우 탐색기

  • 폴더 탐색기 아래에는 Workflow tree(워크플로 트리)가 있습니다. 이것은 복잡한 페이지에서 워크플로를 탐색하기 위해 선택한 폴더를 반영하여 탐색을 쉽게 도와주는 도구입니다.
  • 우측에서 선택한 이벤트가 Workflow tree에 파란색으로 표시되고 +를 클릭하면 하위의 액션(Action)을 볼 수 있습니다.

 

(5) 워크플로의 오류

워크플로우는 다양한 시나리오에서 오류를 발생시킬 수 있습니다.

 

(예시)

  • 사용자가 잘못된 자격증명을 사용하여 로그인을 시도합니다.
  • 사용자가 데이터베이스에 이미 존재하는 이메일을 사용하여 가입을 시도합니다.
  • 카드가 거부되어 신용 카드 결제에 실패했습니다.
  • 워크플로에 오류가 발생하면 오류가 발생한 작업에서 실행이 중지됩니다. 이전 작업은 되돌릴 수 없습니다.

 

*이 섹션에서 논의하는 오류는 시스템 오류와 관련이 있으며 Bubble의 issue tracker(이슈 추적기)에 의해 플래그가 지정되는 오류가 아닙니다.

 

1. 오류 처리

  • 대부분의 오류를 전달하는 Bubble의 기본방법은 브라우저의 표준메시지 팝업을 뛰워서 오류를 표시하는 것입니다.
  • 오류가 발생하는 이벤트에 대해 예측되는 오류가 발생 시 다른 이벤트를 사용하여 페이지에서 오류를 처리하도록 Bubble에 지시할 수 있습니다.
  • 다음의 이벤트들을 Workflow에 추가하여 해당 이벤트가 발생시 액션으로 Alert 메시지를 보여주게 설정하고 다른 액션으로 에러를 처리하게 할 수 있습니다.

 

2. Element(요소)에 워크플로를 실행하는 동안 오류 발생

  • 추가 위치: Elements > An element has an error running a workflow 
  • 이 이벤트는 특정 element(요소)와 관련하여 발생하는 오류를 포착합니다.
  • 예를 들어 사용자 로그인 작업이 포함된 워크플로에 연결된 로그인 버튼이 오류를 생성하는 경우 오류는 해당 버튼에 연결됩니다.

요소에 워크플로를 실행하는 동안 오류 발생
요소에 워크플로를 실행하는 동안 오류 발생

 

3.  처리되지 않은 오류가 발생

  • 추가 위치: General > An unhandled error occurs
  • 이 이벤트는 보다 광범위하게 오류를 포착합니다.
  • 페이지의 모든 오류는 다른 오류 이벤트에 의해 포착되지 않는 한 오류를 trigger(트리거)합니다.

처리되지 않은 오류가 발생
처리되지 않은 오류가 발생

 

(5) Workflow timeout(워크플로 시간 초과)

  • 드문 경우지만 워크플로가 실행 중에 시간 초과될 수 있습니다.
  • 현재 워크플로가 실행 중이고 5분 이내에 완료되지 않으면 중지됩니다. 
  • 그전에 한 번 완료된 작업은 되돌리지 않습니다.
워크플로 시간 초과는 일반적으로 비정상적으로 복잡하거나 매우 많은 양의 데이터를 처리하려는 워크플로에서만 발생합니다.

 

1. 한 번에 많은 데이터 목록 변경

  • 예를 들어 데이터 목록 변경(Make changes to a list of things)과 같은 작업은 짧은 목록에 적합하지만 너무 많은 항목을 포함하면 시간이 초과될 수 있습니다. 100개가 넘는 항목에 대한 항목 목록을 변경하는 것과 관련된 작업은 사용하지 않는 것이 좋습니다.
  • 더 긴 항목 목록을 처리해야 하는 경우 고급기능으로 재귀(recursive) 워크플로를 사용할 수 있습니다.

 

2. 한 번에 너무 많은 워크플로 실행

  • 한 번에 너무 많은 워크플로를 실행하면 사용자 장치의 사용 가능한 용량이 부족하여 일부 또는 전체가 시간 초과될 수 있습니다.
  • 더 많은 사용자와 함께 앱이 확장됨에 따라 트리거 되는 워크플로의 수도 그에 따라 확장된다는 점을 염두에 두어야 합니다.
  • 예를 들어 데이터베이스를 변경하는 페이지 로드에 워크플로우를 추가할 때 주의하십시오. 많은 사용자가 동시에 페이지를 로드하면 시스템에 과부하가 걸릴 수 있습니다.
  • 이 문제를 완화하려면 가능한 한 워크플로 트리거에 간격을 두거나 용량을 늘리기 위한 옵션을 확인하십시오.