【问题标题】:Zope: Best pratice to develop enterprise grade applicationZope:开发企业级应用程序的最佳实践
【发布时间】:2022-01-11 10:18:40
【问题描述】:

我在 Zope 中开发了许多遗留应用程序,我希望将它们发展为企业级应用程序。 但是我没有找到足够的文档来在 Zope 中开发“现代”应用程序:

  • 身份验证:如何集成Products.PluggableAuthService
  • ORM:如何使用 ORM 来抽象堆栈中的数据模型?
  • 应用程序架构:我可以为每个模型或每个视图构建一个产品吗?或者还有其他组织应用程序的方法?
  • 版本控制和部署活动。

在哪里可以找到文档、示例和最佳实践来完成我的任务?

标准的 Zope 文档已经过时且不适合我的范围。

【问题讨论】:

    标签: python architecture development-environment zope


    【解决方案1】:

    首先,我将尝试了解应用程序的状态。他们在哪个 Zope 版本上运行?请注意,已不再维护广泛传播的 2.13(甚至更低)版本,请参阅https://www.zope.dev/developer/roadmap.html

    如果您知道自己拥有什么,您可以估计将它们移植到受支持的版本上的工作量,或者更换应用程序是否更有意义。

    如何集成 Products.PluggableAuthService

    该插件有一个很好的文档,请参阅https://productspluggableauthservice.readthedocs.io/en/latest/ - 也可以查看示例插件。如果您有具体问题,我建议您在以下论坛中提问 - https://community.plone.org/

    ORM:如何使用 ORM 来抽象堆栈中的数据模型?

    对于 Zope 应用程序,您通常不使用 ORM。模型类继承自 Persistent 或类似。

    应用架构:我可以为每个模型或每个视图构建一个产品吗?或者还有其他组织应用程序的方法?

    通常,一个产品包含模型和必要的视图,但您当然也可以在一个大文件夹中开发应用程序。这取决于您的偏好以及开发人员团队的规模。

    版本控制和部署活动。

    对于版本控制,我只是使用 git,就像现在每个人一样。

    对于部署,有 buildout,或者 pip 与 requirements.txt 或 ansible 或我使用的...https://batou.readthedocs.io/en/stable/

    在哪里可以找到文档、示例和最佳实践来完成我的任务?

    你可以看看 Plone,因为 Plone 是一个非常现代的 Zope 应用程序。

    标准的 Zope 文档已经过时且不适合我的范围。

    Zope 文档已针对 Zope 4 进行了部分更新。事实上,文档太广泛了,维护人员团队非常小,现在“没有人”开始新的 Zope 项目。

    实际发生的情况 - 它会在工作完成时不时更新,例如变化的行为,然后文档也会更新。

    尝试使用文档,当您发现某些过时的内容时,尝试修复/更新它,这就是我学会使用 Zope 的方式。

    除此之外 - 我认为这非常棒,因为 Zope 已经 20 多年的历史,而且维护者的数量非常少,所以它仍然存在,可以在几天内工作,并且安全补丁已经打好。

    【讨论】:

    • TKS。我没有开始新项目,而是以现代方式更改旧软件。使用DTML / ZPT技术的文档很广泛,但在产品开发方面非常缺乏Products
    • Zope 开发者文档比“Zope Book”更新——我推荐阅读zope.readthedocs.io/en/latest/zdgbook/Products.html——或者看看Plone 和一些Plone 产品。另外,如果您接受我的回答或者如果它对您有帮助,我将不胜感激。谢谢。
    猜你喜欢
    • 2014-07-28
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多