お疲れ様です!最終章に到達しました!ここでは、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 通知をテストする
エキサイティングな瞬間です。ページに戻り、任意のタスクを編集して、アサインを変更し、送信をクリックします。システムが通知を送信しました!
それが基本的なワークフローの設定です。しかし、もう1つの改善点があります:
通知にはタスク情報を動的に挿入して、ユーザーがどのタスクが再割り当てされたかを知る必要があります。
7.3 ワークフローの洗練
7.3.1 バージョン管理
ワークフロー構成のページに戻ります。今、ワークフローのインターフェースはグレーアウトできており、編集できません。
心配しないでください。右上の省略記号をクリックして>新しいバージョンに複製を選択すると、新しいバージョンの設定ページに入ります。以前のバージョンは保持されますので、バージョンボタンをクリックすれば、過去のバージョンにスイッチできます(注意:実行されたワークフローバージョンは修正できません)。
7.3.2 通知内容の強化
さて、タスク転送に関する詳細を追加して通知をパーソナライズしましょう。
- 通知ノードを編集します。
メッセージ内容を「タスク《【タスク名】》が【タスクアサインダー/ニックネーム】に再割り当てされました」と変更します。
- 右側の変数パネルを使用して、タスク名とタスクアサインダーを追加します。
- その後、右上のトグルをクリックしてこのバージョンをアクティブにします。
更新されたワークフーブリーチが有効になったら、次のテストでシステム通知にタスク名が表示されます。
まとめ
素晴らしい!タスクの所有権の変更に基づいてトリガーされる自動ワークフローを成功裏に作成しました。この機能は、手動操作の時間を節約するだけでなく、チームのコラボレーションを強化します。この時点で、私たちのタスク管理システムは強力な機能を持つようになりました。
結論と次のステップ
これで、ゼロから完全なタスク管理システムを完成させました。タスクの作成、コメント、ロール権限、ワークフロー、システム通知を網羅しました。
NocoBaseの柔軟性と拡張性は、限りない可能性を秘めています。将来的には、さらに多くのプラグインを探索したり、機能をカスタマイズしたり、複雑なビジネスロジックを作成したりすることができます。この知識を持って、あなたはNocoBaseの基本とコアコンセプトを習得しました。
あなたの次の革新を楽しみにしています!質問がある場合は、NocoBase公式文書を参照するか、NocoBaseコミュニティに参加してディスカッションを行ってください。
探求を続け、無限の可能性を発揮しましょう!