Creating and Managing Objects
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

オブジェクトの作成

Liferay DXP 2023.Q4+/ポータル GA102+

Liferay Objectは、Liferay UIの開発機能を提供します。 オブジェクトを使用すると、コードを記述したり、モジュールを手動でデプロイしたりすることなく、完全に統合されたLiferayアプリケーションを構築できます。 このプロセスには、オブジェクトのドラフトを 作成 、それらを 編集 し、最後にそれらを 公開 して新しいアプリケーションを作成することが含まれます。

ここでは、デフォルトのオブジェクト UI を使用してオブジェクト定義を作成する方法を学習しますが、モデル ビルダー GUI を使用してオブジェクト定義を作成、管理、拡張することもできます。 詳細については、「 オブジェクト モデル ビルダーの使用 」を参照してください。

重要

Liferay はオブジェクト定義を公開するとデータベース テーブルを作成するため、 データベース構成で説明されている高セキュリティ データベース プラクティスを使用してオブジェクトを使用することはできません。

オブジェクトドラフトの作成

オブジェクトドラフトは、オブジェクトアプリケーションを作成するために必要なデータを格納するアプリケーションテンプレートです。 ドラフトオブジェクトを作成するには、

  1. グローバル メニュー (Global Menu) を開き、 コントロール パネル タブに移動して、 オブジェクトをクリックします。

    Liferay DXP 2023.Q4+/Portal GA102+の場合、オブジェクトUIにアクセスするには、 オブジェクトフォルダ > ビュー 権限も必要です。 詳細については、 オブジェクト アプリケーションの権限 を参照してください。

  2. 目的の オブジェクト フォルダー に移動し、 追加 ボタン (Add Button) をクリックします。

  3. ドラフトに次の詳細を入力します。

    [Label]:オブジェクト管理およびサポートされているアプリケーションコンテキスト(ワークフロー、表示ページテンプレート、フォームなど)でオブジェクトを識別します。

    [Plural Label]:UIでのオブジェクトアプリケーションの表示名を決定します。

    オブジェクト名: オブジェクトの 定義名 を決定します。公開後は変更できません。

    オブジェクトドラフトのラベル、複数形ラベル、および名前を入力します。

  4. [保存]をクリックします。

保存されると、設定やデータ要素のない空白のオブジェクトドラフトが作成されます。 ドラフトは、オブジェクト管理でシステムオブジェクトと一緒に表示できます。 作成プロセスを完了するには、下書きを 編集 し、Liferay インスタンスに 公開 する必要があります。

新しいオブジェクトのドラフトは、オブジェクトシステムで確認できます。

オブジェクトドラフトの編集

オブジェクトを公開する前に、要素の追加や設定を行うことができます。 これには、フィールドの追加、バリデーションの定義、データ範囲の設定などが含まれます。

フィールド、リレーションシップ、またはレイアウトを追加するたびに、オブジェクトドラフトが自動的に保存されます。 ただし、他のタブに移動すると、[Details]タブで保存されていない変更はすべて失われます。

