2011-10-11 36 views
4

我正在尝试编写一个类似于Facebook帖子的轻量级内容类型。如何轻量级敏捷基础内容类型可以是

  • 整个内容模式只是一个文本字段。没有标题,描述。

  • 它必须Contentish,由CMFCore管理:它必须有一个FTI,一个portaltype这样我们就可以创建通过标准方法/浏览的内容;它是目录意识。

  • 他们将有每个人的内关系/参考。

  • 对象的数量会是巨大的,说10-100M。

最类似的事情是评论对象(plone.app.discussion)。尽管我已经浏览了plone.app.discussion,但发现内容实现非常复杂,并且底层基类太多。在大多数部分中,我根本不了解它,或者它不能在评论用例之外重用,并且对我没有什么参考/示例价值。

所以我想问的是需要多少开销,如果我去了高层次的框架路径比较低的水平一个plone.app.discussion经历?

回答

5

我不认为p.a.discussion是适合你的。

一个敏捷型可能被罚款,但你需要调整性能。如果性能会成为一个问题,那将是因为让类型内容化的东西(例如FTI,CMF基类),所以没有什么比灵巧性更轻,并且满足您的要求,但是您可能想要考虑关于你是否真的想将所有内容存储在关系数据库或其他东西中。不过,这不应该是绝对必要的。

马丁

3

的Plone不会扩展到其目录中的10M项目(我听说过的最大的是像400 K)。我建议用像Pyramid这样的轻量级框架构建你的应用程序。

+0

你认为问题出在哪里? ZODB不能缩放? 该目录太大,不适合客户端的内存? 该目录很差落实,以便查询超过百万的对象需要太多的CPU? – quyetnd

+2

ZODB在这里不是问题。问题是Plone的portal_catalog成为每次写入数据库的单一争用点。不幸的是,Plone的所有导航都是从目录构建的,这使得异步目录更新难以实现。这需要得到解决,但这是一个长期的项目。 –

相关问题