首先,我将尝试了解应用程序的状态。他们在哪个 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 多年的历史,而且维护者的数量非常少,所以它仍然存在,可以在几天内工作,并且安全补丁已经打好。