オブジェクトの作成
Liferay DXP 2023.Q4+/Portal GA102+
Liferay Objectは、Liferay UIの開発機能を提供します。 オブジェクトを使用すると、コードを記述したり、モジュールを手動でデプロイしたりすることなく、完全に統合されたLiferayアプリケーションを構築できます。 このプロセスには、オブジェクトのドラフトを作成し、それを編集し、最後にパブリッシュして新しいアプリケーションを作成することが含まれる。
ここでは、デフォルトのオブジェクトUIを使用してオブジェクト定義を作成する方法を学びますが、モデルビルダーGUIを使用してオブジェクト定義を作成、管理、拡張することもできます。 詳細については、 オブジェクトモデルビルダーの使用 を参照してください。
Liferay はオブジェクト定義を公開するとデータベース テーブルを作成するため、 データベース構成 で説明されている高セキュリティ データベースの慣行でオブジェクトを使用することはできません。
オブジェクトドラフトの作成
オブジェクトドラフトは、オブジェクトアプリケーションを作成するために必要なデータを格納するアプリケーションテンプレートです。 下書きオブジェクトを作成するには、
-
グローバルメニュー(
)を開き、[コントロールパネル]タブに移動し、[オブジェクト]をクリックします。注Liferay DXP 2023.Q4+/Portal GA102+ の場合、オブジェクト UI にアクセスするには、 オブジェクト フォルダー > ビュー の権限も必要です。 詳細については、 オブジェクト アプリケーション権限 を参照してください。
-
目的のオブジェクトフォルダに移動し、Addボタン(
)をクリックします。 -
下書きには以下の詳細情報を提供してください。
[Label]:オブジェクト管理およびサポートされているアプリケーションコンテキスト(ワークフロー、表示ページテンプレート、フォームなど)でオブジェクトを識別します。
[Plural Label]:UIでのオブジェクトアプリケーションの表示名を決定します。
オブジェクト名: オブジェクトの
定義名を決定します。公開後は変更できません。
-
[Save(保存)]をクリックします。
保存されると、設定やデータ要素のない空白のオブジェクトドラフトが作成されます。 ドラフトは、オブジェクト管理でシステムオブジェクトと一緒に表示できます。 作成プロセスを完了するには、 ドラフトを 編集し、 Liferay インスタンスに 公開する必要があります。

オブジェクトドラフトの編集
オブジェクトを公開する前に、要素の追加や設定を行うことができます。 これには、フィールドの追加、バリデーションの定義、データ範囲の設定などが含まれます。
フィールド、リレーションシップ、またはレイアウトを追加するたびに、オブジェクトドラフトが自動的に保存されます。 ただし、他のタブに移動すると、[Details]タブで保存されていない変更はすべて失われます。
オブジェクトドラフトを編集するには、次の手順に従います。
-
オブジェクト管理ページから、新しく作成したオブジェクトのドラフトをクリックして、編集を開始します。
オブジェクトの機能と設定オプションは、[Details]、[Fields]、[Relationships]、[Layouts]、[Actions]、[Views]、[Validations]、[State Manager]のタブにまとめられています。

