13

克隆非常复杂。Zope 2、Zope3FiveZCMLZODBZEO,一大堆首字母缩写词和缩写词。

这很难开始,目前的状态似乎还没有定论。它主要基于 Zope2,但通过 Five 合并了 Zope3。并且到处都有 XML 配置文件。

陡峭的学习曲线是否值得?这种复杂性今天仍然合理吗?

背景:我需要一个平台。客户通常需要 CMS。我目前正在阅读“ Professional Plone Development ”,没有 Plone 的先验知识。

问题:客户并不总是想要相同的东西,而且您无法事先知道。有一件事是肯定的:他们不想要 Plone 的默认主题。但是任何附加功能都是有风险的。当您对系统不够了解以进行规划时,您不能只是开始说“如果您想了解 Plone 的复杂性,就必须提出要求。 ”

4

8 回答 8

29

没有任何背景信息很难回答你的问题。如果您只想要一个博客,那么复杂性是否合理?不。如果您要为 400 多人构建公司内部网,那么复杂性是否合理?是的。如果你想成为一名顾问,这是一项很好的投资吗?绝对地!那里有很多 Plone 工作,而且它的报酬比一般的 PHP 工作要好得多。

我鼓励您澄清您要构建的内容,并向 Plone 论坛寻求建议。Plone 有一个非常成熟和友好的社区——如果你尝试做的事情不适合 Plone,绝对会让你知道。你当然可以用 Plone 做任何你想做的事情,但是在某些领域它是可用的最佳解决方案,而在其他领域则需要大量工作才能将其更改为做其他事情。

一些背景:

Plone 在这个时间点变得复杂的原因是它正在转向更现代的架构。它现在正在桥接旧方法和新方法,这增加了一些复杂性,直到过渡基本完成。

Plone 这样做是为了通过破坏向后兼容性来避免让他们的客户落后,他们非常重视这一点——不像我可以提到的其他系统(但不会;)。

你关心你的数据,Plone 社区关心他们的数据——我们希望你能够升级到新的更好的版本,即使我们正在过渡到一个新的架构。这是 Plone 社区的优势之一,但在飞机飞行时修改飞机当然要付出代价,这有点临时的、额外的复杂性。

此外,Plone 作为一个社区非常关注安全性(将其与任何其他系统报告的漏洞进行比较),以及重视良好架构、测试和可重用性的非常专业的文化。

例如,考虑当前正在开发的 Plone 版本(将成为 4.0):

  • 它的启动速度比当前版本快 3-4 倍。
  • 它使用的内存比当前版本少约 20%。
  • 有一个非常简单的类型系统正在开发中(Dexterity),它将降低复杂性并大大加快系统速度,同时保持相同级别的功能
  • 代码库已经比当前的发布版本小 20%,并且变得更小。
  • 新类型系统的早期基准显示内容编辑速度提高了 5 倍,我们还没有真正开始优化这部分。

— Alexander Limi,Plone 联合创始人(略带偏见;)

于 2008-12-08T01:59:39.073 回答
23

如果您想了解 Plone 的复杂性,您必须提出要求。对于大多数人来说,它只是不存在。它通过一键式安装程序在几分钟内安装。然后就是一键登录,一键创建页面,使用WYSYWIG编辑器,一键保存。一切都通过一个直观的 Web GUI。克隆是一种产品。

如果您想将其用作“平台”,那么该平台是一个包含超过一百万行代码的堆栈,它实现了一个完整的内容管理套件。没有人知道这一切。但是,所有这些“首字​​母缩略词”和“文件”都是一种软件的证据,该软件已包含在组件中,因此没有人需要全部了解。您可以根据需要深入或浅入其中。如果您在内容管理的某些方面需要某些东西,它已经存在,您不必从头开始创建它,您可以按照与广泛实践和审查一致的方式来完成它。

于 2008-12-09T03:29:19.563 回答
10

我在这里发现了一个匿名评论,它比那篇帖子本身要好得多,所以我在这里完整地转发它,并纠正了几个错别字。


今年夏天,我的国际象棋俱乐部要求我建立一个新网站,董事会成员应该能够在其中添加新闻快讯、文章……听起来像一个 CMS。作为一名 Python 开发人员,我查看了 Plone 并购买了 Aspeli 的书 Professional Plone development(顺便说一句写得很好)。

我花了 3 周的假期研究这本书,并建立了网站的第一个模型。

3 周后,我意识到 Plone 有一些非常好的东西,但也有一些非常令人沮丧的东西。

  • 如果您不需要自定义 Plone,Plone 的功能和布局都很棒
  • Plone 具有良好的安全模型
  • Plone 具有良好的现成工作流程
  • Plone 是多语言(我需要的)

