原型与灵巧在新内容类型和新字段类型中的比较

2 投票
2 回答
665 浏览
提问于 2025-04-17 09:40

我已经离开Plone的世界好几年了(大约从Plone 2.5开始),现在想弄清楚在哪里花时间去创建新的内容类型,特别是带有新自定义字段的内容类型(包括自定义的查看和编辑小工具)。

有没有人能帮我理解一下Archetypes和Dexterity之间的选择点?我之前写过基于AT的产品,所以对那里的基础设施有一些了解。我也在慢慢回忆起我的Zope 3的知识。以下是一些具体问题:

  • Dexterity和AT的未来会是怎样的?AT会被Dexterity取代吗?如果我写一个基于AT的产品,最终需要迁移到Dexterity吗?

  • 对于自定义字段类型、自定义小工具和自定义视图,哪个提供了更简单的开发体验?

  • 使用Dexterity部署自定义工作流是怎么回事?

  • 如何将我产品的旧版本中的现有内容迁移到新版本?

谢谢!

2 个回答

1

看起来,Dexterity 是一种比 AT 更干净、更灵活的方式来实现内容类型,而且它也是 Plone 的未来。不过,AT 还会继续使用一段时间。

至于开发者的体验是否更简单,这就要看情况了。也许 这个链接会对你有帮助。

根据我个人的经验,我更倾向于使用 Dexterity。

5

作为Dexterity的初始开发者,我可能有点偏见,但我想说:

  • Dexterity看起来更干净,更“现代”
  • Dexterity和现代的Zope以及Plone其他部分更一致
  • Dexterity的代码更简洁,通常用的代码更少
  • 使用Dexterity,你可以从网页上的模式开发逐步转向文件系统开发,而不需要完全放弃之前的工作
  • 可以说,Dexterity的文档比Archetypes更丰富、更好(可以查看plone.org/products/dexterity,还有我写的《Professional Plone 4 Development》这本书)
  • Dexterity很稳定,似乎是许多“新”项目的首选

这些理由基本上就是Dexterity被开发出来的原因,所以并不是偶然的。

Archetypes肯定不会很快消失,可能会作为Plone核心的一部分,或者(可能,最终)作为一个附加功能存在很长时间。归根结底,你可以把它们看作是创建CMF类型的不同方式,这就是它们的本质。

我认为现在的主要决策点,除了考虑旧系统的因素,就是多语言支持。目前没有好的替代方案来取代LinguaPlone,虽然有一些努力在进行中,希望能解决这个问题。

马丁

撰写回答