用于创建Zope实例的Buildout食谱
项目描述
简介
此食谱以部分方式创建和配置Zope实例。(尽管其名称如此,但现在它仅适用于Zope 4+。)它还在bin/目录中安装了一个控制脚本,类似于zopectl。控制脚本的名称是buildout中部分的名称。默认情况下,各种运行时和日志信息将存储在var/目录中。
您可以使用如下部分使用它
[instance] recipe = plone.recipe.zope2instance user = admin:admin http-address = 8080 eggs = my.distribution zcml = my.distribution
选项
通用选项
- eggs
您希望为实例提供可用的发行版列表。
- zcml
安装列出发行版的 ZCML slugs,用空格分隔。您可以通过追加‘-’和您要创建的 slug 类型来指定 slug 类型。一些示例:my.distribution my.distribution-meta。
- http-address
设置 HTTP 服务器地址。可以是端口号或套接字地址。默认为 0.0.0.0:8080。
- ip-address
这是 Zope 的各种服务器协议实现监听请求的默认 IP 地址。如果未设置,Zope 将在机器支持的 IP 地址上监听。在服务器部分可以根据每个服务器覆盖此指令。默认不设置 ip-address。仅用于 ZServer,不用于 WSGI。
- threads
指定用于服务请求的工作线程数量。默认值为 WSGI 的 4(因为这是 waitress 的默认值)和 ZServer 的 2。
- zodb-cache-size
设置 ZODB 缓存大小,即 ZODB 缓存尝试保持的对象数量。默认为 30000。
- zserver-threads
已弃用,请使用 threads 代替。指定 Zope 的 ZServer 网络服务器用于服务请求的线程数。默认值为 2。仅用于 ZServer,不用于 WSGI。
- environment-vars
定义任意键值对,在 Zope 运行周期中使用作为环境变量。例如
environment-vars = TZ US/Eastern zope_i18n_allowed_languages en zope_i18n_compile_mo_files true
- initialization
指定一些 Python 初始化代码,在生成的 sitecustomize.py 脚本(Buildout >= 1.5)或实例脚本(Buildout < 1.5)中包含。这非常有限。特别是,请注意,会从提供的代码中删除前导空白。 从版本 4.2.14 添加
- wsgi
默认情况下,此配方创建一个使用 waitress 作为 WSGI 服务器的 Python 脚本。当运行 Python 2 时,您可以通过将 wsgi = off 设置为禁用 WSGI 并将 ZServer 包含在 eggs 规范列表中,使用 ZServer。例如
wsgi = off eggs = ... ZServer
您可以通过在此处传递 WSGI 配置文件的路径来使用其他 PasteDeploy 兼容的 WSGI 服务器,并在 eggs 规范中包含 WSGI 服务器 egg。例如
wsgi = ${buildout:directory}/etc/gunicorn.ini eggs = ... gunicorn
在这种情况下,不会为您创建 WSGI 配置文件,与内置的 waitress 支持不同。您必须自己提供。
- max-request-body-size
指定请求体最大大小(以字节为单位)。默认为 1073741824(因为这是 waitress 的默认值)
主题资源
有关更多详细信息和建议的设置说明,请参阅 https://pypi.ac.cn/project/plone.resource。
- resources
指定一个中心资源目录。例如
resources = ${buildout:directory}/resources
区域设置
- locales
指定本地化目录。例如
locales = ${buildout:directory}/locales
这将注册一个包含额外或不同翻译的本地化目录。如果您想覆盖英文中 plone 域的几个翻译,您可以在该目录中添加一个 en/LC_MESSAGES/plone.po 文件,顶部有标准标题,然后是类似以下的内容
#. Default: "You are here:" msgid "you_are_here" msgstr "You are very welcome here:"
其他消息 ID 的翻译不受影响,将继续工作。
开发选项
- verbose-security
设置为 on 以开启详细安全设置(并切换到 Python 安全实现)。默认设置为 off(并使用 C 安全实现)。
- debug-exceptions
仅 WSGI:设置为 on 以禁用异常视图,包括 standard_error_message。除了 Unauthorized 或 ConflictError 以外的异常可以进入 WSGI 栈。如果您想使用 WSGI 中间件(如 werkzeug 调试器)提供的更方便的错误调试,请使用此选项。有关示例,请参阅 Zope WSGI 文档。
- profile
设置为开启将启用repoze.profile。默认为关闭,如果开启,则有以profile_为前缀的进一步选项来按以下方式配置。您需要添加repoze.profile包,直接添加到您的eggs部分或使用额外的plone.recipe.zope2instance[profile]。
- profile_log_filename
原始配置数据的文件名。默认为profile-SECTIONNAME.raw。此文件包含用于进一步分析的原始配置数据。
- profile_cachegrind_filename
如果已安装pyprof2calltree包,则会写入另一个文件。它旨在与任何cachegrind兼容的应用程序一起使用。默认为cachegrind.out.SECTIONNAME。
- profile_discard_first_request
默认为true。有关详细信息,请参阅repoze.profile 文档。
- profile_path
默认为/__profile__。这是通过网页访问最后配置请求的路径。
- profile_flush_at_shutdown
默认为true。有关详细信息,请参阅repoze.profile 文档。
- profile_unwind
默认为false。有关详细信息,请参阅repoze.profile 文档。
直接存储
如果您只有一个应用程序进程,则可以直接打开数据库文件而无需运行数据库服务器进程。
- file-storage
将ZODB数据文件存储的文件名。默认为${buildout:directory}/var/filestorage/Data.fs。
- blob-storage
将ZODB blob数据存储的目录名,默认为${buildout:directory}/var/blobstorage。
基本ZEO存储
如果您想有多个应用程序进程,则需要运行一个单独的数据库服务器进程并连接到它,无论是通过ZEO还是RelStorage。
- zeo-address
设置ZEO服务器的地址。默认为8100。您可以设置多个地址(用空格分隔)。如果主地址不可用,则使用替代地址。
- zeo-client
设置为‘on’以使此实例成为ZEO客户端。在这种情况下,需要设置zeo-address选项,并且file-storage选项无效。要设置ZEO服务器,可以使用plone.recipe.zeoserver配方。默认为‘off’。
- blob-storage
blob zeocache的位置,默认为var/blobcache。如果启用了shared-blob,则默认为${buildout:directory}/var/blobstorage。
- shared-blob
默认为off。如果ZEO服务器和实例可以访问同一目录(例如,在相同的物理机器上或通过像NFS这样的网络文件系统),则将其设置为‘on’。请确保此实例的blob-storage设置为与ZEO服务器相同的目录。在这种情况下,实例不会通过ZEO连接流式传输blob文件,而是只发送文件位置信息到ZEO服务器,从而加快执行速度并减少内存开销。
- zeo-client-read-only-fallback
一个标志,表示是否可以将只读远程存储作为当没有可写存储时的后备选项。默认为false。
- read-only
将zeo客户端设置为只读 版本4.2.12新增
ZEO身份验证
您还需要在服务器端激活ZEO身份验证,才能使此功能生效。没有此功能,任何可以连接到数据库服务器套接字的人都可以读取和写入任意数据。
- zeo-username
启用ZEO身份验证,并在访问ZEO服务器时使用指定的用户名。必须指定zeo-password。
- zeo-password
在启用身份验证的ZEO服务器上连接时使用的密码。
- zeo-realm
在通过ZEO服务器进行身份验证时使用的身份验证区域。默认为‘ZEO’。
RelStorage
请参考https://pypi.ac.cn/project/RelStorage以获取更多详细信息和使用说明。
- rel-storage
允许设置RelStorage而不是FileStorage。
包含通过换行符分隔的设置,这些值
type:支持任何数据库类型(postgresql、oracle、mysql)
RelStorage特定键,如cache-servers和poll-interval
所有其他键都传递给特定数据库的RelStorage适配器。
示例
rel-storage = type oracle dsn (DESCRIPTION=(ADDRESS=(HOST=s01))(CONNECT_DATA=(SERVICE_NAME=d01))) user tarek password secret
日志记录
在大多数情况下,您不需要调整这些设置,您可能想要调整日志级别或配置mailinglogger。
- event-log
事件日志文件的名称。默认为${buildout:directory}/var/log/${partname}.log。将此值设置为‘disable’将使
部分被省略,默认禁用将事件记录到.log文件。 - event-log-level
设置事件日志控制台输出的级别。级别可以是CRITICAL、ERROR、WARN、INFO、DEBUG或ALL之一。默认为INFO。
- event-log-max-size
事件日志文件的最大大小。启用日志轮转。仅用于ZServer,不用于WSGI。
- event-log-old-files
启用日志轮转时保留的先前日志文件的数量。默认为1。仅用于ZServer,不用于WSGI。
- event-log-custom
为eventlog定义的自定义部分,以便能够使用除logfile之外的其他事件记录器。仅用于ZServer,不用于WSGI。
- mailinglogger
添加到事件日志的mailinglogger部分。仅用于ZServer,不用于WSGI。示例片段
<mailing-logger> level error flood-level 10 smtp-server smtp.mydomain.com from logger@mydomain.com to errors@mydomain.com subject [My domain error] [%(hostname)s] %(line)s </mailing-logger>
您需要将mailinglogger添加到构建out的egg部分以使其生效。
- access-log, z2-log
Z2访问日志的文件名。对于WSGI,默认为var/log/${partname}-Z2.log(var/log/${partname}-access.log)。将此值设置为‘disable’将禁用访问日志。对于ZServer,这将省略zope.conf中的<logger access>部分。对于WSGI,日志处理程序将是NullHandler。
- access-log-level, z2-log-level
设置访问日志的日志级别。级别可以是CRITICAL、ERROR、WARN、INFO、DEBUG或ALL之一。默认为WARN(WSGI为INFO)。
- access-log-max-size
访问日志文件的最大大小。启用日志轮转。仅用于ZServer,不用于WSGI。
- access-log-old-files
启用日志轮转时保留的先前日志文件的数量。默认为1。仅用于ZServer,不用于WSGI。
- access-log-custom
类似于event-log-custom,为访问记录器定义自定义部分,以便能够使用除logfile之外的其他事件记录器。仅用于ZServer,不用于WSGI。
- sentry_dsn
在此处提供Sentry DSN以启用Sentry的基本日志记录,如https://docs.sentry.io/platforms/python/logging/中所述。您需要通过直接将其添加到您的eggs部分或添加plone.recipe.zope2instance[sentry]来添加Python Sentry SDK。仅适用于WSGI。
- sentry_level
设置Sentry面包屑的日志记录级别。仅适用于WSGI。
- sentry_event_level
设置Sentry事件的日志记录级别。仅适用于WSGI。
- sentry_ignore
设置Sentry忽略的(空格分隔的)记录器名称列表。仅适用于WSGI。
- sentry_max_value_length
设置发送到Sentry的跟踪消息的最大大小。如果您的跟踪信息被截断,请将此值增加到sentry-sdk默认值1024以上。仅适用于WSGI。
WSGI的高级日志记录选项
对于更复杂的日志配置,zope2instance配方通过
可以使用补充选项
- access-log-handler
可导入的Python日志处理程序(点)名称,例如logging.handlers.RotatingFileHandler。
默认值: FileHandler
- access-log-args
一个Python元组,通常指日志文件的名称和打开模式,例如 (“access.log”, “a”)。请注意,只有单个元素(例如,仅文件名)的Python元组必须有一个尾随逗号,如 (“access.log”, )。 access-log-args 用于指定通过 access-log-handler 配置的日志处理器的位置参数。
默认值: (r”access.log”, “a”)
- access-log-kwargs
一个Python字典,用于传递通过 access-log-handler 配置的日志处理器的关键字参数,例如 {“when”: “h”, “interval”: 1}。
默认值: {}
- event-log-handler
与 access-log-handler 相同,但用于配置Plone的事件日志。
- event-log-args
与 access-log-args 相同,但用于配置Plone的事件日志。
- event-log-kwargs
与 access-log-kwargs 相同,但用于配置Plone的事件日志。
- wsgi-logging-ini-template
默认情况下,plone.recipe.zope2instance 在 parts/<partname>/etc/wsgi.ini 中使用硬编码的日志模板来生成WSGI配置。模板在 recipe.py 文件中定义为 wsgi_logging_ini_template 变量。
您可以使用此选项使用自定义的 wsgi_logging.ini 文件覆盖模板。所有其他默认的WSGI选项将保持不变。
示例
wsgi-logging-ini-template = /path/to/wsgi_logging.ini
此选项不能与 wsgi-ini-template 选项一起使用(请参阅高级选项:wsgi-ini-template)
示例(基于文件大小的访问日志轮转)
此示例使用 RotatingFileHandler(https://docs.pythonlang.cn/3/library/logging.handlers.html#rotatingfilehandler)在日志文件大小超过10 MB时轮换访问日志,同时保留七个副本
access-log-handler = logging.handlers.RotatingFileHandler access-log-args = (r"access.log", "a") access-log-kwargs = {"maxBytes": 10000000, "backupCount": 7}
示例(每天轮转事件日志)
此示例使用 TimedRotatingFileHandler(https://docs.pythonlang.cn/3/library/logging.handlers.html#timedrotatingfilehandler)每天轮换事件日志一次或每24小时一次
event-log-handler = logging.handlers.TimedRotatingFileHandler event-log-args = (r"event.log", ) event-log-kwargs = {"when": "D", "interval": 1}
加载非setuptools兼容的Python库
- products
一个包含Zope 2产品安装路径的列表。如果同一产品在多个目录中找到,则第一个路径具有优先级。Zope 2产品已过时,并将不再在Zope/Plone的下一个版本中工作。
- extra-paths
一个包含额外Python包安装路径的列表。在所有egg和产品路径之后按给定顺序搜索这些路径。
高级ZCML选项
- site-zcml
如果您想有一个自定义的 site.zcml 文件,请将其内容放在这里。如果使用此选项,则忽略 zcml 和 zcml-additional 选项。
- zcml-additional
应包含在生成的 site.zcml 文件中的额外ZCML语句。
高级ZEO选项
- zeo-client-cache-size
设置ZEO客户端缓存的大小。默认为‘128MB’。ZEO缓存是应用程序线程之间共享的基于磁盘的缓存。它存储在临时文件中,或者,如果您使用 client 选项激活了持久缓存文件(请参阅下面),则存储在由 zeo-var 选项指定的文件夹中。
- zeo-client-client
设置用于构造缓存文件名的持久缓存名称。这使ZEO缓存能够在应用程序重启之间持久化。默认情况下禁用持久缓存文件。
- zeo-client-blob-cache-size
以字节为单位设置ZEO blob缓存的最大大小。如果没有设置,则不检查缓存大小,blob目录将无限制地增长。
- zeo-client-blob-cache-size-check
将ZEO检查大小设置为 zeo-client-blob-cache-size 的百分比(例如,10 为10%)。当加载到缓存中的字节数达到这么多时,将检查ZEO缓存大小。默认为blob缓存大小的10%。如果启用了 shared-blob,则忽略此选项。
- zeo-client-drop-cache-rather-verify
表示当验证优化不可用时(例如,当ZEO服务器重启时),应删除缓存而不是验证。默认为‘False’。
- zeo-storage
设置ZEO存储的存储编号。默认为‘1’。
- zeo-var
用于ZEO存储片段中配置ZEO变量文件夹,该文件夹用于存储持久化的ZEO客户端缓存文件。默认为系统临时文件夹。
高级选项
- wsgi-ini-template
默认情况下,plone.recipe.zope2instance 使用在 parts/<partname>/etc/wsgi.ini 中生成的WSGI配置的硬编码模板。该模板在 recipe.py 文件中定义为 wsgi_ini_template 变量。
您可以使用此选项使用自定义模板文件覆盖模板。
示例
wsgi-ini-template = /path/to/wsgi_template.ini
可用的变量替换可以在现有模板中找到(见上方)。
- asyncore-use-poll
默认为 false。如果您想将 waitress.asyncore.loop 标志设置为使用 poll() 而不是默认的 select(),则将其设置为 true。
- before-storage
在给定时间(或“now”为当前时间)将基本存储包装在“before storage”中,将其设置为只读模式。
此选项通常与演示存储一起使用,以便在正常运行站点中对数据库进行更改。
- client-home
设置生成的实例的客户端home。默认为 ${buildout:directory}/var/<section名称>。
- clear-untrusted-proxy-headers
这告诉Waitress删除任何不受信任的代理头(“Forwarded”,“X-Forwarded-For”,“X-Forwarded-By”,“X-Forwarded-Host”,“X-Forwarded-Port”,“X-Forwarded-Proto”)。Waitress 1中的默认值为false,但Waitress 2将其更改为true。我们明确默认为false。当您将其设置为true时,您可能需要设置其他 wsgi.ini 选项,如 trusted_proxy_headers 和 trusted_proxy。尚不支持通过配方设置这些值。仅用于WSGI,不用于ZServer。
- default-zpublisher-encoding
这控制了到达ZPublisher而没有指定其他编码的Unicode数据使用的字符集。默认为‘utf-8’。Plone要求将其设置为 utf-8。
- demo-storage
如果为‘on’,则启用演示存储。默认情况下,这是一个基于内存的存储选项;更改不会被持久化(有关在演示期间做出的更改使用持久化存储,请参阅demo-file-storage选项)。
要与配置了blob-storage的基本存储选项一起使用,必须设置demo-blob-storage。
- demo-file-storage
如果提供,则存储在演示期间提交的ZODB数据文件的文件名。
- demo-blob-storage
如果提供,则存储演示ZODB blob数据的目录的名称。
此存储可以连接到演示文件存储,或者与默认的基于内存的演示存储一起使用(在这种情况下,您可能希望使用临时目录)。
- storage-wrapper
围绕主存储配置任意配置的模板。%s将被现有的存储配置替换。
- effective-user
为Zope进程设置有效用户名称。默认为不设置有效用户。
- enable-product-installation
通过将其设置为 on 启用持久产品注册表。默认情况下,注册表是关闭的。启用注册表已被弃用。
- ftp-address
为FTP服务器提供一个端口。这启用了FTP服务器。仅用于ZServer,不用于WSGI。
- http-force-connection-close
设置为 on 以强制Zope设置 Connection: close header。这对于例如,如果304留下与Varnish前的连接打开,并且Varnish尝试重用连接的情况很有用。
- http-fast-listen
设置为 off 以将HTTP套接字的打开延迟到Zope启动阶段的末尾。默认为on。
- icp-address
为ICP服务器提供一个端口。这启用了ICP服务器。仅用于ZServer,不用于WSGI。
- import-directory
用于配置实例的导入目录。默认为 <client-home>/import。
- port-base
应用于ZServer配置所使用的端口号的偏移量。例如,如果http-server的端口号是8080且port-base是1000,则HTTP服务器将监听端口号9080。这使得更改Zope服务器进程使用的完整端口号集变得容易。Zope默认为0。
- python-check-interval
一个整数,告诉Python解释器每隔多少条指令检查异步事件。这会影响线程切换的频率。默认为1000。
- relative-paths
将此设置为 true 以使生成的脚本使用相对路径。您也可以在 [buildout] 部分中启用此功能。
- scripts
添加此参数不带任何参数以禁止生成脚本。否则(即没有此参数),将为添加到 eggs 参数的包生成脚本。您也可以按包进行配置。例如:
[instance] recipe = plone.recipe.zope2instance eggs = Plone mr.migrator my.package scripts = my_package_script
在上面的例子中,仅生成 my_package_script。请注意,包含脚本的egg(示例中的 my.package)必须明确列出在eggs选项中,即使它是已列出egg的依赖项。
- template-cache
用于配置页面模板文件的缓存。Chameleon将编译页面模板写入此目录并将其用作缓存。有关更多信息,请参阅 https://chameleon.readthedocs.io/en/latest/configuration.html。有效的选项是off或on或目录位置。默认为${buildout:directory}/var/cache(它也符合var设置的值)。
- var
用于配置所有进入var的内容的基本目录。默认为${buildout:directory}/var。
- webdav-address
为WebDAV服务器提供一个端口。这启用了WebDAV服务器。仅用于ZServer,不用于WSGI。
- webdav-force-connection-close
有效的选项是off和on。默认为off。仅用于ZServer,不用于WSGI。
- pipeline
由wsgi服务器提供的主要应用程序管道。默认情况下,管道是
translogger egg:Zope#httpexceptions zope
如果 z2-log 设置为 disabled 或如果它未设置且 access-log 设置为 disabled(不区分大小写),则将在管道中删除 translogger 行。仅用于WSGI,不用于ZServer。
- zlib-storage
为文件存储数据库添加对文件压缩的支持。该选项接受值‘active’(压缩新记录)或‘passive’(不压缩新记录)。两个选项都支持已压缩的记录。
您可以在为多个连接的客户端准备压缩记录时使用‘passive’设置。
- zodb-cache-size-bytes
以字节为单位设置ZODB缓存大小。此功能仍然是实验性的。
- zodb-temporary-storage
如果给定,Zope的默认临时存储定义将被此参数的行替换。如果设置为“off”或“false”,则不会创建临时存储定义。这可以防止基本Zope 4站点的启动问题,因为它不再默认提供所需的包。
- zope-conf
到 zope.conf 文件的相对或绝对路径。如果提供了此路径,则配方中的许多选项将被忽略。
- zope-conf-imports
您可以使用ZConfig API在zope.conf中定义自定义部分。但是,为了让Zope理解您的自定义部分,您必须使用 %import 语法导入定义这些自定义部分的Python包。
示例
zope-conf-imports = mailinglogger eea.graylogger
- zope-conf-additional
向 zope.conf 提供附加行。请确保将参数之后的任何行缩进。
示例
zope-conf-additional = locale fr_FR http-realm Slipknot
- zopectl-umask
手动设置zopectl进程的umask。
示例
zopectl-umask = 002
- http-header-max-length
手动设置Zope处理的接收到的HTTP头部的最大大小。如果头部大小超过此限制,请求将被丢弃并视为DoS攻击。默认值:8192。仅用于ZServer,不用于WSGI。
示例
http-header-max-length = 16384
生成的控制脚本
Windows
在Windows平台上,以下描述的bin/instance脚本将不会生成,因为它使用Unix特定的实现。
要运行Plone,请使用以下命令启动它:
.\bin\runwsgi.exe -v .\parts\etc\wsgi.ini
或者在调试模式下进行开发使用
.\bin\runwsgi.exe -v .\parts\etc\wsgi.ini
以下扩展的Zope控制脚本的文档不适用。
debug、console和run命令
此食谱安装的扩展Zope控制脚本,通常为 conventions 中的 bin/instance,提供 debug 命令和另一个 run 命令。 debug 命令以 Zope 应用程序可用通过 app 名字的方式启动一个交互式 Python 提示符。同样,run 命令接受一个 Python 脚本作为参数,该脚本将在相同的条件下运行。
这些命令也扩展了设置更完整的环境。具体来说,这些命令设置了 REQUEST,以 AccessControl.SpecialUsers.system 用户身份登录,并可能遍历到对象,如 CMF 门户。此环境设置受以下选项控制:
-R/--no-request -- do not set up a REQUEST. -L/--no-login -- do not login the system user. -O/--object-path <path> -- Traverse to <path> from the app and make available as `obj`.
请注意,这些选项必须在脚本名称之前,例如 bin/instance -RLOPlone/front-page debug
console 命令与 fg 命令类似,但它不会创建子进程来启动 Zope。这有两个用例很有用。首先,监督程序,如监督 Zope 这样长时间运行的过程,需要进程不要分叉,以便监督程序可以控制它。其次,像 WingIDE 和 PyCharm 这样的 IDE 支持从内部调试运行的过程。为了使其正常工作,进程也不应该分叉。
开发您自己的控制脚本命令
第三方发行版可以通过安装一个名为 'plone.recipe.zope2instance.ctl' 的入口点来向控制脚本添加额外的命令。例如,一个名为 MyDist 的 egg 可以包含一个名为 mymodule 的模块,其中包含以下自定义命令:
def foo(self, *args) """Help message here""" print 'foo'
它将使用以下 setup.py 入口点配置将 foo 方法安装为控制脚本的命令:
entry_points=""" [plone.recipe.zope2instance.ctl] foo = mymodule:foo """
这将允许通过运行 bin/instance foo 来调用 foo 方法(假设实例控制脚本由名为 instance 的 buildout 部分安装。)入口点使用以下参数调用:
- self
plone.recipe.zope2instance.ctl.AdjustedZopeCmd 的一个实例。
- args
命令行中传递的任何其他参数。
已知问题
当在 Zope 实例仍在运行时运行 buildout 时,restart 命令可能无法可靠地工作。在这些情况下,始终使用 stop 后跟 start 来重新启动 Zope 实例。
报告错误或提问
请在此存储库中使用错误跟踪器 https://github.com/plone/plone.recipe.zope2instance/issues 进行提问和错误报告。
变更日志
7.1.1 (2024-09-24)
错误修复
修复当食谱被多次调用时 wsgi_ini_template 的创建问题。[petschki] (#197)
安装食谱两次不应该损坏;移除对 global 的使用。[gotcha] (#198)
7.1.0 (2024-09-19)
新功能
在 buildout 中使用 wsgi-logging-ini-template 选项指定独立的 logging.ini 配置。日志配置将被注入到 wsgi.ini 中,同时保留所有其他默认的 wsgi 配置。wsgi-logging-ini-template 选项不能与 wsgi-ini-template 一起使用。@Sakoes (#59)
7.0.0 (2024-08-01)
破坏性更改
停止对 Python 3.7 及以下版本、Zope 4、Plone 5.2 的支持。[maurits] (#194)
6.13.0 (2024-04-23)
新功能
在 Sentry 初始化中添加对设置 max_value_length 的支持。当您使用此选项时,应使用 sentry-sdk 1.29.0 或更高版本。[gyst] (#193)
测试
更新 tox 以支持 python 3.10 和 3.11。[#193]
6.12.2 (2023-09-26)
新功能
添加 dos_protection 配置。从 Zope 5.8.4+ 开始,上传大于 1 MB 的图片或文件时,可能会遇到 zExceptions.BadRequest: 数据超出内存限制 的错误。要增加此限制,您可以在实例配方中添加以下内容,并选择自己的限制。
zope-conf-additional = <dos_protection> form-memory-limit 4MB </dos_protection>
[@mamico] (#191)
6.12.1 (2023-09-08)
文档
更新 README:对于 RotatingFileHandler,maxCount 不是一个有效的关键字参数。请使用 backupCount。 [gforcada] (#190)
6.12.0 (2023-01-31)
新功能
将新选项 asyncore_use_poll 添加到 waitress 配置文件。 [petschki] (#189)
6.11.0 (2022-03-23)
新功能
默认情况下,在 Plone 6 中不创建临时存储。请参阅 问题 180。 [maurits] (#180)
6.10.2 (2021-10-07)
错误修复
修复 python-dotenv 对 Python 2 的依赖。 [dataflake] (#181)
6.10.1 (2021-09-01)
错误修复
修复测试中的资源警告。 [icemac] (#176)
6.10.0 (2021-05-11)
新功能
允许自定义 WSGI 管道 [ale-rt, jensens] (#116)
添加对 repoze.profile 性能中间件的支持 [jensens] (#129)
错误修复
为 GitHub Actions 启用每周和手动构建 [jugmac00] (#169)
修复 requirements 文件中的不支持语法,这阻止了测试运行期间评估指定的约束 [jugmac00]。 (#171)
应用代码风格 black 和 isort,包括 tox/GH-Actions [jensens] (#175)
6.9.0 (2021-03-22)
新功能
使任何 ctl 脚本 python-env 兼容 [sneridagh] (#162)
添加对 Python 3.9 的支持,并恢复了对 Python 3.5 的支持(Zope 4 所需) [dataflake] (#164)
错误修复
修复了 Python 3 下 $PYTHONSTARTUP 文件对 debug 命令的支持 [dataflake] (#167)
6.8.3 (2021-02-17)
错误修复
修复了 windows 下的 wsgi.ini 以具有可配置的监听地址。添加了缺失的 windows WSGI 配置选项。 [jensens] (#161)
6.8.2 (2021-02-16)
错误修复
恢复了使用自己的显式版本 zodb-temporary-storage 的能力。 [maurits] (#93)
6.8.1 (2020-10-30)
错误修复
正确禁用了 WSGI 的访问日志。 [tschorr] (#159)
6.8.0 (2020-09-26)
新功能
添加了选项 clear-untrusted-proxy-headers,默认值为 false。有关详细信息,请参阅 waitress 文档中的 clear_untrusted_proxy_headers。修复了 弃用警告。 [maurits] (#142)
添加了选项 max-request-body-size,默认值为 1073741824。有关详细信息,请参阅 waitress 文档中的 max_request_body_size。 [mpeeters] (#155)
错误修复
将 GitHub Actions 添加到项目中。在 Zope 4 和 Zope 5、Windows 和 Linux、Python 27、3.6、3.7 和 3.8 的矩阵中运行测试。跳过 Windows 上 Python 2.7 的测试。稍微重构了 tox 测试设置,不要在 GitHub 上使用 tox。将测试拆分为更小的、更容易维护的文件。修复测试,以便在 Windows 上运行而无需修改配方代码(Windows 代码目前不完美,但测试反映了当前状态)。这主要包括尊重路径处理(反斜杠与斜杠)、条件实例生成和 WSGI 配置的差异。还解决了“未关闭的文件”警告。在 trove 分类器中反映 Zope 5 和 Plone 6.0 的支持。[jensens] (#150)
6.7.5 (2020-08-16)
错误修复
在 windows 上生成有效的 wsgi.ini。不要生成实例脚本。需要在 windows 上使用 .\bin\runwsgi.exe -dv .\parts\etc\wsgi.ini 来启动。[jensens] (#151)
6.7.4 (2020-08-14)
错误修复
修复了 windows 上的“SyntaxError”:生成原始字符串,以便允许在日志文件路径中使用反斜杠。[jensens] (#145)
修复了当 http-address 有多个条目且 http-fast-listen 开启时阻止实例启动的问题 [ale-rt] (#146)
当 http-address 等于端口号列表时,WSGI 实例不会失败启动 [ale-rt] (#148)
6.7.3 (2020-07-30)
错误修复
将 http-fast-listen 的默认值设置为 on 以匹配文档 [ale-rt] (#71)
6.7.2 (2020-06-28)
错误修复
修复 flake8 并在某些情况下插入 CHAMELEON_CACHE。[ale-rt] (#139)
6.7.1 (2020-04-21)
错误修复
进行了小的打包更新。 (#1)
6.7.0 (2020-03-09)
新功能
添加了支持 sqlite 的 relstorage [mamico] (#132)
6.6.0 (2020-02-18)
新功能
支持Zope选项webdav-source-port和enable-ms-public-header。[dataflake] (#134)
6.5.1 (2019-11-25)
错误修复
对于初始化选项,字符串格式对控制台脚本有效,对其他脚本无效。[mamico] (#130)
6.5.0 (2019-10-12)
新功能
为指定生成wsgi.ini配置文件的定制模板添加了wsgi-ini-template选项。[ajung] (119-1)
为指定事件和访问日志的任意日志处理器添加了高级WSGI日志配置选项。[ajung] (119-2)
为高级WSGI日志配置添加了文档和示例。[ajung] (119-3)
错误修复
为threads选项添加了文档。(#126)
修复了http-address选项的文档。(#127)
6.4.0 (2019-08-29)
新功能
通过在WSGI管道中添加新的过滤器来添加Sentry支持。(#124)
错误修复
修复了从Testing.ZopeTestCase.utils导入makerequest时的弃用警告。这也修复了一个副作用,该副作用可能会在测试运行期间仅设置ZOPETESTCASE环境变量为1时出现。[icemac] (#122)
6.3.0 (2019-07-06)
新功能
默认启用CHAMELEON_CACHE。请参阅https://github.com/plone/Products.CMFPlone/issues/2898 [pbauer] (#118)
6.2.2 (2019-06-19)
错误修复
通过添加对新的Zope配置键zmi-bookmarkable-urls和pid-filename的支持来修复启动问题。(#112)
6.2.1 (2019-05-10)
错误修复
对scripts选项的文档进行说明。(#29)
修复了ZEO客户端持久缓存和存储设置的处理。(#30)
尝试查找适合logtail动词的合适日志文件。(#85)
修复了DeprecationWarning的无效导入路径。warnfilter (#105)
在项目README中记录了哪里可能导致重启出现问题。(#107)
防止控制台上的常量waitress.queue日志消息,只将它们发送到事件日志。(#110)
6.2.0 (2019-05-04)
新功能
在Zope中添加了对新的debug-exceptions标志的支持。(#100)
6.1.5 (2019-04-24)
新功能
添加了指定自定义WSGI配置文件的能力。(#90)
错误修复
启用套接字重用,以防止在前台运行时启动出错。(#86)
添加了关闭zodb-temporary-storage的能力,以防止Zope 4损坏。(#87)
修复了WSGI访问日志格式配置。(#88)
修复了使用更好的WSGI标志检查创建ZServer实例的问题。(#95)
6.1.4 (2019-03-21)
错误修复
修复了当未在命令行上传递时zdaemon套接字位置的问题。(https://github.com/plone/plone.recipe.zope2instance/pull/79 [tschorr]) (#79)
移除了wsgi配置中的未知键effective-user。[petschki] (#80)
使用内置函数next [erral] (#82)
6.1.4(未发布)
错误修复
恢复了waitress的http-fast-listen。[tschorr] (https://github.com/plone/plone.recipe.zope2instance/issues/71 [tschorr])
6.1.3 (2019-03-04)
错误修复
恢复了waitress的日志文件。[tschorr] (#76)
6.1.2 (2019-03-03)
破坏性更改
默认启用wsgi,除非运行Python 2并设置wsgi=off。请参阅https://github.com/plone/Products.CMFPlone/issues/2763 [pbauer] (#73)
6.1.1 (2019-02-08)
错误修复
Plone WSGI日志的日志级别已更改为INFO,使日志记录不那么冗长。[ajung] (#66)
通过提供调试器的源代码来改进运行脚本的调试。[icemac] (#68)
使用正确的WSGI调试开关。(Products.CMFPlone #2719) 在WSGI调试模式下显示警告(使用PYTHONWARNINGS覆盖)。(Products.CMFPlone #2724) [tschorr] (#69)
修复了代码中的Flake8问题。[icemac] (#72)
6.1.0 (2018-12-28)
新功能
添加了新选项‘threads’,用于指定waitress + ZServer的工作进程数,并对‘zserver-threads’添加了弃用警告。[tschorr]
添加了对Python 3.7的支持,同时放弃了对Python 3.5的官方支持。(https://github.com/plone/plone.recipe.zope2instance/issues/60 [tschorr])
错误修复
使zcml值中的注释能够正常工作,即使它们不是从行首开始的;在此之前,我们遇到了一个令人困惑的错误信息。修复了#46 [tobiasherp]
修复了在Python 2上安装ZServer时使用WSGI服务Plone的问题。 [davisagli]
当使用WSGI时,从zope.conf中删除了path选项,因为它不再被理解。 [icemac]
当使用WSGI时,从zope.conf中删除了deprecation-warnings选项,因为它不再被理解。 [davisagli]
6.0.0 (2018-11-08)
破坏性更改
对于基于WSGI的实例,生成一个基于zdaemon的实例脚本,其工作方式类似于基于ZServer的实例,而不是仅处理运行WSGI服务器的脚本。 [davisagli]
5.0.1 (2018-11-04)
错误修复
5.0.0 (2018-01-27)
破坏性更改
至少需要ZODB 5和Zope 4.0b1。
停止支持Plone 4.3、5.0和5.1。
新功能
添加WSGI支持 [tschorr]
添加对Python 3.5和3.6的支持。
错误修复
Python 3与sixer兼容 [ale-rt]
修复导入。zopectl已移动到ZServer [pbauer]
4.3 (2017-06-28)
新功能
添加了用于包装存储配置的storage-wrapper选项。 [davisagli]
4.2.22 (2016-10-05)
错误修复
在python文件上添加编码头。 [gforcada]
4.2.21 (2016-05-26)
修复
修复#23:“TypeError: <lambda>() takes no arguments (1 given)”在./bin/instance start [jensens]
4.2.20 (2016-03-29)
修复
撤销先前版本中做出的更改。zopectl和此Recipe处理命令的方式完全不同。 [gforcada]
4.2.19 (2016-02-15)
新功能
处理为zopectl注册的命令。到目前为止,它们已被处理,但根本没有显示(即在帮助和描述中)。 https://github.com/plone/plone.recipe.zope2instance/issues/18 [gforcada]
4.2.18 (2015-07-27)
允许禁用日志。将z2-log设置为值disable以禁用Z2访问日志。将event-log设置为值disable以禁用事件日志。 [frapell]
4.2.17 (2015-04-29)
添加了用于通过%import语法在zope.conf中轻松导入ZConfig组件的zope-conf-imports选项。 [avoinea]
4.2.16 (2014-11-01)
如果设置了“demo-file-storage”,但“demo-storage”未开启,则不要引发异常 [frapell]
为控制台命令、supervisor和IDE调试添加文档 [do3cc]
4.2.15 (2014-09-07)
始终将zcml-additional的内容包装在一个<configure/>节点中。这使得可以使用zcml-additional进行+=赋值。 [lgraf]
添加对多个zeo服务器的支持 [ivant]
4.2.14 (2014-03-02)
如果选项relative-paths为true,则现在将zope.conf的链接相对化。 [bsuttor]
添加了设置initialization的能力,以配置在实例启动时运行的Python代码。 [davidjb]
添加了对http-header-max-length的支持 [alecghica]
4.2.13 (2013-07-28)
添加了对zopectl umask的支持 [hman]
4.2.12 (2013-06-04)
能够从buildout配置中将zeo客户端设置为只读 [vangheem]
4.2.11 (2013-05-23)
在创建blobstorage目录时,仅使其对当前用户可读,否则在启动时你会收到ZODB警告。这使用了ZODB的代码,Zope在启动时也会这样做,如果blobstorage目录尚不存在。 [maurits]
修复了对空的自定义访问事件日志和自定义事件日志的检查。 [alecghica]
4.2.10 (2013-03-05)
如果egg存储在只读缓存中,则Recipe会失败。不要从egg复制权限。 [garbas]
4.2.9 (2013-02-10)
添加trove分类器以记录Python版本兼容性。 [hannosch]
4.2.8 (2013-01-17)
将python标志传递给Zope解释器。这防止了调试命令直接退出。 [wichert]
4.2.7 (2013-01-13)
在运行调试命令时,如果定义了PYTHONSTARTUP,则加载它。 [mj]
4.2.6 (2012-12-09)
使用解释器脚本代替设置PYTHONPATH。修复Windows“环境变量长度超过32767字节”错误。[rossp]
通过将http-address设置为空字符串,使zope.conf http-server成为可选设置。对于在外部服务器(如WSGI部署)下使用的配置很有用。[rossp]
4.2.5 (2012-09-20)
增加了事件和访问日志轮转功能。[sureshvv]
4.2.4 (2012-08-29)
公开了“drop-cache-rather-verify” ZEO客户端选项,该选项指示当验证优化不可用时(例如,ZEO服务器重启时),应丢弃缓存而不是验证。[runyaga]
从zeo.conf中删除所有空行,以提供更紧凑的视图。[runyaga]
4.2.3 (2012-08-04)
修复了可选的locales目录的zcml加载顺序。翻译覆盖需要首先加载。[sunew]
4.2.2 (2012-07-02)
更改了客户端连接缓存默认值。我们指定缓存大小为30000,而不是10000。[hvelarde]
添加了新的locales选项,用于指定包含额外或不同翻译的locales目录。[maurits]
4.2.1 (2012-04-15)
添加了控制脚本debug和run支持,用于设置REQUEST、以AccessControl.SpecialUsers.system用户登录,并遍历到对象,例如CMF门户。[rpatterson]
4.2 (2011-11-24)
为演示存储添加了更改存储支持(除基本存储外)。支持本地文件和blob存储。[malthe]
添加了对通过zc.beforestorage包提供的before存储的支持。[malthe]
使脚本抑制成为可选的(通过空的scripts参数)。否则,将为列表中列出的包生成脚本。[aclark]
支持所有RelStorage选项,包括未来的选项。使用简单的模式来识别选项应该放置的位置:任何包含破折号的选项名都是通用选项;其余(除了“名称”)都是特定于数据库的。[hathawsh]
4.1.9 - 2011-08-11
启动脚本不再依赖于softwarehome。[hannosch]
4.1.8 - 2011-07-17
通过重用2.13的骨架添加了对Zope 4.0的初步支持。[hannosch]
添加了zeo-client-blob-cache-size和zeo-client-blob-cache-size-check选项,用于控制blob缓存的最大大小以及在何时检查大小,当使用不共享blob的ClientStorage时。[davidjb]
如果使用resources指定资源目录,则如果它尚不存在,则创建它。[davisagli]
支持RelStorage 1.5.0b2中引入的新create-schema选项。[mj]
4.1.7 - 2011-06-07
将可选的998-resources.zcml(在4.1.6中引入)重命名为998-resources-configure.zcml,否则它不会在标准site.zcml中加载。[maurits]
4.1.6 - 2011-06-01
添加了新的resources选项,用于指定plone.resource中央资源目录。[elro]
4.1.5 - 2011-02-17
尊重buildout 1.5中引入的新的include-site-packages buildout选项。关闭https://bugs.launchpad.net/bugs/716360。[yuppie, hannosch]
添加了import-directory选项,以指向自定义导入文件夹。[garbas]
4.1.4 - 2011-01-01
删除了zeo-client-name选项。该选项从ZODB 3.2开始就没有效果,并且在Zope 2.13中被删除。这关闭了https://bugs.launchpad.net/bugs/694920。[hannosch]
4.1.3 - 2010-12-20
添加了仅在注释中存在的http-force-connection-close选项。[tesdal]
4.1.2 - 2010-12-05
修复了4.1.1中引入的错误。[hannosch]
4.1.1 - 2010-12-05
当不使用shared-blob时,区分blob-storage选项。在这种情况下,我们使用var/blobcache作为默认位置,这样我们就不会意外地使用blob zeocache覆盖真实的blob数据。参考https://bugs.launchpad.net/bugs/645904。[hannosch]
4.1 - 2010-12-04
重新整理了readme,将选项分组到部分,并在顶部提及最常用的选项。[hannosch]
增加了对site.zcml创建的灵活性。感谢Wolfgang Schnerring提供的补丁。此修改解决了https://bugs.launchpad.net/collective.buildout/+bug/335311问题。[hannosch]
如果同时配置了ZEO和RelStorage,则抛出异常。此修改解决了https://bugs.launchpad.net/collective.buildout/+bug/645100问题。[hannosch]
添加了对zc.buildout 1.5的支持,同时保留对1.4的支持。感谢Jeff Rush提供的补丁。此修改解决了https://bugs.launchpad.net/collective.buildout/+bug/683584问题。[hannosch]
4.0.5 - 2010-10-22
添加了对指定新RelStorage选项shared-blob-dir、blob-cache-size、blob-cache-size-check和blob-chunk-size的支持。[hathawsh]
4.0.4 - 2010-09-09
如果非管理员尝试“instance install|start|restart|stop|remove”,则显示友好的错误信息。[kleist]
以执行的do_*方法的返回码退出。此修改解决了#10906问题(在ZMI控制面板中点击“重启”导致关闭)。[kleist]
为“bin/instance.exe”实现了“重启”命令。[kleist]
4.0.3 - 2010-08-20
将Setuptools / Subversion设置为忽略空目录,并防止它们包含在源分发中。在骨架中的bin和var目录内添加了readme文件。这使持久的ZEO缓存能够再次工作,它们希望将文件放入var目录。[hannosch]
4.0.2 - 2010-08-04
根据Windows安装程序中使用的“collective.buildout.cluster.base.ClusterBase”,重写了针对Windows服务特定的命令的主要部分。解决了http://dev.plone.org/plone/ticket/10860问题。[kleist]
4.0.1 - 2010-07-30
使用pid文件检查运行中的应用程序,而不是服务状态。[sidnei]
4.0.0 - 2010-07-21
Windows上的“console”模式不再立即返回,因此可以由Windows服务使用。[kleist]
使测试与Windows兼容。[hannosch]
添加了对指定新的RelStorage选项cache-local-mb、cache-delta-size-limit、commit-lock-timeout和commit-lock-id的支持。[hannosch]
4.0b2 - 2010-06-23
添加了对mailinglogger的新依赖项,并将其作为方便的新选项公开。[hannosch]
移除了对zope.testing的测试依赖项,并重构了测试设置。[hannosch]
4.0b1 - 2010-04-04
如果没有给出zcml选项,则配方有时会失败构建两次。此修改解决了http://dev.plone.org/plone/ticket/10296问题。[hannosch]
4.0a4 - 2010-02-04
从http-server部分中移除了注释掉的选项。[hannosch]
添加了新的enable-product-installation选项,并默认将其关闭。[hannosch]
4.0a3 - 2010-01-24
尝试恢复Windows服务功能,但尚未完全完成。[hannosch]
在Windows的控制台使用与fg命令相同的引号方法。[hannosch]
由于添加的外部双引号导致subprocess.call()失败,因此不再调用zopectl.quote_command()。相反,手动进行引号操作(保存外部引号)。[kleist]
将硬编码的冒号‘:’作为路径分隔符移除,导致在Windows上出现“ImportError: No module named Zope2.Startup”。参见http://dev.plone.org/plone/ticket/9991。[kleist]
从骨架中移除了导入目录。在新版本的Zope 2中,您可以将导入文件放置在客户端主目录的导入目录中。[hannosch, davisagli]
允许省略用户选项,在这种情况下,当创建新实例时,buildout将请求用户名和密码。[hannosch]
使用我们自己的make instance脚本和骨架,只提供我们真正需要的部分。[hannosch]
将两个ZopeCmd类合并为一个。我们不依赖或生成runzope脚本或parts/instance/bin中的任何内容。[hannosch]
默认在var/blobstorage中创建blob存储。[hannosch]
移除了no-shell选项,并将其设置为运行过程的默认选项。这同时也消除了使用runzope脚本的必要性。[hannosch]
此版本不能再用于安装未egg化的Zope2。已移除zope2-location选项。[hannosch]
4.0a2 - 2009-12-02
通过提供‘plone.recipe.zope2instance.ctl’入口点,使第三方包能够向控制脚本添加额外的命令。[davisagli]
4.0a1 - 2009-11-14
从控制脚本中移除了测试命令支持,这让我们能够移除相当多的hackery。增加了关于使用bin/test的说明。[hannosch]
添加了显式的python-check-interval选项,并将其默认值更改为1000,而不是Python本身的默认值100。[hannosch]
将默认的zserver-threads更改为两个,而不是四个。[hannosch]
更改了客户端连接缓存默认值。我们指定缓存大小为10000,而不是5000。同时,将ZEO客户端缓存更改为128MB,而不是30MB。[hannosch]
如果我们在一个使用Zope2作为egg的环境中使用,我们将确保自己安装我们依赖的mkzopeinstance和runzope脚本。即使它们已经存在,也会这样做,因为egg可能已经改变。[hannosch, davisagli]
将Zope2 egg添加到此菜谱的依赖项列表中。这可能会对Zope 2.12之前的版本或Plone 4.0之前的版本造成麻烦。[hannosch]
为RelStorage添加了cache-prefix选项。
3.6 (2009-10-11)
扩展了RelStorage选项,包括keep-history和replica-conf。[hathawsh]
3.5 (2009-09-05)
在脚本生成中添加了对relative-paths的支持。[jvloothuis]
当设置zope-conf时,配置文件将从该位置直接加载(以前创建了一个包含它的占位符zope.conf)。[jvloothuis]
添加了一个选项以避免使用正常的shell脚本来启动Zope。这使得可以避免这些脚本中的硬编码路径。[jvloothuis]
允许在RelStorage配置中允许blob-dir参数。[hathawsh]
3.4 (2009-08-12)
支持与LP#407916的修复一致。[gotcha]
更改了‘mkzopeinstance’调用以尊重‘bin-directory’选项。[esteele]
从菜谱中移除了zope2-egg选项和简单的启动脚本。我们假设如果未设置zope2-location,则我们有一个egg发行版。[hannosch]
将davisagli-eggified-zope分支合并到主线。[hannosch]
添加了一个新的icp-address选项。这对于例如使用squid作为Zope/ZEO集群的前端的环境很有用。请参阅http://www.zope.org/Members/htrd/icp/intro [neaj]
3.3 - 2009-07-07
添加了对RelStorage选项的处理。[elro]
在更新时重新安装脚本,这似乎是良好的菜谱实践。[stefan]
3.2 - 2009-04-02
添加了新的zcml-additional选项。这对于通过zcml管理非代码配置(例如ore.contentmirror的数据库连接细节)的环境很有用。[wichert]
3.1 (2009-03-15)
2.9修复空格导致使用debug(错误编号337740)时出现问题,因为do_debug将“-i”命令行参数传递给get_startup_cmd的方式。[smcmahon]
3.0 (2009-02-27)
2.9修复实例运行命令本身是错误的,并且除了Windows之外都会失败。[smcmahon]
将zope2-egg选项更改为现在不进行任何类型的实例创建。mkzopeinstance脚本依赖于能够导入Zope2,这在buildout运行时是不可用的。[hannosch]
2.9 (2009-02-26)
实例运行命令容易受到路径名中的空格的影响,并且需要一些额外的引号以供win32使用。[smcmahon]
在修补之前检查Windows脚本的存在的存在。某些Linux发行版的Zope2没有这些文件。[smcmahon]
在win32上通过win32serviceutil.HandleCommand()委托命令,而不是通过os.system()启动解释器。这应该会从处理这些命令的总时间中节省几秒钟。[sidnei]
我们自行计算 serviceClassString,因为我们是以模块的方式调用,而不是直接以 __main__ 调用,否则服务将无法正确安装。[sidnei]
2.8 (2008-12-05)
为 ZEO 客户端添加更多与 blob 和演示存储的测试。仍然没有对‘shared-blob-dir’选项的测试。[encolpe]
始终使用‘r’-样式的字符串来传递脚本和配置文件名(例如:在‘instance run <script>’)。[sidnei]
添加演示存储选项和测试。[encolpe]
为 blob 存储添加第一个测试。[encolpe]
2.7 (2008-11-18)
添加了 zope2-egg 选项以及与之配套的简单启动脚本,用于与 egg 化的 Zope2 一起使用。[hannosch]
不要因为 Zope2 egg 检出而失败。[hannosch]
将 os.spawnl 的第一个参数标准化。否则它可能会非常沮丧(在可移动 Python 安装上的 dll 导入失败)。[sidnei]
使用与‘do_foreground’相同的引号来使用服务脚本。修复了在包含空格的路径上安装基于 buildout 的 Plone 安装程序时的问题。[sidnei]
确保 do_foreground 保持 self.options.program 参数不变。这使得在同一个控制会话中多次使用‘fg’和‘debug’成为可能。[klm]
2.6 (2008-10-22)
在比较之前标准化、绝对化并将路径转换为小写(这是否是一个词?),以避免与相对文件名和 Windows 上不同的驱动器字母大小写相关的问题。[sidnei]
2.5 (2008-09-22)
从 ZODB 3.9 及更高版本添加对 zodb-cache-size-bytes 的支持。[wichert]
2.4 (2008-07-15)
引入了 zope.conf 变量“INSTANCEHOME”和“CLIENTHOME”。这在具有 zope-conf-additional 部分的集群设置中非常有用(buildout 缺少对当前部分的引用)。[jensens]
使测试命令与 zope.testing 3.6 兼容。[hannosch]
2.3.1 (2008-06-10)
没有代码更改。发布以修复将 .egg 文件放入野外的 2.3 版本。[hannosch]
2.3 (2008-06-06)
实际上需要传递 deprecation-warnings,否则我们会得到一个 KeyError。[sidnei]
修复了另一个需要转义目录名以避免与空格相关问题的位置。[sidnei]
如果位置不存在,不要尝试删除它。[sidnei]
2.2 (2008-06-06)
添加了 deprecation-warnings 选项,允许打开或关闭禁用弃用警告的选项。您可以为此提供 error 值,并将每个弃用警告转换为异常。[sidnei]
修复了复制粘贴错误,该错误导致将 runzope.bat 中的调用改为调用 servicewrapper.py 时失败。[sidnei]
在传递给 os.spawnl 之前转义‘executable’参数,以便在可执行文件名包含空格时在 Windows 上正常工作。[sidnei]
添加了 http-fast-listen 选项。使用此选项需要 Zope >= 2.11。[stefan]
2.1 (2008-06-05)
修复了 Windows 上的测试问题,其中需要显式关闭文件。[hannosch]
从 runzope.bat 调用 servicewrapper.py,而不是设置 PYTHONPATH 并调用 Zope2/Startup/run.py。这样我们就可以从 Python 代码内部设置 sys.path,并避免超过环境变量的最大限制。[sidnei]
允许通过指定新的 zodb-temporary-storage 选项来使用替代的临时存储。[jensens]
添加了 environment-vars 选项来设置环境变量。将 zope-conf-additional 示例代码更改为不包含在配方中的内容。[claytron]
2.0 (2008-05-29)
启动 Zope 时不要使用系统,而是使用 exec。这使得进程管理工具可以正确管理 Zope 进程。[wichert]
添加了 site-zcml 选项。添加了测试。[mustapha]
添加了对 ZEO 认证的支持。请注意,目前这与任何已发布的 Zope 或 ZODB 版本都不兼容。有关所需的补丁,请参阅 http://mail.zope.org/pipermail/zope/2005-October/161951.html。[wichert]
添加了 FTP 和 WebDAV 选项。[claytron]
允许 rel-storage 为空字符串,表示“不使用 relstorage”。这允许扩展 buildout 配置再次禁用 relstorage。[mj]
1.9 (2008-04-15)
修复了具有空格的选项的 rel-storage 解析。请注意,split() 或 split(None) 已经删除了字符串。[mj]
1.8 (2008-04-05)
修复了Win32问题,该问题在于zope.conf路径中Python字符串转义的存在(例如,d:botestpartsinstanceetczope.conf会转义b)。这个问题在使用“运行”、“调试”或“添加用户”命令时出现。这修复了#211416。[smcmahon]
将console命令添加到实例脚本中,它等同于fg,但不会隐式打开调试模式,而是尊重zope.conf设置。[hannosch]
1.7 (2008-03-31)
添加了新的client-home选项,并将其默认值设置为buildout-wide var文件夹的子文件夹,子文件夹的名称与部分名称相同。[hannosch]
添加了对在Zope <= 2.8下运行测试的有限支持。[hannosch]
1.6 (2008-03-27)
修复了Zope 2.8的runzope脚本生成。[hannosch]
清理了“./bin/instance test”选项的处理。[stefan]
移除了生成器表达式,因为这些在py2.4中不受支持,而zope 2.7/8使用的是py2.4。[duffyd]
1.5 (2008-02-29)
添加了access-log-custom选项,以便能够使用除文件事件记录器之外的其他事件记录器。[tarek]
修复了实例生成以在包含空白的路径名称的Windows上工作。这解决了#188023。[hannosch, gotti]
添加了‘zeo-client-client’选项,它在
内部生成‘client <value>’。[timte, hannosch] 使relstorage处理更通用,现在它支持任何RelStorage适配器,包括Oracle(以前是损坏的)。[mj]
1.4 (2008-02-23)
修复了事件日志参数名称中的拼写错误(从“z-log”更改为“z2-log”),以符合文档。这解决了#190943。[kdeldycke]
如果不存在,则创建pid和锁文件文件夹。[kdeldycke]
移除了硬编码的日志级别,并使用event_log_level参数动态设置它。这解决了#190994。[kdeldycke]
添加了一个测试环境,使用zc.buildout.testing,以及一个尝试该配方的外部测试。[tarek]
添加了event-log-custom选项。[tarek]
为zope-conf-additional选项添加了示例。这解决了#185539。[klm, hannosch]
添加了rel-storage选项,以便能够将Zope连接到RelStorage(postgresql/oracle)数据库而不是FileStorage数据库。[tarek]
1.3
对于recipe-specified“extra-paths”行中的每个条目,在实例和Zope客户端zope.conf文件中添加一个“path”行。[klm]
1.2
添加了布尔shared-blob选项,默认值为no。如果所有zeo-client、blob-storage和shared-blob选项都设置,则实例将假设由blob-storage设置的blob目录与服务器共享,而不是通过ZEO连接流式传输“blob”文件。[rochael]
将ctl.do_foreground()(由fg命令行参数调用)启动Zope的调试模式更改为模拟zopectl fg的行为。这需要一点特殊的WIN32代码来确保它在*nix和Windows上都正常工作。[smcmahon]
添加了var选项,它用于配置所有要放入var的项目的基目录。[hannosch]
添加了zeo-var选项,它用于zeo存储片段中配置zeo var文件夹。[hannosch]
合并了rochael-blobsupport分支。为ZEO客户端添加了对ZODB 3.8 blob存储配置的支持。这参考了https://bugs.launchpad.net/collective.buildout/+bug/179113。[rochael, hannosch]
添加了zeo-client-name选项。默认值为ZEO客户端的名称。[hannosch]
1.1
进行了小的文档更新。添加了到bugtracker的链接。[hannosch]
将zope.conf选项‘default-zpublisher-encoding’的默认值更改为‘utf-8’,而不是Zope的默认值‘iso-8859-15’。
将PID文件的位置默认设置为‘${buildout:directory}/var/${name}.pid’。将PID文件保存在$INSTANCE_HOME会给buildout重建部分带来麻烦。[nouri, mustapha]
1.0
将‘zodb_cache_size’的默认值增加到5000,这在当今可能是一个更好的默认值。[hannosch]
添加了对“extra-paths”的支持,类似于“zc.recipe.egg”;这在使用尚无鸡蛋可用的常规Python包时很有用,例如使用“plone.recipe.distros”。[witsch]
添加了zeo-storage选项(合并分支ree-add-zeo-storage-option)。[ree]
避免在“sys.path”中重复指定buildout中的eggs:在安装脚本(“bin/instance”)时,工作集(“ws”)再次传递,但它不会添加到“extra_paths”。[witsch]
在Zope启动脚本中修补“PYTHONPATH”应在“SOFTWARE_HOME”之前插入所有附加路径(到eggs),否则(较新的)标准Zope分发组件的egg版本(即位于“lib/python”中的内容)将无法使用。[witsch]
将抑制弃用警告的选项更改为“–nowarn”或“–nowarning”,以与“zopectl test”保持一致。[witsch]
添加了“-w”选项,允许测试运行器抑制弃用警告,这样更容易发现失败的测试……[witsch]
更新了Zope 2.7(及以下)的导入以实现兼容性。[duffyd]
将分支claytron-zopeconfoptions的-r51966:52659合并到主分支。[claytron]
在保持结果缩进正确的同时,使配置片段更美观。[witsch]
0.9
添加了对zodb 3.8的“<blobstorage>”指令的支持。[witsch]
在调用zope.testing.testrunner.run之前添加了脚本名参数。zope.testing.testrunner:1772,get_options从参数列表中移除了第一个参数,期望在那里有一个脚本名。这导致“bin/instance test”行为不正确。[rossp]
0.8
如果存在bin,则使用bin作为后备,使用实用程序。这使得可以使用从tarball安装而不是本地编译的Zope版本。[rossp]
0.7
发现了奇怪环境变量的问题。[hannosch]
修复了文档错误,非zeo实例也尊重缓存大小。[hannosch]
0.6
J1m实际上阅读了文档;)[hannosch]
尝试修复测试运行器偶尔找到的大量测试。[hannosch]
0.5
添加了设置有效用户的选项。[optilude]
0.4
生成bin/repozo脚本以使用repozo.py执行备份(并设置适当的pythonpath以便它能够工作)。[optilude]
正确记录选项,并添加了显式指定zope.conf文件的能力,而不是从模板生成一个。[optilude]
0.3
终于找到了为Zope Windows服务提供正确环境的方法。我们需要一个新的包装脚本,该脚本设置PYTHONPATH。[hannosch]
使能够通过[instance]部分中的control-script选项配置zopectl脚本的名称。[wichert]
0.2
扩展了对zcml slugs的支持,包括Zope 2.9。[dunny]
添加了对创建ZEO客户端的支持。[regebro]
0.1
初始实现。[hannosch]
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
plone_recipe_zope2instance-7.1.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a8f4a9b437a37c4393211f9b522ef53d1e767ad054739cc7997c96ba280068cd |
|
MD5 | a115eb67273448ef0bce9af89c90fb4a |
|
BLAKE2b-256 | 89320c0548e3f96a0ecdc79a0a56b62642cdf6abbc780bd98e96712df3402dcd |
plone.recipe.zope2instance-7.1.1-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9de5889a5a8e00d0114154fa398fb9b66a84f51510b9637c0bf3f1950f89a39d |
|
MD5 | ea46e78f21757b45bb7686bca92de31a |
|
BLAKE2b-256 | b782bf6dd96ee9657b2e642456b494bbbb328624dab1f277b03b3f5309bfd33f |