不利的一面

  1. Plone 太慢了。在我的开发平台上(一台 3 岁的电脑,512 MB RAM)启动 Plone 需要 30 秒,重新加载页面需要 10 到 15 秒
  2. 你需要很多不同的技术来定制或开发即使是最简单的东西
  3. TAL 和 Metal 不是最先进的,也不适应 Plone 的 OO 设计。
  4. 默认获取是错误的。获取可能非常有用(例如安全性),但应在需要时明确定义。这是一个设计缺陷
  5. Plone 不区分内容和布局。这是一个严重的设计缺陷。没有理由在例如级联样式表或创建 3 列布局的 html 上应用安全设置和角色,并且没有理由为什么这些元素应该在 ZODB 中而不是在文件系统中
  6. Plone 不区分网页设计师和内容编辑/发布者,这又是一个严重的缺陷。内容编辑器/发布者添加/审查在实时站点上运行的内容。网页设计师在测试服务器上添加/修改内容类型、表单和布局,并在准备好后将其移植到实时服务器。Plone 为内容编辑器设置的安全限制不应用于可以访问服务器上文件系统的网页设计师。
  7. Plone 不区分网页设计师的图形方面和编程方面。图形艺术家使用的工具只会说 html、css 和一点点 javascript,但没有 Python、适配器和其他高级编程概念。因此,Plone 中的完整蒙皮系统是一场噩梦

由于第 4、5、6 和 7 点,我认为 Plone 如此缓慢。

第 6 点和第 7 点让我放弃了 Plone。我四处寻找其他选择,最终决定在 Pylons 上开发自己的 CMS,与 Plone 相比,它的速度快得惊人。在同一台开发服务器上,我的启动时间为 1 秒,并且无法测量重新加载页面的时间。

网站 www.kosk.be 正在运行(它是荷兰语)。其背后的 CMS,名为 Red Devil,将于明年开始作为独立的开源项目推出

于 2009-01-15T13:08:53.300 回答
7

我看到有四件事可以证明在使用 Plone 上投入时间是合理的:

  • Plone 有一个庞大而乐于助人的社区。大多数你需要的东西,其他人
    在过去的某个时间已经做过了。他可能问了一些问题并得到了有用的答案,或者他写了一个教程。通常这会留下很容易找到的痕迹。关于他是如何做到的。
  • 您无需了解许多定制需求的整个复杂性。
  • Plone 开发人员意识到他们的复杂堆栈,并且正在讨论如何减少这种情况。Plone 过去已经证明,它能够通过定义的弃用阶段以干净的方式更新自身并放弃旧的基础设施。
  • 有许多本地用户组和乐于助人的人。

哦等等,有人告诉我 plone 开发人员会议是最好的会议之一! 像那个

于 2008-12-07T23:30:53.850 回答
5

从系统管理员的角度来看,Plone 简直不敢成为绝对的恶魔。在 Linux 平台上,升级、维护和安装你想要安装的东西比必要的还要痛苦。不过,这只是我的两分钱,也是我通常更喜欢避免使用 Zope/Plone 堆栈的原因。

注意:新版本更好,但旧版本....呃

于 2009-01-24T17:04:56.613 回答
4

增生。

于 2009-05-12T21:40:37.083 回答
3

关于这里的评论,我认为 Plone 不会那样工作(至少现在不会了)。

1 - Plone 确实比其他 CMS 解决方案慢,但从开箱即用的设置到 Apache-Varnish-Zope-Relstorage 解决方案,有很多优化空间。

2 - 这是真的。这里的答案有点解释它,但确实 Plone 是一种复杂的动物。

3 - 不确定你的意思。TAL Path 表达式基于对象属性遍历的概念。对我来说似乎是OO。

4 - 对。尽管在您了解了 Acquisition 的工作原理之后,它不会妨碍您。我猜,在 Plone 中没有多少东西依赖于 Acquisition。

5 - 不正确。Zope 页面模板都是关于将内容与演示分开的。可以从 ZODB 查看内容和演示文稿(实际上大多数模板都保留在文件系统中,您只是在 ZODB 中看到它们的“视图”)这一事实与 ZODB 是一个大对象这一事实更相关数据库 - 这反过来并不意味着它们都是内容。“纯” OO 系统中的一切都是一个对象,重要的是对象的种类(表示对象、内容对象等)。

6 - Plone 确实区分了网页设计师和内容创建者。设计师进行所有自定义(模板、CSS、JS 等),然后内容创建者使用 Plone UI 创建内容。这里的重点是 Plone 主要是一个 CMS,这意味着内容创建者在设计方面应该是外行。

7 - 部分正确。考虑到 UI 结构不会改变,所有的表现规范都包含在 CSS 文件中。如果 UI 结构需要更改,设计师可能会与程序员合作 :-) 以充分利用模板。

我猜在没有输出动态页面的系统中,设计师可以完全自由地只说 HTML、CSS 和 JS,而忽略一些其他技术,无论是 PHP、Python、ASP 还是 Java。如果他这样做了,那么肯定会有一个程序员从设计师那里得到 HTML、CSS 和 JS 并“动态化”。这个模型肯定存在于 Plone 中。

于 2011-03-16T22:08:16.213 回答
2

如果不需要,请不要使用它。整个 ZOPE 宇宙就是一只恐龙。生长多年,收集了大量的碎屑和铁锈。现在很多事情都会完全不同。对于大多数东西来说过于复杂,对于复杂的东西来说很难处理。它与纤薄和可扩展的设计相反。为了认真解决这个问题,我没有看到该项目涉及必要的人力。

抱歉措辞严厉,我也希望它会更好。

于 2016-01-12T12:05:10.577 回答