第 7 章:ワークフロー
最終章まで到達しました、おめでとうございます!この章では、NocoBase の強力なワークフロー機能を紹介し、簡単に探索していきます。この機能を使えば、シ ステム内のタスクを自動化し、時間を節約して効率を向上させることができます。
前章のチャレンジの答え
まずは前章のチャレンジを振り返りましょう!「パートナー」ロールにコメント権限を以下のように設定しました。
- 追加権限:ユーザーがコメントを投稿できるようにします。
- 閲覧権限:ユーザーがすべてのコメントを閲覧できるようにします。
- 編集権限:ユーザーは自分が投稿したコメントのみ編集できます。
- 削除権限:ユーザーは自分のコメントのみ削除できます。

この設定により、Tom は自由にコメントを投稿でき、他のメンバーのコメントも閲覧できます。同時に、自分のコメントのみ編集・削除が可能です。

それでは、自動化機能を実装しましょう。タスクの担当者が変更されるたびに、システムが自動的に対応する担当者に通知を送信し、新しい担当者にタスクの引き継ぎを知らせます。
ワークフロー: ワークフロープラグインは、ビジネスプロセス管理(BPM)の分野でよく使われる強力な自動化ツールです。
データモデルに基づいたビジネスプロセスの設計とオーケストレーションに使用され、トリガー条件とプロセスノードの設定により、プロ セスの自動的な流れを実現します。このプラグインは、繰り返しの多い、データ駆動型のタスクの自動処理に特に適しています。
7.1 ワークフローの作成
7.1.1 バックエンドページでワークフローを作成する
まず、Root ロール(システム管理者ロール、すべての権限を持つ)に切り替えます。次に、ワークフローモジュールに入ります。

右上の 「追加」 ボタンをクリックし、新しいワークフローを作成して基本情報を入力します。
- 名前:担当者変更時にシステム通知を生成。
- トリガー方式:「データテーブルイベント」を選択。

7.1.2 トリガー方式の選択について:
- データテーブルイベント:データテ ーブルの情報が変更されたときにトリガーされます(追加、変更、削除)。タスクフィールドの変動(担当者の変更など)を追跡するのに最適です。
- 定時タスク:特定の時間に自動トリガーされ、スケジュール関連の自動化操作に適しています。
- 操作後イベント:操作ボタンにバインドされ、ユーザーが特定の操作を実行した後にトリガーされます。例えば、保存ボタンをクリックした後にタスクをトリガーします。
今後の使用では、「操作前イベント」「カスタム操作イベント」「承認」など、対応するプラグインでアンロックできるその他のトリガー方式も見つかるでしょう。
このシナリオでは、データテーブルイベントを使って「タスクテーブル」の「担当者」の変更を追跡します。ワークフローを送信した後、設定をクリックしてワークフロー設定ページに入ります。

7.2 ワークフローノードの設定
7.2.1 トリガー条件を設定する
それでは早速、自動通知フローの構築を始めましょう!
まず最初のノードを設定し、特定の条件でワークフローが自動起動するように条件を設定します。
- データテーブル:「タスクテーブル」を選択します。(どのデータテーブルがこのワークフローをトリガーするかを指定します。対応するデータもワークフローに同期して読み込まれます。「タスクテーブル」が変更されたときに現在のワークフローが開始されるようにします。)
- トリガータイミング:「新規追加または更新後」を選択します。
- トリガーフィールド:「担当者」を選択します。
- トリガー条件:「担当者 ID が存在する」を選択し、タスクに担当者が割り当てられている場合のみシステム通知を送信するようにします。
- プリロードデータ:「担当者」を選択し、後続のフローでその情報を使用できるようにします。

7.2.2 「アプリ内メッセージ」チャンネルを有効にする
次のステップでは、通知を送信するノードを作成します。
その前に、通知送信用の「アプリ内メッセージ」チャンネルを作 成する必要があります。
- プラグイン管理画面に戻り、「通知管理」を選択して、タスク通知(task_message)を新規作成します。
- チャンネルの作成が完了したら、ワークフローに戻り、「通知」ノードを新規作成します。

- ノードの設定 チャンネル: 「タスク通知」を選択 受信者: 「トリガー変数/トリガーデータ/担当者/ID」を選択します。これで変更後の担当者を特定できます。 メッセージタイトル: 「担当者変更のお知らせ」と入力 メッセージ内容: 「あなたが新しい担当者に指名されました」と入力
完了したら、右上のスイッチをクリックして、このワークフローを有効にします。

設定完了です!
7.2.3 通知をテストする
いよいよテストの瞬間です。ページに戻り、任意のタスクの編集をクリックして、担当者を変更し、送信をクリックします。システムが通知を送信しました!


ワークフローの設定フローはこのような感じですが、まだやるべきことがあります。
生成された通知にはタスク情報を動的に挿入する必要があります。そうしないと、どの業務が引き継がれたのか、皆に はわかりません。
7.3 ワークフローの改善
7.3.1 バージョン管理
ワークフロー設定に戻ると、ワークフロー画面がグレーアウトして編集できなくなっていることに気づくかもしれません。
心配ありません。右上の省略記号 > 新しいバージョンにコピーをクリックすると、新しいバージョンの設定ページが開きます。もちろん、以前のバージョンも保持されており、バージョンボタンをクリックするといつでも過去のバージョンに切り替えられます(注意:すでに実行されたワークフローバージョンは変更できません!)。

7.3.2 通知内容の改善
では、通知内容をよりパーソナライズされたものにし、引き継ぎ情報の詳細な説明を追加しましょう。
- 通知ノードを編集します。
メッセージ内容を次のように変更します:「タスク『【タスク名】』の担当者が【担当者のニックネーム】に変更されました」
- 右側の変数をクリックして、タスク名と担当者を挿入します。
- 右上のスイッチをクリックし て、このバージョンを有効にします。

更新されたワークフローバージョンを有効にして再度テストすると、システム通知に新しいタスク名が表示されます。

まとめ
素晴らしいです!タスクの担当者変更に基づく自動化ワークフローの作成に成功しました。この機能は手動操作の時間を節約するだけでなく、チームコラボレーションの効率も向上させます。ここまでで、タスク管理システムは強力な機能を備えるようになりました。
全体のまとめと展望
ここまでで、ゼロから完全なタスク管理システムを構築しました。タスクの作成、コメント機能、ロール権限の設定、ワークフローとシステム通知までを網羅しています。
NocoBase の柔軟性と拡張性は無限の可能性を提供します。今後はさらに多くのプラグインの探索、カスタム機能の作成、より複雑なビジネスロジックの構築を続けられます。これらの学習を通じて、NocoBase の基本的な使い方とコアコンセプトをマスターできたかと思います。
あなたの次のクリエイティブなアイデアを楽しみにしています!質問があれば、いつでも NocoBase 公式ドキュメント を参照するか、NocoBase コミュニティ に参加してディスカッションできます。
引き続き探索を楽しんで、無限の可能性を創造しましょう!

