ノーコードツール【Bubble】Workflow Custom Eventsの使い方を解説

カスタムイベントは、複数回再利用可能なワークフローをページ内に定義する方法です(コード駆動型言語では「関数」)。

カスタムイベントを使用する場合

プログラミングの一般的なルールとして、それがバブルであろうと伝統的なコード駆動型言語であろうと、冗長な命令、ワークフロー、コード行をできる限り制限したいものです。そうすることで、無駄のないアプリケーションを作ることができ、デバッグや修正、メンテナンスがより簡単になります。

もし、複数のワークフローで同じロジック、つまり同じ一連のアクションを繰り返すのであれば、複数のワークフローで起動する「カスタムイベント」を使用することで、設計を最適化することができます。例えば、あるサービスにサインアップする方法が2つあり、サインアップフローが単にサインアップするだけでなく、メール送信や分析なども行う場合、これはカスタムイベントの最適な候補になります。繰り返される一連のアクションをカスタムイベントに移動し、ユーザーをサインアップさせる両方のワークフローでTriggerカスタムイベントアクションを使用します

カスタムイベントの定義

カスタムイベントの定義は、通常のワークフローの定義と似ています。イベントを選択し、いくつかのアクションを追加します。イベントの種類は「カスタムイベント」で、他のイベントと同様で、条件を適用することができます。特に重要なのは、このワークフローで使用するモノの種類を定義する機能です。従来のプログラミング言語に慣れている人にとっては、カスタムイベントは関数であり、送信したデータをパラメータと比較することができます。カスタムイベントのモノのタイプは、アプリで定義したデータベースのタイプでも、テキストや数値などの単純なタイプでもかまいません。

カスタムイベントにモノの種類を定義すると同時に、Expression Composerで以下のアクションで「このモノ」にアクセスできるようになります。例えば、カスタムイベントがユーザーを取る場合、’This Workflow User’s email’ にメールを送信することができるようになります。この式は、トリガーとなるアクションで実際に送信されたユーザで評価されます。同じカスタムイベントを複数のページで再利用したい場合は、再利用可能な要素でカスタムイベントを追加します。そうすることで、この再利用可能な要素を持つすべてのページがカスタムイベントにアクセスできるようになります。

カスタムイベントのトリガー

カスタムイベントが定義されたら、このワークフローを使用するために、ワークフローにいくつかのアクションを追加することができます。カスタムイベントアクションのトリガー」を選ぶだけです(再利用可能な要素でイベントを追加した場合は「再利用可能な要素からのカスタムイベントアクションのトリガー」アクションを選ぶとよいでしょう)。

モノの種類が定義されている場合、アクションごとに送信するモノを選ぶ必要があります。モノの種類は、ワークフローレベルとして定義されたモノの種類と一致する必要があり、種類の不整合は問題としてフラグが立てられることになります。thingは任意ではなく、必ず入力しなければならないことに注意してください(カスタムイベントが「現在のワークフローアイテム」にアクセスする可能性があるため)。

カスタムイベントのスケジューリング

また、カスタムイベントを後日発生するようにスケジュールすることも可能です。

カスタムイベントのトリガーとスケジューリングの違い

カスタムイベントをトリガーすることと、カスタムイベントが0遅延で発生するようにスケジュールすることの間に違いがあるのかと思われるかもしれません。はい、そうです。

例えば、親ワークフローにいくつかのアクションがあり、次に「カスタムイベントをトリガーする」アクションがあり、さらにいくつかのアクションがあるとします。親がTriggerアクションを実行すると、親は一時停止してカスタムイベントの完了を待ち、その後に続くアクションを実行します。これは、カスタムイベントが、親ワークフローの前のアクションで何が起こったかのコンテキストを見ることができるため、便利です。

一方、カスタムイベントを遅延0で発生するようにスケジュールした場合、そのカスタムイベントは親ワークフローの他の部分と並行して実行されてしまう可能性があります。

カスタムイベントの実行

ワークフローがRunモードでトリガーされ、Trigger a custom eventアクションにヒットすると、最初のワークフローは一時停止し、カスタムイベントが完了するまで実行され、最初のワークフローが再開されます。デバッガを使用すると、設定に問題がある場合、アクションの流れを理解するのに非常に便利です。

参考英語サイト

https://manual.bubble.io/help-guides/building-workflows/using-custom-events