自从接受有关问题“ 何时创建实体而不是仅添加新的内容类型才合适?” 这一问题的答案以来,我们已经见证了Drupal 8的四年发布。而且,实体在Drupal 8中比在Drupal 7中更重要。(RefB,RefC,RefD)
在这个新的Drupal 8世界中,用于为“节点”类型的内容实体创建新的内容实体类型与新的内容类型的决策树是什么?
在考虑回应时,请考虑以下几点:
- 与新的内容实体类型相比,在99%的情况下,仍适用于“节点”的内容实体类型的新“内容类型”吗?
- 现在,决策树是否包括更多,更好或更清楚的理由,转而不再使用“节点”内容实体类型,而是创建新的内容实体类型?如果是的话,那是什么?它们是否包括:
- 性能?
- 安全/权限?
- 可以与Node-entity-type Content-Types一起使用而与其他内容实体类型不一起使用的模块数量?
- 也许-基于上面引用的先前接受的答案-进行自定义内容实体类型的唯一一般原因是,如果您想对Node数据进行分组(例如,使用分类术语),还是要对Node进行注释(例如,使用注释)?
模块兼容性似乎是决策树特别有趣的考虑因素。当前,安装最多的模块很少有8.x发行版,而不仅仅是alpha,beta或rc(发行候选版)。似乎很难确定其中有多少将使用新的自定义实体类型与新的Node-entity内容类型开箱即用。似乎没有项目属性可以区分“为实体编写”和“为节点实体内容类型编写”的属性。
看一下pathauto,它是当前所有版本8.x的第四大安装模块。人们正在努力开发一个8.x版本,该版本通常支持实体,而不仅仅是节点实体类型的内容类型。但是其他所有模块呢?支持实体的模块通常需要自定义内容实体类型时,才具有与模块相关的“挂钩”吗?(相对于这些模块如何直接使用新的Content Types开箱即用?) 这似乎是 pathauto团队正在处理的挑战,也许这是偏离自定义内容实体类型的原因吗?
还可能值得一提的是,Drupal 8核心包含一个用于为类型“节点”的内容实体创建新的内容类型的UI,但当前不包含用于创建新的内容实体类型的UI。(RefX,RefY,RefZ)