オブジェクトドラフトを編集するには、次の手順に従います。

  1. オブジェクト管理ページから、新しく作成したオブジェクトのドラフトをクリックして、編集を開始します。

    オブジェクトの機能と設定オプションは、[Details]、[Fields]、[Relationships]、[Layouts]、[Actions]、[Views]、[Validations]、[State Manager]のタブにまとめられています。

    オブジェクトの機能と設定オプションは、8つのタブに整理されています。

  2. [Fields]をクリックし、カスタムフィールドを追加します。 各フィールドは、特定のタイプの値を格納するためのデータベースカラムを表します。 オブジェクトへのフィールドの追加を参照してください。

    デフォルトでは、すべてのオブジェクトに次のシステムフィールド、[Author]、[Create Date]、[External Reference Code]、[ID]、[Modified Date]および[Status]が含まれます。

    [フィールド]タブからオブジェクトにフィールドを追加します。

  3. (オプション) [Relationships] タブをクリックし、関連を追加します。 リレーションシップは、オブジェクト定義間の接続で、そのエントリーをリンクさせるために使用できます。 オブジェクト関係の定義を参照してください。

    [リレーションシップ]タブからオブジェクトにリレーションシップを追加します。

  4. (オプション) [Layouts]タブをクリックして、レイアウトを追加します。 オブジェクトレイアウトは、オブジェクトエントリーを作成したり表示したりする際に、フィールドや関連をどのように表示するかを決定します。 オブジェクト レイアウトの設計を参照してください。

    カスタムレイアウトを追加せず、デフォルトとして設定した場合、オブジェクトはそのエントリーに自動生成されたレイアウトを使用します。 このレイアウトには、すべてのオブジェクトフィールドをアルファベット順に表示し、リレーションシップを表示しない単一のタブがあります。 リレーションシップを表示するには、専用のリレーションシップタブを使用してカスタムレイアウトを作成する必要があります。

    [レイアウト]タブからオブジェクトにカスタムレイアウトを追加します。

  5. (オプション)[Actions]タブをクリックして、カスタムアクションを追加します。 各アクションは、設定されたトリガーに従って自動的に実行される操作を定義します。 オブジェクトアクションの定義を参照してください。

    [アクション]タブからオブジェクトにカスタムアクションを追加します。

  6. (オプション)[Views]タブをクリックし、カスタムビューを追加します。 オブジェクトビューは、オブジェクトのアプリケーションページでエントリーをどのように表示するかを決定します。 オブジェクト ビューの設計を参照してください。

    [ビュー]タブからオブジェクトにカスタムビューを追加します。

  7. (オプション)[Validations]タブをクリックし、バリデーションを追加します。 各バリデーションは、有効なフィールドエントリーを決定するためのルールを設定します。 フィールド検証の追加を参照してください。

    [バリデーション]タブからオブジェクトにカスタムバリデーションを追加します。

  8. (オプション) ステータスフィールドをドラフトに追加した場合、そのフローを定義するには[State Manager]タブをクリックします。 カスタム状態の追加と管理を参照してください。

    [ステータスマネージャー]タブで、ステータスフィールドのフローを定義します。

  9. [Details]タブで、オブジェクトドラフトを設定します。

  10. (オプション) オブジェクトの名前、ラベル、または複数形のラベルを変更します。

    オブジェクトの名前、ラベル、複数形のラベルを変更します。

  11. エントリタイトルフィールドを選択します。 このフィールドは、UI 内のオブジェクトのエントリ (関係フィールドなど) を識別し、そのフレンドリ URL を決定します。 デフォルトでは、ERC が使用されます。

    オブジェクトにフィールドを追加すると、そのフィールドをエントリータイトルとして選択できます。

    DXP 2025.Q3 より前、またはリリース機能フラグ LPD-21926 がない場合、エントリ タイトル フィールドはデフォルトで ID フィールドを使用します。

  12. オブジェクト スコープを選択します。 これにより、オブジェクトのデータの保存方法が決まります。

    [会社] (デフォルト):会社ごとに範囲が設定されている場合、オブジェクトのデータはLiferayインスタンスごとに保存されます。

    サイト: サイト別にスコープを設定すると、オブジェクトのデータはサイトごとに保存されます。

  13. パネル リンクを選択して、Liferay で定義が表示される場所を決定します。

    会社スコープのオブジェクトの場合は、グローバル メニュー (Global Menu) でタブとカテゴリを選択します。

    サイトスコープのオブジェクトの場合は、サイト メニュー (Site Menu) でセクションを選択します。

    UIメニューにアプリケーションを表示したくない場合は、この値を空白にすることができます。

    オブジェクトのスコープとパネル リンクを選択します。

  14. アカウント制限を設定し、アカウントによってオブジェクトエントリーへのアクセスを制限します。 この設定は、公開前にしか設定できません。

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

    アカウントによってオブジェクトエントリーへのアクセスを制限するかどうかを決定します。

  15. オブジェクトのページウィジェットを表示または非表示にします。

    有効になっている間は、オブジェクトのウィジェットをサイトページに追加することができます。 サイトへのオブジェクト ウィジェットの展開を参照してください。

  16. オブジェクト エントリの分類を有効または無効にします。

    有効にすると、カスタムレイアウトのフィールドタブにカテゴリー設定ブロックを追加できます。 「 フィールドタブに分類を追加する」を参照してください。 さらに、フォーム コンテナーにタグとカテゴリ フラグメントを追加することで、オブジェクト エントリにメタデータを添付することもできます。

  17. オブジェクト表示ページのコメントを有効または無効にします。

    有効にすると、エントリー表示ページでページコメントウィジェットを使用することができます。 「 オブジェクトの表示ページ テンプレートの作成」を参照してください。

  18. オブジェクトエントリーの履歴を有効または無効にします。

    有効になっている場合、Liferay はエントリ イベントの履歴を保持し、監査アプリケーションまたは REST API 呼び出しを介して表示できます。 オブジェクト イベントの監査を参照してください。

  19. オブジェクト エントリのドラフト モードを有効または無効にします。

    有効にすると、ユーザーはエントリを下書きとして保存し、後で確定することができます。 下書きを保存しても、カスタム検証、ワークフロー プロセス、またはエントリの作成によってトリガーされるアクションはトリガーされません。

    • この設定はいつでも構成できます。 ドラフト モードを無効にしても、既存のエントリのステータスは変更されません。
    • コレクション表示フラグメントには、公開されたエントリがリストされます。 コンテンツ ページで下書きエントリを表示および編集するアプリケーションを構築するには、データ セットを使用できます。 詳細については、「 表示セットを使用したオブジェクト エントリの管理 」を参照してください。
    • UI で下書きとして保存できるようにするには、 フォーム コンテナーの 「送信済みエントリ ステータス」を変更して、エントリが送信されたときに下書きとして保存できるようにします。
  20. ベータ機能 (LPD-17564) Liferay DXP 2025.Q4+/Portal 2026.Q1+ からは、フォームコンテナでオブジェクトの使用を有効または無効にすることができます。 機能フラグを有効にして、 フォーム コンテナーでマッピングを有効にするというラベルの付いたスイッチャーを使用します。

  21. リリース機能 (LPD-21926) DXP 2025.Q3+/Portal 2026.Q1+ からは、SEO セクションの設定を使用して、オブジェクト エントリのフレンドリ URL を構成できます。 フレンドリー URL セパレーターを設定し、オブジェクト エントリ作成者のフレンドリー URL をカスタマイズする権限を有効または無効にします。

    各オブジェクト エントリには、 サーバー アドレス/[セパレーター]/[エントリ タイトル フィールド]というパターンに従って、専用のフレンドリー URL が自動的に割り当てられます。 オブジェクト定義の表示ページ テンプレートを 構成した後 、各エントリにフレンドリ URL でアクセスできるようになります。

    リリース機能フラグを有効にして、オブジェクト エントリのフレンドリ URL を構成します。

    表示ページ テンプレートを含む公開オブジェクト エントリは、XML サイトマップに含めることができます。 詳細については、「 XML サイトマップの設定 」を参照してください。

  22. [保存]をクリックします。

