Documentation

Documentation Menu
Go Back

カスタムステートの追加と管理

利用可能な Liferay 7.4 U41+ および GA41+

ユースケースによっては、1つのオブジェクトエントリに複数の状態を同時に割り当てる必要がある場合があります。 例えば、Order アプリケーションを構築する場合、同じ項目に対して、注文、支払い、配送の各ステータスを割り当て、管理する必要があります。 Liferayのpicklistとカスタムオブジェクトを使うことで、この機能を実現することができます。

選択リスト では、文字列のリストを定義して、それをオブジェクトフィールドとして使用し、エントリーのカスタム状態を定義することができます。 オブジェクト定義に追加すると、各状態のフローを設計し、 バリデーションアクション を使用して、異なる状態のためのカスタムビジネスロジックを追加することができます。 これらのカスタムステートを ワークフローステータス と共に使用することで、より複雑なレビューと承認プロセスを定義することも可能です。

ピックリストを使用して、オブジェクト定義にカスタムステートを追加します。

オブジェクト定義に状態フィールドを追加する

以下の手順で、ピックリストを使用して、オブジェクトの項目にカスタムステートを追加します。

  1. グローバルメニュー(Global Menu) を開き、 コントロールパネル タブをクリックし、 ピックリスト に進みます。

  2. 必要な項目でピックリストを作成します。 これらの項目は、オブジェクトのエントリー状態を定義する。 詳しい手順については、 ピックリストの作成 を参照してください。

    注釈

    ドラフトとパブリッシュされたオブジェクト定義の両方について、いつでもピックリストの項目を追加、削除、編集することができます。

    必要な項目でピックリストを作成します。

  3. グローバルメニューGlobal Menu)を開き、 [コントロールパネル] タブをクリックして、 [オブジェクト] に進みます。

  4. 目的のカスタムオブジェクトの編集を開始します。

  5. Fields タブを開き、 Add ボタン (Add Button) をクリックします。

    オブジェクト定義へのフィールドの追加を開始します。

  6. ラベル項目名 を入力します。

  7. ピックリストの種類 を選択し、必要なリストを選択します。

  8. Toggle Mark as State .

    注釈

    Stateフィールドは自動的にmandatoryに設定され、Optionalに変更することはできません。

  9. state フィールドの Default Value を選択します。

    ピックリストを選択し、「状態としてマーク」を切り替えて、フィールドのデフォルト値を設定します。

  10. Save] をクリックします。

定義にフィールドを追加した後、 フロー を設定し、各状態でどのトランジションが利用できるかを決定することができます。

ステートフィールドのフローを設定する

デフォルトでは、各ステートは他のすべてのステートに遷移することができます。 ただし、エントリーが目的のプロセスを通るように遷移を制限することは可能です。

以下の手順で、状態フィールドのカスタムフローを設定します。

  1. カスタムオブジェクトの編集中に、 State Manager タブを開き、必要な state フィールド を選択します。

    ![ステート・マネージャー]タブで、ステート・フィールドのフローを設定します。](./adding-and-managing-custom-states/images/05.png)

  2. Next Status]でドロップダウンメニューをクリックし、各状態で利用可能なトランジションを決定するためのボックスにチェックを入れます。

    1つの状態に対して、任意の数の遷移を選択することができます。

    状態間の利用可能な遷移を決定する。

  3. Save] をクリックします。

一度保存すると、ユーザーは定義したフローに従ってのみ、エントリーの状態を遷移させることができます。

カスタムフローを設定すると、各ステートで利用可能なトランジションが決定されます。

追加情報