Zope Management Interface专有技术,可以更好地开发Plone

Dan*_*cka 4 zope plone

作为定制Plone的典型"集成商"程序员,我应该如何了解ZMI以帮助我更有效地编码?什么是设置,工具,陷阱,快捷方式和黑暗角落,这将节省我的时间,并帮助我编写更好的代码?

编辑:将其视为我在文件系统上编码的读取,使用GenericSetup配置文件进行设置更改.我知道在ZMI中做出改变是一个坏主意,并且通常很明确.但偶尔ZMI肯定是有用的:用于检查工作流,或检查内容项的权限,或通过portal_setup仅安装配置文件的一部分.ZMI真的没什么值得了解的吗?或者那里有其他有用的小花絮吗?

Dav*_*ick 9

在ZMI中有一些地方我发现自己要回来获取诊断信息:

  • / Control_Panel/Database:选择ZODB挂载点."缓存参数"选项卡显示已使用的指定ZODB缓存大小的大小."活动"选项卡显示加载到缓存和写入的对象数量.

  • / Control_Panel/DebugInfo/manage:大量信息,包括显示当前时刻每个线程正在服务的请求."缓存详细信息"和"缓存极端详细信息"链接提供有关ZODB缓存中当前哪些对象类的信息.

  • Plone站点根目录的组件选项卡:快速查看本地适配器和实用程序的注册方式.不要点击申请按钮!

  • 撤消大多数对象的选项卡:查看谁最近提交了影响对象的事务.

  • "安全"选项卡:查看对象实际有效的权限.你真的不想在90%的时间里改变权限; 跟踪权限设置的位置太难了,工作流程可能会重置这些权限.使用Plone UI中的"共享"选项卡来分配本地角色.(一个例外是我经常发现在特定上下文中为特定类型启用添加权限很方便.)在Zope 2.12中,此选项卡上有一个新功能,用于输入用户名并查看其中的权限和角色.对该用户的影响,这很方便.

  • portal_catalog的目录选项卡:查看为特定路径存储的索引数据和元数据.(也可以从索引中删除伪造的条目.)

  • portal_catalog的"索引"选项卡:选择一个索引,然后单击其"浏览"选项卡以概述索引的键以及与每个键关联的项.


Ste*_*veM 7

需要知道的关键是,虽然许多ZMI工具提供了快速的,通过Web自定义,但您以这种方式进行的自定义很难从数据库中导出.因此,它们不容易从开发环境转移到生产环境或从一个部署移动到另一个部署.

理想情况下,新开发人员应使用ZMI来探索和查找干预点.然后,了解如何在可以更可重复地从一个部署移动到另一个部署的策略添加(产品)中实现相同的更改.


Han*_*ing 6

如果你想为Plone编写代码,最好避免使用ZMI.通过ZMI做事的概念是非常有限的和沮丧的 - 越来越多的东西在那里没有,它会在某些时候消失.

实际的Plone控制面板为您提供了大多数可以使用的配置选项.对于其他任何事情,文件系统是最好的地方.

  • 我经常使用ZMI详细检查Plone站点的状态.portal_setup工具也是Plone开发人员工具包的重要组成部分.对于快速和脏的用例,CSS,图像和模板的TTW定制可能很有价值.当然,你是正确的. (3认同)