「新しいコンテンツタイプを追加するのではなく、エンティティを作成するのが適切な場合」という質問に対して受け入れられた回答が書かれてから4年、Drupal 8の最初のリリースがありました。また、エンティティは、Drupal 7よりもDrupal 8の中心です(RefB、RefC、RefD)。
この新しいDrupal 8の世界では、新しいコンテンツエンティティタイプと「ノード」タイプのコンテンツエンティティの新しいコンテンツタイプを作成するためのディシジョンツリーは何ですか?
応答を検討する際には、以下を考慮してください。
- 「ノード」のコンテンツエンティティタイプの新しいコンテンツタイプは、新しいコンテンツエンティティタイプに対して99%の状況でまだ適切ですか?
- デシジョンツリーには、「ノード」コンテンツエンティティタイプの使用を避け、代わりに新しいコンテンツエンティティタイプを作成する、より多くの、より良い、またはより明確な理由が含まれていますか?はいの場合、それらは何ですか?含まれますか:
- パフォーマンス?
- セキュリティ/許可?
- Node-entity-type Content-Typesで動作し、他のコンテンツエンティティタイプでは動作しないモジュールの数は?
- おそらく-上記で参照された以前に受け入れられた回答に基づいて-カスタムコンテンツエンティティタイプを実行する唯一の一般的な理由は、ノードデータを分類用語などでグループ化するか、そうでなければコメントなどでノードに注釈を付ける場合ですか?
モジュールの互換性は、決定木にとって特に興味深い考慮事項のようです。現在、最もインストールされているモジュールのほとんどは、アルファ、ベータ、またはrc(リリース候補)だけではない8.xのリリースがあります。また、新しいカスタムエンティティタイプと新しいノードエンティティコンテンツタイプでは、それらのうち何個がそのまま使用できるかを特定することは難しいようです。「エンティティ用に作成されたもの」と「ノードエンティティコンテンツタイプ用に作成されたもの」を区別するプロジェクト属性はないようです。
pathautoを見てください。これは、現在、8.xリリースの種類があるモジュールの中で4番目にインストールされているモジュールです。人々は、ノードエンティティタイプのコンテンツタイプだけでなく、一般的にエンティティをサポートする8.xバージョンで一生懸命取り組んでいます。しかし、他のすべてのモジュールはどうですか?また、エンティティをサポートするモジュールは、通常、モジュールが動作する前に、モジュール固有の「フック」を持つカスタムコンテンツエンティティタイプを必要としますか?(モジュールが新しいコンテンツタイプですぐに動作する方法とは異なりますか?) それはpathautoチームが取り組んでいる種類の課題のように見えますが、おそらくカスタムコンテンツエンティティタイプから遠ざかる理由でしょうか?
Drupal 8コアには、タイプ「ノード」のコンテンツエンティティの新しいコンテンツタイプを作成するためのUIが含まれていますが、現在、新しいコンテンツエンティティタイプを作成するためのUIは含まれていません。(RefX、RefY、RefZ)