下書きの設定と編集が完了したら、それを 公開 できます。

オブジェクトドラフトの公開

オブジェクトを公開すると、新しいアプリケーションが作成されてアクティブ化されます。 アクティブ化すると、ユーザーはスコープとパネル リンクに従って Liferay UI でアクセスできるようになります。 オブジェクトを公開する前に、以下の情報を確認して、ドラフトを公開した場合の結果を理解してください。

公開設定時の処理

公開プロセスには、次の操作が含まれます。

  • ドラフトのデータ定義を使用して、オブジェクトのデータベーステーブルが作成されます。

  • CRUD操作用に新しいヘッドレスAPIが自動的に作成されます。

  • オブジェクトのエントリーを表示するためのコレクションプロバイダーが作成されます。

  • オブジェクトに対してページウィジェットが作成されます。

  • オブジェクトはInfoフレームワークと統合されているため、 表示ページテンプレートのコンテンツタイプとしてオブジェクトを選択できます。

  • オブジェクトは 権限フレームワークと統合されているため、新しいアプリケーションとそのリソースの権限を管理できます。

  • オブジェクトはワークフローフレームワークと統合されているため、オブジェクトのカスタムワークフローを構成できます。

  • オブジェクトはフォームと統合されているため、データストレージオプションとしてオブジェクトを選択できます。

公開されたオブジェクトの構成制限

データの損失やシステムの競合を防ぐため、Liferay は公開後のオブジェクト定義に対して次の構成オプションを制限します。

  • 名前
  • 範囲
  • アカウント制限(有効な場合)
  • エントリー翻訳

Liferay では、一部のカスタム フィールド オプション (必須、一意の値など) も制限されます。

Liferay 7.4 U85/GA85 以前のバージョンでは、ユーザーは公開時にオブジェクト定義に含まれるフィールドを削除できません。