Plone 4.1中的敏捷和原型是什么?

时间:2011-05-27 11:31:34

标签: plone archetypes dexterity

recent question中,toutpt说:

  

敏捷需要Plone4.1才能发挥出色   与原型内容和所有   plone功能(历史,差异,锁定,   ...)

我正在考虑在新网站中使用Dexterity,以及标准的Archetypes对象,例如Pages,Files等。但是,我无法找到列出可能引发的问题的页面。

我知道Dexterity / Archetypes在网站上一起玩得很好,例如两种内容类型之间的引用。我想知道这是否还是一个问题(它看起来像toutpt may have fixed it),以及在深入了解Dexterity之前我应该​​注意的其他问题。

最初我的想法是使用Dexterity 1.0和Plone 4.1附带的Archetypes版本,但我愿意接受建议(例如,版本1.0-next for Dexterity)。

3 个答案:

答案 0 :(得分:8)

如果你想要一个混合了Dexterity和Archetypes内容的网站,我建议你使用Dexterity 1.0和Plone 4.1。一如既往,你可以使用1.0-next,但是我不知道此时会出现的主要问题。

关于参考...从敏捷项到Archetypes的zc.relation-style关系已经工作了很长时间。在Plone 4.1中,如果您为您的Dexterity内容类型启用了plone.app.referenceablebehavior的行为,现在也可以使用Archetypes项目的Archetypes样式引用到Dexterity项目。但是,Decheterity内容的Archetypes IReferenceable适配器尚未提供用于添加,删除和检索参考信息的完整API。

答案 1 :(得分:7)

我不会在网站上同时使用基于Archetypes和Dexterity的内容。

它可能适用于非常基本的需求,但存在不兼容性。例如,如果您的任何内容包含非ASCII字符,Dexterity会在目录中将那些内容编入Unicode,但是Archetypes会将utf-8放在那里。根本不支持将不同类型混合到相同的目录索引中,这会破坏您的站点。

只使用Archetypes或只使用Dexterity就可以了。但两者的结合需要更多的工作才能共存。

答案 2 :(得分:5)

在我看来,关键问题是:您的新内容类型是基于 - 还是现有Plone内容类型的扩展?如果是这样,请从Archetypes和ATContentTypes开始。 (另外,如果你需要内容 - 对象翻译,Dexterity还没有它。)

否则,如果您对摩擦有耐受性,那么灵巧构建的内容类型将比基于Archetypes的类型更快开发,更清晰,更轻巧。