Entity APIモジュール

2021.9.23
Posted by YuriAzuma

<目次>

・概要
・変更点

 

こんにちは、ジェネロ・マーケティング担当の東百合(あずまゆり)です。
今回は、エンティティの取り扱いをもっと簡単にするためのAPIを提供するEntity APIモジュールについて紹介していきたいと思います。

 

概要

【サイト構築者向け】
本モジュールはAPIモジュールであり、エンドユーザー向けの機能は提供していません。しかし、サイト構築者が活用できるように、他のモジュールにエンティティの一般的な機能をいくつか提供しています。

  • ビュー表示プラグインとフィールドは、任意のエンティティを表示したりリンクしたりします(ビューモードによる)
  • 任意のエンティティをレンダリングするCToolsコンテンツプラグイン(ビューモード別)
  • Entity tokensモジュールが同梱されており、ほとんどのエンティティプロパティやフィールドにトークンがあることを確認できます。つまり、トークンがなく、エンティティモジュールが知っているすべてのエンティティプロパティ(またはフィールド)にトークンの代替を提供します(エンティティプロパティ情報APIについては後述します)

【開発者向け】

  • このモジュールは、モジュールが任意のエンティティを作成、保存、削除、表示、またはアクセスを決定するためのAPI関数を提供します。すなわち、entity_create()entity_save()entity_delete()entity_view() and entity_access().
  • エンティティAPIでは、エンティティの関係やエンティティのプロパティに関するメタデータのためのユニークな場所、hook_entity_property_info()を導入しています。エンティティ・プロパティに関するこの情報には、プロパティのデータを取得したり設定したりするためのデータ型やコールバックが含まれています。モジュールは、Rules や Search API などの任意のエンティティ・プロパティをサポートするために、この情報に依存することができます。
  • さらに、このモジュールは、利用可能な情報を利用して、エンティティとそのプロパティへのシンプルで統一されたアクセスを提供するデータ・ラッパーを提供します。使用例については、READMEや提供されているテストを参照してください。
  • さらに、このモジュールは、新しいエンティティタイプの定義を支援します。そのために、エンティティの完全なCRUD機能を実装するエンティティコントローラを提供しています。オプションとして、エンティティは、提供されたEntityクラスから派生したクラスに基づいて作成することができます。
  • エンティティAPIは、フィールド可能で、オプションでリビジョン可能なエンティティや、エクスポート可能なエンティティの作成に対応しています。さらに、バンドル・エンティティの実装もサポートしています。つまり、(エクスポート可能な)エンティティとして実装されたフィールド可能なエンティティのバンドル・オブジェクト(ノード・タイプのようなもの)で、適切なフィールドAPIコールバックが自動的に起動されます。
  • 提供されたCRUD APIに基づいて実装されたエンティティ・タイプに対して、APIは追加のモジュール統合を提供しています。すなわち、すべてのCRUD関連フックに対してRulesイベントが提供され、hook_entity_property_info()のためのいくつかの基本的なエンティティ・プロパティ情報が提供され、エクスポート可能なエンティティは自動的にFeaturesモジュールと統合されます。
  • また、エクスポート可能なエンティティは、Featuresモジュールと自動的に統合されます。これらのモジュール統合は、個別のコントローラクラスで実装されており、個別にオーバーライドしたり、有効/無効にしたりすることができます。
  • オプションとして、エンティティAPIは、エンティティを管理するための管理インターフェイスの提供にも役立ちます。例えば、Profile 2のプロファイルタイプを管理するためのUIは、このAPIで構築されています。

 

変更点

重要な変更点のリストを得るためには、変更記録を参照してください。アップデート後は、update.phpを忘れずに実行してください。

互換性に関する注意: i18n Translation Sets モジュール (i18n_translation) を使用する場合は、i18n バージョン 1.5 以降が必要です。

 

<参考情報>

 

モジュールについての詳しいお問合せはこちら