选用Archetype还是Dexterity?

选用Archetype还是Dexterity?
Plone4为创建内容类型提供两种架构:
一种是Archetype,这是较老的技术,从Plone2.1开始就采用了。
优点是:
  1. 技术成熟 Plone的内建内容类型都采用这种架构方法,另外,还有大量三方插件也是基于Archetype
缺点是:
  1. Archetype采用自己独立的schemata语法,而不是标准通行的Zope.schema
  2. Archetype依靠代码生成来动态计算字段值,采用getFoo()和setFoo()这样的方法来设置、获取字段值;不是更pythonic更现代的基于property 调用的方法: foo.
  3. Archetype没有真正意义上的添加表单方法,导致在生成新的内容对象时,必须通过 portal_factory工具初始化一个临时对象,这样带来代码的复杂性。
第二种是dexterity,这是当前最新的技术,是基于Zope Toolkit设计原理开发。
优点是:
  1. 采用标准的zope.schema技术
  2. 采用z3c.form生成表单
  3. 写较少的通行代码
  4. 和其他应用无缝集成
  5. 可以通过web方式空中动态生成基本的dexterity类型
缺点:
  1. 技术较新,现成样例较少,三方插件也少
  2. 目前不支持linguaPlone(内容国际化和翻译)
Dexterity参考文档 http://plone.org/products/dexterity.
结论:
Archetypes比 Dexterity使用更广泛,尤其在支持内容国际化和翻译工作流方面仍然有独到之处。Dexterity是全新的技术,是未来的方向。
设置