通过web应用程序开发,不需要深入的编程技巧(zope核心中以前的zclasses功能)。

dm.zopepatches.zclasses的Python项目详细描述


这个功能以前在Zope核心中是ZClasses。 它允许菜单驱动的web应用程序构造。 由于菜单支持,只需要有限的编程技能。

更准确地说:允许定义类的ZClasses功能 (在面向对象的意义上) 通过zope管理接口(ZMI),即所谓的ZClasses。 一个ZClass可以从基类和其他ZClasses继承(多个 继承),管理一组关联属性表中的数据,定义 通过任意 其他Zope对象 (例如模板、脚本),定义适合该类的权限 并将类相关权限映射到 实现类方法的对象。 然后可以实例化类,并在 Web应用程序,用于保存数据、提供基本服务、粘合 一切都在一起。 令人印象深刻

这在过去是一个有价值的卖点。事实上,回来 2000年,我使用ZClasses构建了一个大型多语言web 包含大约6个ZClasses并允许 对欧洲招标数据库进行查询并订阅 以电子邮件通知更改的查询结果。

不幸的是,一些有影响力的zope开发人员(尤其是 Zope 2发布管理器)不喜欢ZClasses 开始和他们战斗最后(Zope 2.12),他们删除了 Zope核心的功能——最初声称 很高的维护负担(尽管从2.8开始 ZClasses)但最终承认删除发生了 因为他们不想要ZClasses

是的,ZClasses有一些问题:

  • ^{tt1}$ are Zope objects, stored and maintained in the ZODB (the Zope Object Database). There is no version control system documenting who changed what for what reason. Such documentation can be vital for large projects with a long lifetime.
  • ^{tt1}$ provided a vast functionality but there have been no tests to verify all this functionality. As a consequence, ^{tt15}$ broke once partially and this was only detected by Zope users and not during the development by the tests.
  • For Zope 2.8, ^{tt1}$ needed an overhaul and only Jim Fulton (the initial author of Zope and ^{tt1}$) was able to do this work. The developers feared that a future Zope version might need a similar effort with the resources missing.
  • ^{tt1}$ do not play well with storage mounting.

提醒用户注意这些缺陷是正确的,但在我看来 通过删除 功能。幸运的是,zope是开源的,这在一定程度上限制了 开发者和发布经理的力量。 这个包使用所谓的monkey patching(运行时代码修改) 重新插入Zope的ZClasses功能 Zope开发人员已经抢走了

一些警告注释:猴子修补可能 很危险部分地,它将核心功能替换为 修改了一个。我已经尽力让这些替代品 对于Zope2.12来说没问题,但是未来的Zope版本可能需要其他版本 替换。破损可能不会发生在ZClasses本身 但在核心功能上。此外,zope开发者的敌意 towardZClasses可能足够大,它们可以删除更多部分 由ZClasses要求。原则上,这些部分也可以 被收回,成本会增加,最终可能会变得太大(比如 我放弃了这个项目)。因此,最好不要 依靠这套方案进行长期的新项目,但限制 它用于获得一些额外的时间来重新实现基于ZClasses的 项目或短生命原型。

ZClasses以前记录在 “http://www.plope.com/Books/2_7Edition/CustomZopeObjects.stx”。 Zope开发人员也没有忘记删除这些文档。 但是,我已经预料到了这一步,并保存了一份副本你发现 它在包的doc子目录中。它仍然呈现“扑通一声” 外观和链接将不起作用。屏幕截图丢失,但您 可以用你的Zope去拿。

激活

这个包在导入之前什么也不做进口时, 它会给猴子打补丁。

ZClasses需要一个特殊的类工厂 根ZODB为此,根ZODB配置 必须使用配置选项(在zope配置文件中):

class-factory dm.zopepatches.zclasses.ClassFactory

通常,进口(在第一段中提到) 在处理此选项时执行

限制

  • This version does not yet reinstate the ^{tt1}$ help pages.
  • This version does not yet reinstate the distibution tab of products. Likewise, distribution import is likely not to work.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何为ConcurrentHashMap使用并设置适当的并发级别?   java泛型方法,运行时错误,   java在页面上显示加载的图像   java Paypal定期直接支付问题   java如何延迟重新绘制组件   JavaSpringBoot+Hibernate如何维护@Transient字段   java在其方法中获取关于类的信息   在java中将别名添加到枚举   java如何解决向google报告成绩时“需要重新连接客户端”的问题   清晰的java图像背景   java未找到适合JDateChooser的构造函数(字符串、字符串、字符)   java LRU缓存实现。某些测试用例的代码失败   if语句Java嵌套的if/Else条件   java JSoup“wrap”并非每次都按预期工作   Java Spring引导循环依赖于一个环境   ssl证书无法通过Java和IntelliJ连接到SOAP服务   带整数验证的Java扫描器   java在Flex中呈现具有动态列的datagrid   java Android:通过用户选择的选项将文件上载到服务器   子类中的java抛出错误、异常和运行时异常