Nous avons vu quatre ans et la première version de Drupal 8 depuis que la réponse acceptée a été écrite pour la question " Quand est-il approprié de créer une entité plutôt que d'ajouter simplement un nouveau type de contenu ?" Et, les entités sont plus centrales dans Drupal 8 qu'elles ne l'étaient dans Drupal 7. ( RefB , RefC , RefD )
Dans ce nouveau monde Drupal 8, quel est l'arbre de décision pour créer un nouveau type d'entité de contenu par rapport à un nouveau type de contenu pour l'entité de contenu de type "Node"?
Lorsque vous envisagez une réponse, veuillez considérer les éléments suivants:
- Un nouveau type de contenu pour le type d'entité de contenu "Node" est-il toujours approprié dans 99% des situations par rapport à un nouveau type d'entité de contenu?
- L'arbre de décision inclut-il désormais des raisons plus nombreuses, meilleures ou plus claires de s'éloigner de l'utilisation du type d'entité de contenu "Noeud" et de créer un nouveau type d'entité de contenu? Et si oui, quels sont-ils? Comprennent-ils:
- Performance?
- Sécurité / autorisations?
- Le nombre de modules qui fonctionnent avec les types de contenu de type entité-nœud et ne fonctionnent pas avec d'autres types d'entités de contenu?
- Peut-être - sur la base de la réponse acceptée précédente référencée ci-dessus - que la seule raison générale de faire un type d'entité de contenu personnalisé est si vous souhaitez grouper les données de nœud, par exemple avec des termes de taxonomie, ou annoter autrement le nœud, par exemple avec des commentaires?
La compatibilité des modules semble être une considération particulièrement intéressante pour un arbre de décision. À l'heure actuelle, peu des modules les plus installés ont une version 8.x qui n'est pas simplement alpha, bêta ou rc (une version candidate). Et il semble difficile d'identifier combien d'entre eux fonctionneront prêts à l'emploi avec un nouveau type d'entité personnalisé par rapport à un nouveau type de contenu d'entité Node. Il ne semble pas y avoir d'attribut de projet pour faire la distinction entre ceux qui sont "écrits pour les entités" et "écrits pour les types de contenu d'entité de nœud".
Jetez un œil à pathauto, qui est actuellement le quatrième module le plus installé de ceux qui ont tout type de version 8.x. Les gens travaillent dur sur une version 8.x qui prend généralement en charge les entités et pas seulement les types de contenu de type entité-nœud. Mais qu'en est-il de tous les autres modules? Et les modules qui prennent en charge les entités vont-ils généralement nécessiter des types d'entités de contenu personnalisé pour avoir des "hooks" spécifiques au module avant que le module ne fonctionne avec eux? (Par rapport à la façon dont les modules peuvent simplement fonctionner directement avec de nouveaux types de contenu?) Cela semble être le genre de défi avec lequel l'équipe de pathauto travaille, et c'est peut-être une raison de s'éloigner d'un type d'entité de contenu personnalisé?
Il peut également être utile de mentionner que Drupal 8 core contient une interface utilisateur pour créer de nouveaux types de contenu pour l'entité de contenu de type "Node", mais il ne contient pas actuellement une interface utilisateur pour créer de nouveaux types d'entités de contenu. ( RefX , RefY , RefZ )