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