最終章に到達したことをお祝いします!ここでは、NocoBaseの強力なワークフロー機能を紹介し、簡単に探りましょう。この機能を使用することで、システム内のタスクを自動化し、時間を節約し、効率を向上させることができます。
前章のチャレンジの解決
始める前に、前回の課題の解決策を簡単に振り返りましょう。以下のように、私たちは「パートナー」役割に対してコメント権限を無事に設定しました:
- 追加権限:ユーザーがコメントを投稿できるようにします。
- 表示権限:ユーザーがすべてのコメントを閲覧できるようにします。
- 編集権限:ユーザーは自分のコメントのみを編集できます。
- 削除権限:ユーザーは自分のコメントのみを削除できます。
これらの権限により、Tomは自由にコメントを投稿し、他の人のコメントを表示し、自分の投稿のみを編集または削除できることを確認できます。
さて、自動化を実装してみましょう:タスクのアサイナーが変更されるたびに、システムが新しいアサイニーに通知を自動的に送信し、タスクの移譲を知らせます。
ワークフロー:ワークフロープラグインは、ビジネスプロセスマネジメント(BPM)で一般的に使用される強力な自動化ツールであり、データモデルに基づいてビジネスプロセスを設計および構成するために使用されます。
トリガーを定義し、プロセスノードを設定することで、このプラグインはビジネスプロセスの流れを自動化し、効率的なタスク管理とデータ駆動型の操作を実現します。
7.1 ワークフローの作成
7.1.1 管理ページでのワークフローの設定
まず、ルート役割に切り替えます。これは、すべての権限を持つシステム管理者の役割です。次に、ワークフローモジュールに移動します。
右上の**「追加」**ボタンをクリックして新しいワークフローを作成し、基本情報を入力します:
- 名前:アサイニーが変更されたときにシステム通知を送信します。
- トリガータイプ:‘コレクションイベント’を選択します。
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コミュニティに参加して議論してください。
探索を続け、無限の可能性を解き放ってください!