問題
-
私たちは、コンテンツレビューのために単一の承認者ワークフローを導入しました。
要件は、管理者ロールを持つユーザーに対してこのワークフローをバイパスさせ、ワークフロー・プロセスを経ずに直接新しいコンテンツを作成して公開できるようにすることである。
管理者ロールを持たないユーザーの場合、コンテンツは通常のワークフロー承認プロセスに従う必要があります。
どのようにアプローチすべきか?
環境
- DXP
解像度
- これは、ワークフロー定義を適宜記述することで可能である。 例えば、次のようなロジックです:もし提出者ユーザがロールAdministratorであれば、通常のワークフロー段階をバイパスする(手動承認タスクなどをバイパスする)。 この場合、Condition(条件)ノードを使用して、送信者ユーザが管理者である場合にワークフローが別のブランチを実行するようにできます。 つまり、ワークフロー それ自体を "停止 "しないということだ。 ワークフローはまだトリガーされますが、変更が管理者ユーザーによって送信された場合、何もしない(承認済みステータスノードに直接移動する)ように記述します。
-
スクリプトに "自動承認 "ロジックを追加することができる(例えば、Javaクラスにカプセル化し、スクリプトから呼び出すことで、よりシンプルに保つことができるだろう)。
ドキュメントにある条件付きワークフロースクリプトは、送信前にタグをチェックする方法を示している。 最終更新者が管理者であるかどうかをチェックし、もしそうであれば、そのまま承認された状態に送るだけだ。
そうすれば、a)自動的に、b)Liferayを全く変更することなく、彼らの問題を解決できる。
- このようなワークフローの非常にシンプルで抽象的な例と、非常にシンプルなコンディション・スクリプトを追加したもの、そしてそれがどのように機能するかの短いデモ・ビデオを添付します。