Zope:开发企业级应用程序的最佳实践

Zope: Best pratice to develop enterprise grade application

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

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

标准的 Zope 文档对我来说是旧的和不完整的。

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

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

how can I integrate Products.PluggableAuthService

该插件有很好的文档,参见https://productspluggableauthservice.readthedocs.io/en/latest/ - also have a look in the example plugins. If you have specific questions, I would suggest you to ask in the following forum - https://community.plone.org/

ORM: how can I use an ORM to abstract data model in my stack?

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

Application Architecture: may I build a Product for each Model or for each View? Or there is another way to organize the application?

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

Versioning and Deploy activity.

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

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

Where can I find documentation, samples and best practice to do my task?

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

The standard Zope documentation is old and incomplete to my scope.

Zope 4 的 Zope 文档已经部分更新。事实上,文档太丰富了,维护人员的团队非常小,现在“没有人”开始一个新的 Zope 项目。

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

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

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