オブジェクトの作成
Liferay 7.4以降で利用可能
Liferay Objectは、Liferay UIの開発機能を提供します。 オブジェクトを使用すると、コードを記述したり、モジュールを手動でデプロイしたりすることなく、完全に統合されたLiferayアプリケーションを構築できます。 このプロセスには、オブジェクト定義の初期ドラフトの 作成 、オブジェクトドラフトの 編集 、最後にドラフトを 公開 して新しいアプリケーションを作成することが含まれます。 オブジェクトドラフトを公開すると、完全に統合されたLiferayアプリケーションが作成され、オブジェクト管理ページを介していつでも管理および拡張できます。
Liferayはオブジェクト定義を公開する際にデータベーステーブルを作成するため、 データベース設定 で説明する高レベルのセキュリティデータベースの実践ではオブジェクトを使用できません。
オブジェクトドラフトの作成
オブジェクトドラフトは、オブジェクトアプリケーションを作成するために必要なデータを格納するアプリケーションテンプレートです。 次の手順に従って、オブジェクトドラフトを作成します。
[グローバルメニュー](
)を開き、 [コントロールパネル] タブに移動して、 [Objects] をクリックします。
追加 ボタン(
)をクリックします。
オブジェクトドラフトのこれらの詳細を提供します。
[Label] :オブジェクト管理およびサポートされているアプリケーションコンテキスト(ワークフロー、表示ページテンプレート、フォームなど)でオブジェクトを識別します。
[Plural Label] :UIでのオブジェクトアプリケーションの表示名を決定します。
[Object Name] :オブジェクトの
definition.name
を決定します。オブジェクトが公開されると変更できません。[保存] をクリックします。
保存されると、設定やデータ要素のない空白のオブジェクトドラフトが作成されます。 ドラフトは、オブジェクト管理でシステムオブジェクトと一緒に表示できます。 作成プロセスを完了するには、ドラフトを 編集 してから、Liferayインスタンスに 公開 する必要があります。
オブジェクトドラフトの編集
オブジェクトを公開する前に、要素の追加や設定を行うことができます。 これには、フィールドの追加、バリデーションの定義、データ範囲の設定などが含まれます。
フィールド、リレーションシップ、またはレイアウトを追加するたびに、オブジェクトドラフトが自動的に保存されます。 ただし、他のタブに移動すると、[Details]タブで保存されていない変更はすべて失われます。
オブジェクトドラフトを編集するには、次の手順に従います。
オブジェクト管理ページから、新しく作成したオブジェクトのドラフトをクリックして、編集を開始します。
オブジェクトの機能と設定オプションは、[Details]、[Fields]、[Relationships]、[Layouts]、[Actions]、[Views]、[Validations]、[State Manager]のタブにまとめられています。
[Fields] をクリックし、カスタムフィールドを追加します。 各フィールドは、特定のタイプの値を格納するためのデータベースカラムを表します。 オブジェクトへのフィールドの追加を参照してください。
デフォルトでは、すべてのオブジェクトに次のシステムフィールド、[Author]、[Create Date]、[External Reference Code]、[ID]、[Modified Date]および[Status]が含まれます。
(オプション)[Relationships] タブをクリックし、関連を追加します。 リレーションシップは、オブジェクト定義間の接続で、そのエントリーをリンクさせるために使用できます。 オブジェクトリレーションの定義を参照してください。
(オプション)[Layouts] タブをクリックして、レイアウトを追加します。 オブジェクトレイアウトは、オブジェクトエントリーを作成したり表示したりする際に、フィールドや関連をどのように表示するかを決定します。 オブジェクトレイアウトの設計を参照してください。
noteカスタムレイアウトを追加せず、デフォルトとして設定した場合、オブジェクトはそのエントリーに自動生成されたレイアウトを使用します。 このレイアウトには、すべてのオブジェクトフィールドをアルファベット順に表示し、リレーションシップを表示しない単一のタブがあります。 リレーションシップを表示するには、専用のリレーションシップタブを使用してカスタムレイアウトを作成する必要があります。
(オプション)[Actions]タブをクリックして、カスタムアクションを追加します。 各アクションは、設定されたトリガーに従って自動的に実行される操作を定義します。 オブジェクトアクションの定義を参照してください。
(オプション)[Views]タブをクリックし、カスタムビューを追加します。 オブジェクトビューは、オブジェクトのアプリケーションページでエントリーをどのように表示するかを決定します。 オブジェクトビューの設計を参照してください。
(オプション)[Validations]タブをクリックし、バリデーションを追加します。 各バリデーションは、有効なフィールドエントリーを決定するためのルールを設定します。 カスタムバリデーションの追加を参照してください。
(オプション) ステータスフィールドをドラフトに追加した場合、そのフローを定義するには[State Manager]タブをクリックします。 カスタムステートの追加と管理を参照してください。
[Details]タブで、オブジェクトドラフトを設定します。
(オプション) オブジェクトの名前、ラベル、または複数形のラベルを変更します。
エントリーのタイトルを選択します。 これは、UIでオブジェクトのエントリーを識別するために使用されるフィールドを決定します(例:関連フィールドなど)。 デフォルトでは、オブジェクトはIDフィールドを使用します。
オブジェクトの 範囲 を選択します。 これにより、オブジェクトのデータの保存方法が決まります。
[会社](デフォルト):会社ごとに範囲が設定されている場合、オブジェクトのデータはLiferayインスタンスごとに保存されます。
サイト :サイトで範囲を設定すると、オブジェクトのデータはサイトごとに保存されます。
[Panel Category Key]を選択して、Liferay UIのどこに定義を表示するかを決定します。
カンパニースコープオブジェクトの場合は、グローバルメニュー(
)でタブとカテゴリーを選択します。
サイトスコープのオブジェクトの場合、サイトメニュー(
)でセクションを選択します。
UIメニューにアプリケーションを表示したくない場合は、この値を空白にすることができます。
アカウント制限を設定し、アカウントによってオブジェクトエントリーへのアクセスを制限します。 この設定は、公開前にしか設定できません。
このオプションは、オブジェクトがアカウントシステムオブジェクトとの1対多のリレーションの子側にある場合にのみ表示されます。 アカウントによるオブジェクトデータへのアクセス制限を参照してください。
オブジェクトのページウィジェットを表示または非表示にします。
有効になっている間は、オブジェクトのウィジェットをサイトページに追加することができます。 オブジェクトウィジェットのサイトへのデプロイを参照してください。
オブジェクトエントリーのカテゴライズを有効または無効にする。
有効にすると、カスタムレイアウトのフィールドタブにカテゴリー設定ブロックを追加できます。 フィールドタブへのカテゴリー設定の追加 を参照してください。 さらに、フォームコンテナ内にタグやカテゴリのフラグメントを追加することで、オブジェクトエントリにメタデータを添付することができます。
オブジェクト表示ページのコメントを有効または無効にします。
有効にすると、エントリー表示ページでページコメントウィジェットを使用することができます。 オブジェクトの表示ページテンプレートの作成 を参照してください。
オブジェクトエントリーの履歴を有効または無効にします。
有効になっている間、Liferayは入力イベントの履歴を保持し、AuditアプリケーションまたはREST APIコールで見ることができます。 オブジェクト定義イベントの監査を参照してください。
important7.4 U72+/GA72+の場合は、いつでも設定可能です。 それ以前のバージョンでは、公開前にのみ設定可能です。
[保存] をクリックします。
ドラフトの設定と編集が終わったら、 公開 できます。
オブジェクトドラフトの公開
オブジェクトを公開すると、新しいアプリケーションが作成されてアクティブ化されます。 有効にすると、ユーザーは範囲とパネルカテゴリキーに従ってポータルUIでアクセスできます。 オブジェクトを公開する前に、以下の情報を確認して、ドラフトを公開した場合の結果を理解してください。
公開設定時の処理
公開プロセスには、次の操作が含まれます。
ドラフトのデータ定義を使用して、オブジェクトのデータベーステーブルが作成されます。
CRUD操作用に新しいヘッドレスAPIが自動的に作成されます。
オブジェクトのエントリーを表示するためのコレクションプロバイダーが作成されます。
オブジェクトに対してページウィジェットが作成されます。
オブジェクトは情報フレームワークと統合されているため、表示ページテンプレートのコンテンツの種類としてオブジェクトを選択できます。
オブジェクトは権限設定フレームワークと統合されているため、新しいアプリケーションとそのリソースの権限を管理できます。
オブジェクトはワークフローフレームワークと統合されているため、オブジェクトのカスタムワークフローを構成できます。
オブジェクトはフォームと統合されているため、データストレージオプションとしてオブジェクトを選択できます。
公開されたオブジェクトの構成制限
Liferay 7.4 U26以降/GA26以降で利用可能
データの損失やシステムの競合を防ぐため、一部の設定オプションは、オブジェクトに対して公開後に削除されます。
公開されたオブジェクトの名前と範囲は変更できません。
公開時にオブジェクトに含まれていたフィールドは削除できません。
公開されたフィールドとリレーションシップのほとんどの構成オプションは変更できません。
公開後もオブジェクト、フィールド、およびリレーションシップのラベルを編集およびローカライズできますが、ほとんどの構成オプションは削除されます。 オブジェクトの場合、パネルカテゴリキーを変更したり、新しいフィールド、リレーションシップ、およびレイアウトを追加したりできます。 リレーションシップについては、その削除タイプを構成できます。
Liferay 7.4 U25/GA25およびそれ以前のバージョンでは、ユーザーが公開されたオブジェクトの定義を削除したり、公開時にオブジェクトに含まれる関連を削除したりすることはできません。