Plone非常复杂.Zope 2,Zope3,Five,ZCML,ZODB,ZEO,一大堆首字母缩写词和缩写词.
这很难开始,目前的状态似乎尚未确定.它主要基于Zope2,但通过Five合并了Zope3.并且到处都有XML配置文件.
陡峭的学习曲线是否付出了代价?这种复杂性今天仍然合理吗?
背景:我需要一个平台.客户通常需要CMS.我目前正在阅读" 专业Plone开发 ",没有Plone的先验知识.
问题是:客户并不总是想要这样,而事先你也无法知道.有一件事是肯定的:他们不想要Plone的默认主题.但任何其他功能都是风险.你不能只是开始并说" 如果你想看到Plone的复杂性,你必须要求它. "当你不知道系统足够好计划时.
没有任何背景信息,很难回答你的问题.如果你只想要一个博客,复杂性是否合理?不是.如果您为400多人建立公司内联网,复杂性是否合理?是.如果你想成为一名顾问,这是一项很好的投资吗?绝对!Plone有很多工作,而且它比普通的PHP工作要好得多.
我鼓励你澄清你想要建立什么,并向Plone论坛寻求建议.Plone拥有一个非常成熟和友好的社区 - 如果你想要做的事情是Plone不适合的话,绝对会让你知道.你当然可以用Plone做任何你想做的事情,但是在某些领域它是最好的解决方案,其他领域需要做很多工作来改变它来做其他事情.
一些背景:
Plone在这个时间点的复杂性的原因是它正在转向更现代的架构.它现在正在弥合旧方法和新方法,这增加了一些复杂性,直到转换大部分完成.
Plone这样做是为了避免通过打破向后兼容性而让他们的客户落后,他们非常重视这一点 - 与我提到的其他系统不同(但不会;).
您关心自己的数据,Plone社区关心他们的数据 - 我们希望您能够升级到新的和更好的版本,即使我们正在转换到新的架构.这是Plone社区的优势之一,但在飞机飞行时修改飞机当然会受到惩罚,这有点暂时的,额外的复杂性.
此外,Plone作为一个社区非常注重安全性(将其与报告的漏洞的任何其他系统进行比较),以及一种非常专业的文化,重视良好的架构,测试和可重用性.
例如,考虑正在开发的Plone的当前版本(将变为4.0):
它的启动速度比当前版本快3-4倍.
它使用的内存比当前版本少20%.
在工作中有一个更容易的类型系统(Dexterity),这将降低复杂性并加速系统,同时保持相同的功能水平
代码库已经比当前出货版本小20%,并且变得更小.
新类型系统的早期基准测试显示内容编辑的速度提高了5倍,我们还没有真正开始优化这个部分.
- Plone联合创始人Alexander Limi(略有偏见;)
如果你想看到Plone的复杂性,你必须要求它.对于大多数人来说,它不存在.它通过一键安装程序在几分钟内安装完毕.然后只需单击一次即可登录,只需单击一次即可创建页面,使用WYSYWIG编辑器,然后单击一次即可保存.一切都是通过直观的Web GUI.Plone是一种产品.
如果你想将它用作"平台",那么该平台就是一堆超过一百万行代码,它实现了一个完整的内容管理套件.没有人知道这一切.然而,所有那些"首字母缩略词"和"文件"都是软件的证据,这些软件在组件中被考虑在内,因此没有人需要知道所有这些.您可以根据需要获得深度或浅度.如果内容管理的某些方面需要某些东西,它已经存在,您不必从头开始创建它,并且您可以采用与广泛的实践和审查一致的方式来完成它.
我在这里发现了一个匿名评论,这比那个帖子本身要好得多,所以我将它全部转发到这里,并修改了几个拼写错误.
今年夏天,我的国际象棋俱乐部要求我建立一个新网站,董事会成员应该能够添加新闻快讯,文章,...听起来像一个CMS.作为一名Python开发人员,我看了Plone并购买了Aspeli书籍Professional Plone开发(优秀的写作顺便说一句).
我花了3个星期的假期来研究这本书并设置了第一个模拟该网站.
3个星期后,我意识到Plone有一些非常好的东西,但也有一些非常令人沮丧的东西在积极的一面
如果您不需要自定义Plone,Plone在功能和布局方面非常出色
Plone有一个很好的安全模型
Plone拥有良好的现成工作流程
Plone是多语言(我需要的)
在不利方面
Plone很慢很慢.在我的开发平台(一个3年前的PC,512 MB RAM)上启动Plone需要30秒,重新加载页面需要10到15秒
你需要很多不同的技术来定制或开发最简单的东西
TAL和Metal不是现有技术,不适用于Plone的OO设计.
默认情况下获取是错误的.获取可能非常有用(例如安全性),但应在需要时明确定义.这是一个设计缺陷
Plone不区分内容和布局.这是一个严重的设计缺陷.没有理由在例如级联样式表或创建3列布局的html上应用安全设置和角色,并且没有理由为什么这些元素应该在ZODB中而不在文件系统上
Plone不区分网页设计师和内容编辑/出版商,这也是一个严重的缺陷.内容编辑者/发布者添加/评论在实际站点上运行的内容.Web设计人员在测试服务器上添加/修改内容类型,表单和布局,并在准备好时将其移植到实时服务器.内容编辑器的Plone安全限制不应该应用于可以访问服务器上的文件系统的Web设计器.
Plone不区分网页设计师的图形方面和编程方面.图形艺术家使用的工具只能说html,css和一点javasccript,但没有Python,适配器和其他高级编程概念.因此,Plone中的完整皮肤系统是一场噩梦
我认为由于第4,5,6和7点,Plone是如此之慢.
第6点和第7点让我失去了Plone.我环顾四周寻找其他选择,并最终决定在Pylons上开发自己的CMS,与Plone相比,这是非常快的.在同一个开发服务器上,我的启动时间为1秒,重新加载页面时间不可测量.
网站www.kosk.be正在运行(它是荷兰语).其背后的CMS名为Red Devil,将于明年开始作为一个单独的开源项目启动
我认为有四件事可以证明在使用Plone时投入时间是合理的:
Plone拥有一个庞大而有用的社区.大多数你需要的东西,其他人
在过去的某个时候已经做过了.他可能会问一些问题并得到有用的答案,或者他写了一个教程.通常,容易找到痕迹.关于他是如何做到的.
您无需了解许多自定义需求的整体复杂性.
Plone开发人员意识到他们的复杂堆栈,并正在讨论如何减少它.Plone过去已经证明,它能够以定义的弃用阶段以干净的方式更新自己并丢弃旧的基础架构.
有许多本地用户组和乐于助人的人.
哦等等,我被告知plone开发者会议是最好的之一! 就像那个
从系统管理员的角度来看,Plone简直是绝对的魔鬼。在Linux平台上,升级,维护和安装要在其上安装东西的地方比痛苦的多。不过,这只是我的两分钱,所以我通常更喜欢避免使用Zope / Plone堆栈。
注意:使用新版本更好,但是使用旧版本...。