-
[Fields]をクリックし、カスタムフィールドを追加します。 各フィールドは、特定のタイプの値を格納するためのデータベースカラムを表します。 オブジェクトへのフィールドの追加 を参照してください。
デフォルトでは、すべてのオブジェクトに次のシステムフィールド、[Author]、[Create Date]、[External Reference Code]、[ID]、[Modified Date]および[Status]が含まれます。
![[フィールド]タブからオブジェクトにフィールドを追加します。](https://resources.learn.liferay.com/images/dxp/latest/en/low-code/objects/creating-and-managing-objects/creating-objects/images/04.png)
-
(オプション) [Relationships] タブをクリックし、関連を追加します。 リレーションシップは、オブジェクト定義間の接続で、そのエントリーをリンクさせるために使用できます。 オブジェクト関係の定義 を参照してください。
![[リレーションシップ]タブからオブジェクトにリレーションシップを追加します。](https://resources.learn.liferay.com/images/dxp/latest/en/low-code/objects/creating-and-managing-objects/creating-objects/images/05.png)
-
(オプション) [Layouts]タブをクリックして、レイアウトを追加します。 オブジェクトレイアウトは、オブジェクトエントリーを作成したり表示したりする際に、フィールドや関連をどのように表示するかを決定します。 オブジェクトレイアウトの設計 を参照してください。
注カスタムレイアウトを追加せず、デフォルトとして設定した場合、オブジェクトはそのエントリーに自動生成されたレイアウトを使用します。 このレイアウトには、すべてのオブジェクトフィールドをアルファベット順に表示し、リレーションシップを表示しない単一のタブがあります。 リレーションシップを表示するには、専用のリレーションシップタブを使用してカスタムレイアウトを作成する必要があります。
![[レイアウト]タブからオブジェクトにカスタムレイアウトを追加します。](https://resources.learn.liferay.com/images/dxp/latest/en/low-code/objects/creating-and-managing-objects/creating-objects/images/06.png)
-
(オプション)[Actions]タブをクリックして、カスタムアクションを追加します。 各アクションは、設定されたトリガーに従って自動的に実行される操作を定義します。 オブジェクトアクションの定義 を参照してください。
![[アクション]タブからオブジェクトにカスタムアクションを追加します。](https://resources.learn.liferay.com/images/dxp/latest/en/low-code/objects/creating-and-managing-objects/creating-objects/images/07.png)
-
(オプション)[Views]タブをクリックし、カスタムビューを追加します。 オブジェクトビューは、オブジェクトのアプリケーションページでエントリーをどのように表示するかを決定します。 オブジェクトビューの設計 を参照してください。
![[ビュー]タブからオブジェクトにカスタムビューを追加します。](https://resources.learn.liferay.com/images/dxp/latest/en/low-code/objects/creating-and-managing-objects/creating-objects/images/08.png)
-
(オプション)[Validations]タブをクリックし、バリデーションを追加します。 各バリデーションは、有効なフィールドエントリーを決定するためのルールを設定します。 フィールド検証の追加 を参照してください。
![[バリデーション]タブからオブジェクトにカスタムバリデーションを追加します。](https://resources.learn.liferay.com/images/dxp/latest/en/low-code/objects/creating-and-managing-objects/creating-objects/images/09.png)
-
(オプション) ステータスフィールドをドラフトに追加した場合、そのフローを定義するには[State Manager]タブをクリックします。 カスタム状態の追加と管理 を参照してください。
![[ステータスマネージャー]タブで、ステータスフィールドのフローを定義します。](https://resources.learn.liferay.com/images/dxp/latest/en/low-code/objects/creating-and-managing-objects/creating-objects/images/10.png)
-
[Details]タブで、オブジェクトドラフトを設定します。
-
(オプション) オブジェクトの名前、ラベル、または複数形のラベルを変更します。

-
エントリのタイトル欄を選択してください。 このフィールドは、UIにおけるオブジェクトのエントリ(例えば、リレーションシップフィールド)を識別し、それらのフレンドリーURLを決定します。 デフォルトではERCが使用されます。
注DXP 2025.Q3より前、またはリリース機能フラグLPD-21926がない場合、エントリタイトルフィールドはデフォルトでIDフィールドを使用します。
-
オブジェクト スコープを選択します。 これにより、オブジェクトのデータの保存方法が決まります。
[会社] (デフォルト):会社ごとに範囲が設定されている場合、オブジェクトのデータはLiferayインスタンスごとに保存されます。
サイト: サイトによってスコープが設定されている場合、オブジェクトのデータはサイトごとに保存されます。
-
定義がLiferayのどこに表示されるかを確認するには、パネルリンクを選択してください。
会社スコープのオブジェクトについては、グローバルメニュー(
)でタブとカテゴリを選択します。サイトスコープのオブジェクトの場合は、サイトメニュー(
)でセクションを選択します。UIメニューにアプリケーションを表示したくない場合は、この値を空白にすることができます。

-
アカウント制限を設定し、アカウントによってオブジェクトエントリーへのアクセスを制限します。 この設定は、公開前にしか設定できません。
このオプションは、オブジェクトがアカウントシステムオブジェクトとの1対多のリレーションの子側にある場合にのみ表示されます。 アカウントによるオブジェクトデータへのアクセス制限 を参照してください。

-
オブジェクトのページウィジェットを表示または非表示にします。
有効になっている間は、オブジェクトのウィジェットをサイトページに追加することができます。 サイトへのオブジェクトウィジェットのデプロイ を参照してください。
-
オブジェクトエントリのカテゴリ分類を有効または無効にします。
有効にすると、カスタムレイアウトのフィールドタブにカテゴリー設定ブロックを追加できます。 フィールドタブへのカテゴリの追加 を参照してください。 さらに、フォームコンテナにタグとカテゴリのフラグメントを追加することで、オブジェクトのエントリにメタデータを添付できます。
-
オブジェクト表示ページのコメントを有効または無効にします。
有効にすると、エントリー表示ページでページコメントウィジェットを使用することができます。 オブジェクトの表示ページテンプレートの作成 を参照してください。
-
オブジェクトエントリーの履歴を有効または無効にします。
有効にすると、Liferayはエントリイベントの履歴を保持し、監査アプリケーションまたはREST API呼び出しを介してその履歴を表示できます。 オブジェクトイベントの監査 を参照してください。
-
オブジェクトエントリのドラフトモードを有効または無効にします。
この機能が有効になっている場合、ユーザーは入力内容を下書きとして保存し、後で最終決定することができます。 下書きを保存しても、カスタム検証、ワークフロープロセス、またはエントリ作成によってトリガーされるアクションは実行されません。
注- この設定はいつでも変更できます。 下書きモードを無効にしても、既存のエントリの状態は変更されません。
- コレクション表示フラグメントには、公開済みのエントリが一覧表示されます。 コンテンツページに下書きエントリを表示および編集する機能を備えたアプリケーションを構築するには、データセットを使用できます。 詳細については、 表示セットを使用したオブジェクトエントリの管理 を参照してください。
- UI で下書きとして保存できるようにするには、 フォーム コンテナの 送信済みエントリ ステータスを変更して、エントリが送信されたときに下書きを保存するようにします。
-
リリース機能 (LPD-17564) Liferay DXP 2025.Q4+/Portal 2026.Q1+ 以降では、フォーム コンテナでオブジェクトの使用を有効または無効にできます。 機能フラグが有効になっている場合は、 フォームコンテナのマッピングを有効にする というラベルのスイッチャーを使用します。
-
リリース機能 (LPD-21926) DXP 2025.Q3+/Portal 2026.Q1+ 以降では、SEO セクションの設定を使用して、オブジェクトエントリのフレンドリー URL を構成できます。 フレンドリーURLの区切り文字を設定し、オブジェクトエントリ作成者がフレンドリーURLをカスタマイズする権限を有効または無効にします。
各オブジェクトエントリには、
server-address/[separator]/[entry title field]のパターンに従って、専用のフレンドリー URL が自動的に割り当てられます。 オブジェクト定義の表示ページテンプレートを設定した後、各エントリーはそのフレンドリーURLでアクセスできる。
注表示ページテンプレートを含む公開済みオブジェクトエントリは、XMLサイトマップに含める対象となります。 詳細については、 XML サイトマップの設定 を参照してください。
-
[保存]をクリックします。
下書きの設定と編集が完了したら、 公開 できます。
オブジェクトドラフトの公開
オブジェクトを公開すると、新しいアプリケーションが作成されてアクティブ化されます。 有効化されると、ユーザーはスコープとパネルリンクに応じてLiferay UIからアクセスできるようになります。 オブジェクトを公開する前に、以下の情報を確認して、ドラフトを公開した場合の結果を理解してください。
公開設定時の処理
公開プロセスには、次の操作が含まれます。
-
ドラフトのデータ定義を使用して、オブジェクトのデータベーステーブルが作成されます。
-
CRUD操作用に新しいヘッドレスAPIが自動的に作成されます。
-
オブジェクトのエントリーを表示するためのコレクションプロバイダーが作成されます。
-
オブジェクトに対してページウィジェットが作成されます。
-
オブジェクトは Info フレームワークと統合されているため、オブジェクトを 表示ページテンプレート のコンテンツ タイプとして選択できます。
-
オブジェクトは Permissions フレームワークと統合されているため、新しいアプリケーションとそのリソースの権限を管理できます。
-
オブジェクトはワークフローフレームワークと統合されているため、オブジェクトのカスタムワークフローを構成できます。
-
オブジェクトはフォームと統合されているため、データストレージオプションとしてオブジェクトを選択できます。
公開されたオブジェクトの構成制限
データ損失やシステム競合を防ぐため、Liferayは公開後にオブジェクト定義の以下の設定オプションを制限します。
- 名前
- 範囲
- アカウント制限(有効になっている場合)
- エントリの翻訳
Liferayでは、一部のカスタムフィールドオプション(必須項目、一意の値など)に制限が設けられています。
Liferay 7.4 U85/GA85以前のバージョンでは、公開時にオブジェクト定義に含まれるフィールドを削除することはできません。