この記事ではノーコードツールBubble内の一般的な原則について紹介します。ところどころ細かい部分が存在するので、十分気をつけてご覧ください。
ワークフローを構築する
まず、新しいワークフローのトリガーとなるイベントを選択します。多くの場合、ボタンがクリックされた時に発生しますので、このイベントを適用するエレメント(要素)を選択します。
ワークフローが特定の状況下でのみ実行される場合は、条件を追加することができます。イベントが作成されると、ワークフローパネルが表示されます。
それぞれのアクションについて、実行に必要ないくつかのフィールドを定義する必要があります。例えば、「サイン・ザ・ユーザー・アップ・アクションのためのメールをどこで見つけるか」などです。
別のアクションの前にアクションを挿入する必要がある場合、矢印をクリックするとアクションメニューが表示され、現在のアクションの前にアクションを追加することができます。
ワークフローとアクションをコピーペーストするには、ワークフローとアクションを右クリックして、関連するオプショ ンを選択します。
イベントをコピーペーストすると、ワークフロー全体がコピーされますが、個々のアクションをコピーペーストすることもできます。
また、別のアクションにアクションを貼り付けると、そのアクションは現在のアクションの前に挿入されます。
実行ルール
実行モードでイベントがトリガーされると、現在のページのアプリのワークフロータブで定義されているように、一連のアクションが実行されます。実行はアクションごとに行われます。
アクションがいくつかのデータを修正したり、APIのような外部サービスからデータを取得したりした場合、次のアクションは前回のアクションの結果を参照することができます。つまり、アクションの順序が重要になります。
同じイベント(例えば、ページをロードするときなど)に2つ(またはそれ以上)のワークフローを定義する場合、各ワークフローは他のワークフローとは独立して並列に実行されます。
1つのワークフローを他のワークフローよりも先に実行する必要がある場合は、デザインを変更して、より多くのアクションを持つ 1つのワークフローのみを定義する必要があります。
条件やカスタム・ワークフローを使用して、特定の条件の下でのみあるアクションを他のアクションよりも先に実行する必要がある場合に、この動作をカスタマイズすることができます。
イベントの種類
イベントやアクションは、空のイベントやアクションのプレースホルダをクリックすると、メニューのカテゴリ別に用意されます。一般的に、イベントには大きく分けて3つの種類があります。
要素(エレメント)イベント
これらのイベントは、Bubbleを構築する際に最も一般的なものです。これらのイベントは、ユーザーが要素(エレメント)と作用しあったときにトリガーされます。
例えば、マップのマーカーがクリックされたり、ボタンがクリックされたりしたときです。各イベントについて、どの要素に適用されるかを定義する必要があります。
これらのイベントは、関連する要素がページ上にある場合にのみリストに表示されることに注意してください。
一般的なイベント
これらのイベントは、「現在ユーザーがログインしている」や「条件が変わったら実行する」など、アプリの一般的なプロパティが変更されるとすぐにトリガーされます。
これは、ユーザーからの特定のアクションには関係ありません。これらのイベントは、何かが変更されたときに発生しますが、必ずしもユーザーがアプリ上で何かを行ったとは限らないため、デバッグがより複雑になる可能性があります。
デバッガーはこのような状況をデバッグするのに非常に便利です。
カスタムイベント
この非常に特殊なタイプのイベントは、他のワークフローで使用できる再利用可能な一連のアクションを定義することができます。
アクションの種類
同様に、アクションもいくつかのカテゴリーに分けることができます。
アクションマネジメント
これらのアクションにより、ユーザーのサインアップ、ログイン、ログアウトなどが可能になります。
ナビゲーション
これらのアクションにより、アプリケーション内のページを横断してユーザーをナビゲートすることができます。
データ
このカテゴリには、データを読み書きするアクションが含まれます。
Eメール
このカテゴリは、ユーザーにメールを送信するいくつかのアクションを収集します。
決済と分析
クレジットカード決済、購読管理、分析に関するBubbleのビルトインアクションは、これらの2つのカテゴリ(決済と分析)に含まれています。
コミュニティビルドのプラグインからのアクションがこれらのトピックをカバーしている可能性があることに注意してください。
プラグイン
このカテゴリはほとんどのプラグインのアクションを収集する場所で、例えば他のサービスにデータを送信するなどが該当します。
要素(エレメント)
これらのアクションは要素(エレメント)固有のアクションです。例えば、リストを繰り返しグループで表示したり、カスタムステージを設定したり、要素(エレメント)にスクロールしたりします。
それぞれのアクションに対して、ページ上で関連する要素(エレメント)を選択する必要があります。
イベントの場合と同様に、アクションはページに関連するタイプの要素(エレメント)が含まれている場合にのみリストに表示されることに注意してください。
イベントの詳細については、リファレンスで詳細を見ることが可能です。最後に、いくつかのアクションはサーバーのみ、クライアントのみ、またはその両方で実行することができます。
これは、価格設定のために本番環境でアプリケーションを実行する際に重要です(Bubbleはサーバーサイドでの実行のみ課金されます)。
一般的に、データを書き込んだり、外部サービスに接続したりするアクションは、両方の環境で実行されます。
要素アクションや、要素の表示/非表示、ユーザーを別のページに誘導するために使用できるナビゲーションアクションは、サーバー上では実行されないため、サーバーサイドでの実行としてカウントされません。
電子メールを送信したり、クレジットカードをチャージしたりするアクションはサーバー上でのみ実行されるため、アプリのAPIワークフローセクションでアクセスすることができます。
これは高度な機能であり、別の章で説明します。APIワークフローは、将来的に、または定期的にワークフローをスケジュールするのに特に便利です。
ワークフローでのエラー
Sign the user upアクションを使用していて、2つのパスワードが一致していない場合や、クレジットカードを使用していて、カードが拒否された場合など、ワークフローがエラーになった場合、ワークフローは即座に停止します。
ここまで実行されたアクションは元には戻りませんし、データの変更やメールの送信は変わりませんが、後続のアクションは実行されません。
例えば、エラー発生時のメッセージやユーザーエクスペリエンスを変更したい場合など、ワークフローエラーに対するカスタム処理を追加することができます。
また、ワークフローがタイムアウトする可能性があることに注意してください。ワークフローが5分以上実行されている場合、ワークフローは停止してエラーアウトします。
一般的に、ワークフローはこれを回避するために再構成することができます。例えば、”Make changes to a list of things”の問題が一般的です。
これは小さなリストにアクションを起こすのには良いのですが、クエリが複雑な場合にはすぐにタイムアウトエラーになってしまいます。
これを再構築するには、API ワークフローを作成し、可能であれば “Schedule API Workflow on a list”を使用するか、あるいは別の方法でワークフローを分割することをお勧めします。
ワークフローを実行するのに十分な容量がない場合、ワークフローがエラーになることもあります。これは、同じ時間にキックオフするようにスケジュールされた多数のワークフローがある場合に発生する可能性があります。
この場合、サーバーログに対応するメッセージが表示されます。これを軽減するには、可能な限りワークフローの間隔を空けたり、プランをアップグレードしたり、容量を購入したりすることを検討してください。
まとめ
いかがだったでしょうか。今回はノーコードツールBubble内の一般的な原則についての説明の記事でした。
ワークフロー内でタイムアウトが起こることは事前に予想されるため、個別の対策を練りながら作業することが求められます。
イベントやアクションにはいくつかの種類があり、これらをうまく使いこなせるようになると、より高度なアプリケーションを構築することができるようになります。