跳转到主要内容

ZopeEdit : 外部编辑器客户端

项目描述

Zope外部编辑器

简介

Zope外部编辑器是一种将Zope与客户端工具更无缝集成的全新方式。它具有以下特性:

  • 本地编辑对象,直接从ZMI或您的Web应用程序进行。

  • 与任何可以从命令行打开文件的图形编辑器应用程序兼容,包括:emacs、gvim、xemacs、nedit、gimp、openoffice.org、MS Office、Photoshop等。

  • 自动将更改保存回Zope,而无需结束编辑会话。

  • 可以通过元类型或内容类型将任何客户端编辑器应用程序与任何Zope对象关联。可以编辑文本和二进制对象内容。

  • 在编辑对象时锁定对象。在编辑会话结束时自动解锁。

  • 可以自动添加文件扩展名以改进语法高亮或文件类型检测。

  • 与基本认证、cookie认证和Zope版本兼容。凭据会自动传递给辅助应用程序。无需重新认证。

  • https支持(需要OpenSSL)

  • 代理支持(可能与某些代理失败;如果您遇到问题,请联系我们)

使用方法

一旦您的浏览器配置完成(请参阅安装说明),应用程序的使用方法与使用ZMI一样简单。要在外部编辑对象,只需单击ZMI中对象旁边的铅笔图标,或在您的应用程序中的特定直接编辑操作。对象将被下载并使用您选择的编辑器应用程序打开(第一次将提示您选择一个编辑器)。

您将以与任何其他文件相同的方式编辑对象。当您在编辑器中保存更改时,它们会自动在后台上传回Zope。当对象在您的编辑器中打开时,它在Zope中将被锁定以防止并发编辑。当您结束编辑会话(即关闭您的编辑器)时,对象将被解锁。

工作原理

好吧,这一切听起来都太好了,不是吗?那么它到底是如何工作的呢?首先我会给你一个框图

+------------+     +------------+     +---------+        +------+
| Editor App | <-- | Helper App | <-- | Browser | <-/ /- | Zope |
+------------+     +------------+     +---------+        +------+
            ^       ^     ^                                ^
             \     /       \                              /
              v   v         -----------------------/ /----
             -------
            / Local \
            \  File /
             -------

现在,让这一切工作起来的关键是解决编辑器不知道Zope的问题,它必须仅处理本地文件。此外,没有与编辑器通信的标准方式,因此唯一的通信渠道可以是被包含对象内容或代码的本地文件。

通过浏览器下载特定类型的数据来启动您的编辑器是很容易的。但这对你没什么好处,因为一旦数据下载,浏览器就不再参与其中。它只是创建一个临时文件并启动已注册的应用程序,传递文件路径。一旦编辑器启动,它只了解本地文件,没有关于其来源的概念。

为了解决这个问题,我们开发了一个辅助应用程序,其工作基本上有两个方面

  • 确定为给定Zope对象启动正确的编辑器

  • 当保存更改时,将数据重新放入Zope

因此,让我们一步一步地看看它是如何工作的

  1. 您点击Zope管理界面中的外部编辑器链接(铅笔图标)(这可能是一个特殊操作)。

  2. 服务器上的产品代码创建一个响应,该响应封装必要的元数据(URL、元类型、内容类型、Cookies等)以及Zope对象的内宗,这可以是文本或二进制数据。响应具有虚构的内容类型“application/x-zope-edit”和文件扩展名“.zem”。

  3. 浏览器接收到请求,并找到注册为“application/x-zope-edit”或扩展名“.zem”的辅助应用程序。它将响应数据本地保存到磁盘,并启动辅助应用程序来处理它。

  4. 辅助应用程序读取其配置文件和响应数据文件。从文件中解析元数据,并将内容复制到一个新的临时文件。根据数据文件和配置确定适当的编辑程序。

  5. 编辑程序以辅助应用程序的子进程的形式启动,并传递包含内容数据的文件。

  6. 如果配置了相应的设置,则辅助应用程序向Zope发送WebDAV锁定请求以锁定对象。

  7. 有时(如果进行了相应的配置),辅助应用程序将统计内容文件以查看它是否已更改。如果是这样,它将发送包含新数据的HTTP PUT请求回Zope。

  8. 当编辑器关闭时,再次检查内容文件,如果它已更改,则上传。然后向Zope发送WebDAV解锁请求。

  9. 辅助应用程序退出。

配置

辅助应用程序支持多个配置选项,每个选项都可以在对象元类型、内容类型或域的任何组合中触发。这允许您为不同类型的Zope对象和内容或甚至不同的服务器创建适当的行为。配置文件存储在文件“~/.zope-external-edit”(Unix)或“~ZopeEdit.ini”(Windows)中。如果辅助应用程序启动时找不到配置文件,则会在您的家目录中创建一个默认的配置文件。

配置文件遵循标准的Python ConfigParser格式,这与Windows中的旧.ini文件格式非常相似。文件由以下格式的部分和选项组成

[section 1]
option1 = value
option2 = value

[section 2]
...

选项

配置文件所有部分的可用选项包括

editor – 用于调用编辑应用程序的命令行或插件名称。在Windows上,如果您编辑的对象未找到编辑器设置,则辅助应用程序将在基于对象的内容类型或文件扩展名的文件类型注册表中搜索适当的编辑器(可以使用下面的扩展选项指定)。默认情况下,正在编辑的本地文件路径将附加到此命令行。要在命令中间插入文件路径,请分别使用“$1”(Unix)和“%1”(Windows)。

save_interval – (浮点数) 辅助应用程序检查已编辑文件更改的时间间隔。

use_locks – (1或0) 是否使用WebDAV锁定。编辑用户必须具有适当的WebDAV相关权限才能使此功能生效。

always_borrow_locks – (1或0) 当use_locks启用时,此功能将抑制尝试编辑已锁定对象时的警告。当启用时,外部编辑器将始终“借用”现有的锁定令牌而不是自己执行锁定。这在使用CMFStaging等时很有用。省略时,此选项默认为0。

cleanup_files – (1或0) 是否删除创建的临时文件。警告:来自浏览器的临时文件包含身份验证信息,因此将此设置为0是安全风险,尤其是在共享机器上。如果设置为1,则在该文件被编辑器启动之前,尽早删除该文件。仅将此设置为0以进行调试。

extension – (文本) 添加到内容文件的文件扩展名。允许更好地处理图像,并可以提高语法高亮。

temp_dir – (路径) 存储正在编辑的对象数据的本地副本的路径。默认为操作系统的临时目录。 注意:此设置在Windows上没有明显影响 8^(

long_file_name – (1或0) 是否在文件名中包含包括主机名在内的整个对象路径(默认)或仅包含正在编辑的对象的id。关闭此选项以在编辑器中使用更短的文件名,以及不喜欢长名称的编辑器。

file_name_separator – (字符串) 在外部编辑器使用的长文件名中用于分隔路径元素的字符或字符。默认为逗号(,)。这必须是平台文件名中使用的合法字符(即,不要使用路径分隔符字符!)。如果将“long_file_name”设置为0,则忽略此选项。

部分

配置文件的各个部分指定了下面选项所应用的对象和内容类型。

只有一个必选部分“[general]”,它应该定义所有上述没有默认值的选项。如果没有其他部分为给定对象定义选项,则使用通用设置。

额外的部分可以应用于特定域名、内容类型或元类型。由于对象可以具有所有这些属性,选项将按照此优先级顺序应用。

  • ‘[content-type:text/html]’ – 首先应用整个内容类型的选项。

  • ‘[content-type:text/*]’ – 次之应用主要内容类型的选项。

  • ‘[meta-type:File]’ – 第三应用Zope元类型的选项。

  • ‘[domain:www.mydomain.com]’ – 域名选项随后。如果需要,可以为每个域名级别添加多个部分。

  • ‘[general]’ – 通用选项最后。

此方案允许您根据内容类型指定扩展名,根据元类型指定编辑器,根据域名指定锁定设置,以及为给定对象在通用下指定其余选项。

编辑器插件

为了更紧密的客户端集成,外部编辑器有一个插件系统,允许它与支持的应用程序直接交互。

在Windows上,这通常意味着使用COM调用应用程序,打开内容文件,并等待用户保存和关闭文件。由于每个应用程序都有不同的远程脚本能力和API,必须为每个支持的应用程序和平台编写特定的编辑器特定插件。

此系统允许外部编辑器有效地连接到正在运行的应用程序而不重新启动它们,因此完全支持MDI环境。以下应用程序目前有插件支持

Application       Platform    Plugin Module Name(s)
===================================================
HomeSite          Windows     homesite5, homesite
Dreamweaver       Windows     dreamweaver

外部编辑器将尝试为任何应用程序加载一个插件,然后再使用通用编辑器控制方法。它通过将编辑器命令行中的应用程序可执行文件名(不带扩展名)与可用的插件进行匹配来实现。

由于插件不需要编辑器应用程序的路径来工作,如果需要,您可以在配置文件中简单地指定编辑器的插件模块名称。例如,要为所有图像文件指定Photoshop,请在配置文件中添加以下部分(Windows上的ZopeEdit.ini)

[content-type:image/*]
editor=photoshop

这只是一个快捷方式,如果指定了完整的应用程序路径,则仍会在可能的情况下使用插件。

插件说明

Photoshop – Photoshop的COM API相当有限,外部编辑器无法检测到您何时关闭了文件,直到您退出整个应用程序(它仍然可以检测到保存)。因此,当使用Photoshop时,您可能想关闭DAV锁定(use_locks=0)或借用锁定(always_borrow_locks=1)。

Dreamweaver – 外部编辑器无法检测到您何时完成单个文件的编辑。使用Dreamweaver编辑的对象将一直锁定在服务器上,直到您退出应用程序。与上面的Photoshop一样,您可能想关闭Dreamweaver的锁定。

如果你的编辑器需要插件因为通用支持不够好,请告诉我。请注意,我必须能够运行应用程序的一个副本,才能为其开发插件。所以,除非应用程序是免费的,或者有完整的演示版可以下载,否则我无法提供太多帮助。插件编写并不困难,我鼓励你为你的编辑器编写一个插件,从阅读现有的一个开始。我很乐意将第三方插件包含在发行版中。

权限

外部编辑受“使用外部编辑器”权限的约束。拥有此权限的用户可以从可编辑对象启动外部编辑器。为了保存更改,用户将需要额外的权限,这些权限适用于他们正在编辑的对象。

如果用户希望使用内置的锁定支持,他们必须具有他们正在编辑的对象的“WebDAV访问”、“WebDAV锁定项目”和“WebDAV解锁项目”权限。

如果这些权限在Zope中没有设置,那么辅助应用程序将收到来自Zope的未经授权的错误,并将其展示给用户。

与外部编辑器集成

zope中的外部编辑器产品安装了一个全局可用的对象,可以格式化通过FTP/DAV可访问的对象,以便辅助应用程序使用。你可以在自己的内容管理系统应用程序中轻松利用这项功能。

假设你有一个名为“my_stuff”的Zope文件夹中的可编辑FTP对象“document”。查看该对象的URL将是

http://zopeserver/my_stuff/document

启动此文档外部编辑器的URL将是

http://zopeserver/my_stuff/externalEdit_/document

现在,如果你习惯于将视图附加到URL的末尾,这可能看起来有些奇怪。因为‘externalEdit_’对于Python脚本和页面模板来说是必需的,它们会吞掉自身之后的URL路径段,所以你必须将调用‘externalEdit_’直接放在要编辑的对象之前。你可以在ZPT中使用页面模板中的某些TAL来实现这一点

<a href='edit'
   attributes='href
   string:${here/aq_parent/absolute_url}/externalEdit_/${here/getId}'>
   Edit Locally
</a>

作为替代方案,你也可以在调用其index_html方法时直接将你想要编辑的对象的路径传递给externalEdit_对象。它可以直接通过URL或从Python脚本中调用。externalEdit_将返回适当的响应数据以供编辑对象使用。以下是一些示例

http://zopeserver/externalEdit_?path=/my_stuff/document

return context.externalEdit_.index_html(
    context.REQUEST, context.RESPONSE, path='/my_stuff/document')

当将外部编辑器与已经使用DAV锁定的CMS集成时,它默认允许用户在显示确认对话框后借用服务器上创建的锁。虽然你可以通过在External Editor配置文件中指定‘always_borrow_locks = 1’来使这自动执行,但在使用该服务器时,可能希望将其作为默认行为。为了便于实现这一点,你可以在URL中指定自动借用锁(新功能0.7)

http://zopeserver/my_stuff/externalEdit_/document?borrow_lock=1

外部编辑器还定义了一个全局方法,你可以调用它来为适当的对象插入铅笔图标链接。此方法会自动检查对象是否支持外部编辑以及用户是否有“使用外部编辑器”权限。如果两者都为真,则返回要插入的外部编辑器图标链接的HTML代码。否则返回空字符串。

该方法是‘externalEditLink_(object)’。对象参数是要为其创建链接的对象(如果适用)。以下是一些示例页面模板代码,它会在当前文件夹中的对象中插入链接,并在适当的位置插入外部编辑器图标

<div tal:repeat="object here/objectValues">
  <a href="#"
     tal:attributes="href object/absolute_url"
     tal:content="object/title_or_id">Object Title</a>
  <span tal:replace="structure python:here.externalEditLink_(object)" />
</div>

结论

我希望你喜欢使用这款软件。如果你有任何评论、建议或想要报告一个错误,请发送电子邮件给此版本的维护者

Thierry Benita

contact@atreal.net

http://www.atreal.net

特别感谢他们的帮助和贡献

  • Wayne Glover - 优秀的文本和报告使ZopeEdit得以前进!

  • Alexandre Gouraud - Digest认证方法的贡献者

  • datakurre - Dexterity支持

作者

  1. 2010,Thierry Benita,Jean-Nicolas Bes,atReal,Casey Duncan,atReal和Zope公司的贡献者。版权所有。

变更日志

1.1.2 (2022-01-26)

  • 支持TLS 1.2(注意问题)

  • 即使使用pip安装,命令zopeedit也能正常工作。修复了#9问题(ale-rt)

  • 修复 –help(ale-rt)

  • 修复了在MacOSX下文件关闭检测问题(thomasdesvenain)

  • 如果fuser位于/usr/bin文件夹中,zopeedit客户端将正常工作。

  • 添加了对Dexterity内容类型的支持(datakurre)。

01/03/2011 - 1.0.0

  • 新的Linux Debian/Ubuntu打包

  • 更好的用户体验:更少但更明确的提示信息

  • 已翻译成英语/法语/西班牙语(欢迎贡献!)

  • 配置文件允许为给定的mimetype指定多个编辑器:使用第一个可用的编辑器

  • 用户的配置文件存储在:.config/collective.zopeedit(Linux)Application Datacollective.zopeedit(Windows)

  • 所有选项都有默认值

  • 根据桌面环境自动检测应用程序(Linux)

  • 新的图标(Windows,Linux)

  • MS VCRedist已包含在Windows包中

  • 支持LibreOffice

  • 锁管理改进

  • 新的默认值使ZopeEdit运行更快

29/11/2010 - 0.12.7

  • 从egg安装

  • 默认禁用自动代理检测,因为这可能在代理无法处理请求而直接连接正常时产生副作用

19/11/2010 - 0.12.6

  • 在zopeRequest中添加更多调试信息以用于代理连接

17/11/2010 - 0.12.5

  • 自动代理检测→所有操作系统!

  • 集成从服务器接收的新元数据

  • 在zopeRequest中添加更多日志

  • 添加更多调试日志

  • 默认日志级别为调试

17/11/2010 - 0.12.4

  • 更新man页面

  • 删除无用的插件

  • 编码规则/清理

  • 为gvim添加锁文件检测支持

  • 移除对os.spawnvp的调用(已弃用)

10/11/2010 - 0.12.3

  • 添加pythonwin windows库

10/11/2010 - 0.12.2

  • 修复从python2.5开始与代理+ssl相关的bug

  • 移除包含在MS Redistributable中的库:当安装可重新分发时,它们似乎是无用的,并且它们不能避免安装可重新分发

09/11/2010 - 0.12.1

  • Windows切换到python 2.6

  • gettext初始化中的bug修复

  • 将文件的标题编码为系统编码

  • 添加缺失的dll mfc90.dll,这是python2.6提供和必需的

  • 在编辑结束确认消息之前解锁文件

  • 默认锁时长为1天而不是1周

  • 支持摘要认证(David Versmisse的贡献)

  • 调试信息中的bug修复

  • Windows:使消息框系统模态

  • 贡献者

  • 翻译更新

03/11/2010 - 0.12.0

  • 添加了翻译(法语+英语)

  • 修复翻译中的bug,以便为所有弹出消息提供utf-8

  • 简化了正常情况下的信息:通知用户编辑已关闭且一切正常,而不是提出问题。

20/05/2010 - 0.11.0

  • 不编码标题,以便能够在用户消息中打印它

  • Linux - 支持Freemind思维导图

  • 第一个兼容OSX的版本;在发布之前需要在所有平台上进行测试

18/03/2010 - 0.10.0

  • NGINX修复1:在NGINX后无法解锁https

01/04/2009 - 0.9.11

  • Windows:切换到python 2.5

2009年5月10日 - 0.9.11预1

  • Linux bug修复:http_proxy环境变量未正确考虑

  • Linux:从python2.4切换到python2.5

  • CMFEditions基本支持:在zopeedit中添加了激活/禁用版本控制的新选项。当文件被修改并保存时,在保存之前创建一个新的版本

  • 改进了日志文件和信息

  • 默认日志级别现在是info而不是debug

04/26/2009 - 0.9.10

  • 统一了Windows和Linux的EditorProcess。现在只有一个类。

  • 新的isAlive算法,允许多个监控功能和优先级

  • 新的锁文件监控功能(现在支持openoffice.org 3.0)

  • 新的默认配置:您需要更新个人设置才能使openoffice.org 3工作

  • ini文件中的bug修复

  • isalive改进

02/24/2009 - 0.9.9.3

  • 正确处理使用_locks = False: 当你使用锁并且无法锁定时,不要打开文件;如果你真的想编辑文件并且无法锁定,可以将_use_locks设置为false

  • 修复bug:代理到https站点

  • 修复bug:代理地址以“http://”开头

  • 实现日志级别

  • 启动过程结束时记录日志

  • isAlive改进,尤其是在编辑器启动需要时间时

  • ZopeEdit:新增选项:config_editor

  • ZopeEdit:建议如果存在则重新创建用户配置

  • ZopeEdit.ini:空代理选项,config_editor = notepad

  • Windows安装程序:将ZopeExternalEditor添加到程序菜单

  • 图像的通用类型,以便使用gvim打开它们

  • isAlive针对短时间编辑的改进

  • 配置文件中的代理空选项

  • 没有文件名的命令使用带有zopeedit选项的默认编辑器文件

  • 基本代理支持:尚未认证的代理,但考虑了首选项中的http_proxy参数

  • 修复bug - 信息

2008年11月20日 - 0.9.8最终版

  • traceback保存中的错误

  • general_types:错别字

  • 在不需要长名称时,替换文件名中的空格

  • 使用mktemp用于traceback

  • 如果标题包含不符合iso-8858-1字符集的字符,则不会崩溃。

2008年10月19日 - 0.9.8-beta2

  • 增强:日志消息现在有不同的日志级别。

  • 增强:默认情况下,日志处于“调试”模式。这以后可以更改。

  • 增强:每个日志条目前面都有datetime。

  • 增强:获取并使用编辑的文件标题作为关闭消息。

  • 增强:现在在执行过程中写入日志文件。

  • 增强:在崩溃时可以读取日志文件,并且不再删除。

  • 增强:在zopeedit运行时可以读取日志文件。

  • 增强:默认保留日志。

  • 增强:默认借用锁。

  • 增强:默认保存间隔为5秒。

  • 增强:默认最大isalive计数器为5。

  • 增强:默认要编辑的临时文件名短(不带路径)。

  • 修复bug:现在删除.zope文件

  • 增强:将失败记录为错误或异常

  • 增强:简化当前消息的消息

  • 修复bug:当编辑器启动失败时解锁文件

  • 增强:当文件保存回服务器失败时记录消息

  • 增强:当解锁失败时记录消息

  • 增强:当检测到文件的修改时记录消息

  • 修复bug:在编辑器由文件监控的第一个循环期间检测编辑器的关闭

  • 增强:用于显示文件标题的服务器和客户端编码的参数

  • 增强:不再需要更多参数。这使得升级更加简单。

  • 增强:现在除了默认编辑器(posix)和锁持续时间外,所有选项都已注释。

2008年8月26日 - 0.9.8-beta1

  • 当文件被当前用户锁定时借用锁

  • 当存在文件保存问题时向用户显示消息

  • 当文件无法保存时,向用户显示消息以重新打开文件的最后一个版本

  • 网络错误处理

  • 在无法保存或解锁时保留日志和临时文件

  • 控制文件保存问题。在有问题的情况下,建议重新打开本地副本以进行本地备份。

  • 在zopeedit无法自动处理编辑器的情况下与用户交互

  • 现在与所有编辑器兼容!!

  • 代码部分的重写

  • 默认选项:始终借用锁 = true

  • 在默认配置文件中为Linux下的excel和powerpoint设置mimetypes

2008年6月26日 - 0-9-7-ar发布

  • 修复bug:用-n启动gimp以启动新进程

  • 改进锁定/解锁过程

    在文件打开前应用锁定,在最终文件上传后移除锁定

  • 新增选项manage_locks

  • 新增和更详细的日志

  • 现在在默认配置中询问用户当发生有关锁定的问题时该怎么办

  • 不再为MS Office提供插件:新的标准流程似乎与不同的MS Office版本配合得更好

  • 重要的错误修复,以避免在关闭并回答“是”以保存时丢失文件的修改

  • 采取更多预防措施,以避免打开旧版本的文件(当另一个用户正在关闭文件时,用户打开文件);检查修复后的ExterbalEditor以确保可靠性。

2008年5月28日 - 0-9-6-ar 发布

  • isAlive的日志,以便记录我们跟踪更改的方式

  • 新的配置选项lock_timeout,以便在客户端配置锁定持续时间

  • 清理

2008年4月10日 - 0-9-5-ar 发布

  • 更好的isAlive算法

2007年6月28日 - 0.9.4-ar 发布

  • 对没有插件的开发生成应用程序提供更好的支持

  • 支持Windows和POSIX系统

2007年1月3日 - 0.9.3 发布

  • 修复了'manage_FTPget'覆盖'Content-Type'头的问题。

  • 仅在win32系统上运行ExpandEnvironmentStrings。

2006年9月14日 - 0.9.2 发布

  • 添加了'skip_data'选项,以便外部编辑器仅发送元数据部分并跳过将数据附加到'body'。

  • 添加了一个简单的回调注册表,可用于在通过外部编辑器编辑文件时添加额外的元数据头或设置特殊的响应头。

  • 使用rfc822.Message来解析正在编辑的文件的元数据。

  • 不要对Zope >= 2.10中的弃用'methods'发出警告。

  • 修复了manage_main.dtml中的acquisition问题,以与Zope中应用的相同修复同步。

2005年6月23日 - 0.9.1 发布

  • 在0.9版本中包含了较旧的插件pyc文件。此版本具有最新的插件。

2005年6月20日 - 0.9 发布

  • 当使用Excel插件时,用户看到错误“TypeError:此对象不支持枚举”。我们现在让用户处理这些错误。

  • 当使用Excel插件时,错误会间歇性地以“致命错误:<未知>。Path”的形式显示给用户,并且由于外部编辑器进程已退出,用户无法将文档保存回Zope。

  • 使用任何涉及COM(Word、Excel、Powerpoint等)的插件时,对文档的更改可能不会间歇性地保存回Zope。

  • 如果用户在积极保存之前退出Word,如果在编辑的文档中存在未解决的更改,则尽管用户在Word显示的“您想要在退出前保存吗”对话框中回答“是”,这些更改也不会保存到服务器。

  • 外部编辑器现在可以在zopeedit客户端返回的标题中访问正在外部编辑的对象的“title”属性。

  • 现在可以使用JavaScript或VBScript在IE中检测客户端是否安装了外部编辑器,前提是客户端软件是通过InnoSetup安装程序安装的。有关更多信息,请参阅“win32/ocx.txt”。

  • 外部编辑器现在与Zope 2.7.1+中返回“filestream iterator”的对象兼容。(如果升级:此修复不需要更新EE客户端,只需更新EE Zope产品即可)。

  • 正确转义man页面的连字符。感谢Federico Sevilla III。

  • 在Zope中锁定文件之前检查编辑器是否已启动。这可以防止在锁定请求完成之前关闭编辑器时出现错误。

  • 在POSIX平台上不要询问用户要使用哪个编辑器。相反,只需告诉用户编辑配置文件。在Python 2.3.4中,askstring()函数不适用于隐藏根Tk窗口。感谢Christopher Mann。

2004年7月13日 - 0.8 发布

  • 将外部编辑器图标添加到ZMI面包屑中可编辑的对象。

  • 使用Python 2.3.4、Pythonwin构建163和py2exe 0.5编译了Windows辅助应用程序的二进制文件。

  • 添加由Manuel Aristaránn提供的Dreamweaver插件。还要感谢Anton Stonor。

  • 为Zope 2.7的有序文件夹对象添加ZMI支持。

  • 修复了从较旧版本的CookieCrumber检测基本认证信息时的错误。感谢David D. Smith和Federico Sevilla III。

  • 解决了在SSL上运行时IE浏览器的错误。感谢Marc-Aurèle Darche。

  • 为MacOS X(尤其是Mac IE)添加了对“.zem”文件扩展名的支持,以简化辅助应用程序的集成,特别是在缺少MIME支持的情况下。感谢Zac Bir。

  • 添加了“long_file_name”和“file_name_separator”配置选项。

  • 修复了在Win32系统下使用Excel插件编辑Excel文件时出现的“调用被调用方拒绝”COM错误。感谢Chris McDonough。

2004年4月23日 - 0.7.2版本发布

  • 将默认配置更改为仅使用.txt扩展名用于text/plain。添加了css和javascript文件的扩展名。

  • 修复了Windows二进制文件中的打包错误,该错误禁用了几个插件。这解决了MSOffice等“编辑器未正确启动”的错误。

  • 修复了一个问题,即非常短的编辑会话(未进行任何更改)可能导致EE认为编辑器从未启动。感谢Maik Ihde。

2003年11月7日 - 0.7.1版本发布(仅影响win32二进制文件)

  • 修复了Windows二进制文件中的编码错误。感谢Chris McDonough。

  • 添加了关于如何配置IE通过SSL保存文件的提示。感谢Jonah Bossewitch。

2003年4月1日 - 0.7版本发布

  • 添加了Unix的working distutils设置。

  • 现在可以从服务器指定辅助应用程序应该通过传递borrow_lock=1通过请求借用锁,从而抑制默认出现的对话框。感谢Shane Hathaway。

  • 在Word和Powerpoint插件中改进了打开文件检查,感谢Yura Petrov。

  • 添加了Microsoft Word、Excel和Powerpoint的插件。

  • 从Debian发行版添加了man页面。感谢Federico Sevilla III和Andreas Tille。

2002年11月2日 - 0.6版本发布

  • 使用Python 2.2.2和PythonWin 148构建了Windows辅助应用程序。

  • 现在,externalEdit_对象接受一个路径参数,用于编辑对象,允许像“http://zope/externalEdit_?path=/some/object”这样的URL。这使得外部编辑器可以更好地与使用自身遍历魔法的应用程序协同工作。感谢Tres Seaver。

  • 修复了unlock retry代码中的NameError错误。感谢Federico Sevilla III。

  • 添加了对不遵守SSL服务器的解决方法。现在软件会静默忽略来自httplib的“EOF occurred in violation of protocol”错误。感谢Christopher Deckard。

  • 删除了stderr写入以解决Windows上的“Invalid File Descriptor”错误。感谢Martijn Peters。

  • 添加了Photoshop插件(win32)

  • 添加了HomeSite插件(win32)

  • 为辅助应用程序添加了win32编辑器插件支持。

2002年8月19日 - 0.5版本发布

  • 为Zope find模板添加了补丁,以便您可以直接从ZMI中的查找结果使用外部编辑器。感谢Jim Washington。

  • 提取了外部编辑器链接生成器。现在产品注册了一个全局方法“externalEditLink_”,可以调用它以生成任何对象的外部编辑器图标链接。

  • 外部编辑现在由“使用外部编辑器”权限控制,允许非管理员使用它。用户还必须拥有编辑/修改他们编辑的对象的权限,如果需要,还要进行WebDAV锁定。感谢Reineke和其他人。

  • Unix编辑器命令行解析现在更加健壮,并正确处理引号参数。您还可以在编辑器命令中指定“$1”占位符以表示内容文件名插入的位置。如果省略,它将附加到命令行末尾。“%1”在Windows中继续以类似方式工作。感谢Marc St-Jean。

  • 修复了编辑大(分块)文件和图像的bug。外部编辑器现在将它们的数据正确流式传输到客户端。感谢报告了此bug的各种症状的所有用户。

  • 修复了在Squishdot站点内部编辑对象的bug。感谢Kevin Salt。

  • 添加了借用现有DAV锁的能力。这允许外部编辑器与其他使用锁的系统(如CMFStaging)很好地协同工作。可以设置新的配置标志always_borrow_locks以在编辑时抑制借用锁警告对话框。

  • 修复了当产品与 mysqlUserFolder 一起使用时的认证问题。感谢 ViNiL。

2002年6月30日 - 0.4.2 版本发布(仅影响 win32 二进制文件)

  • 在 Windows 二进制包中添加了 SSL 支持。感谢 Federico Sevilla III。

2002年6月29日 - 0.4.1 版本发布

  • 修复了致命错误时的悬空 dav 锁问题。感谢 Marc St-Jean。

  • 修复了 content_type 问题,现在会检查它是否可调用。感谢 Arnaud Bienvenu。

  • 修复了在 Windows 上编辑二进制数据的问题。感谢 Eric Kamm。

  • 修复了在 Posix 平台上设置编辑器的问题。

2002年6月24日 - 0.4 版本发布

  • 添加了 –version 命令行参数

  • 将 manage_FTPget 设置为可编辑内容的默认来源,而不是损坏的 document_src(适用于 CMF Wiki 页面)。

  • 修复了 Windows 中的“body_file”问题。

  • 为 Windows 使用 py2exe 和 Inno setup 添加了二进制构建支持。

  • 修复了 Windows 配置文件定位器。现在它会在程序目录中查找,然后是用户的主目录(如果指定)。

  • 修复了 Windows 注册表编辑器查找中的问题。

2002年6月16日 - 0.3 版本发布

  • 改进了在锁尝试失败后的保存行为。

  • 现在可以使用 Pythonwin 在 Windows 上运行(掌声)。对过程控制进行了大量重构。感谢 Oliver Deckmyn、Gabriel Genellina 和 Arno Gross 测试、补丁和建议。

  • 添加了“temp_dir”配置选项,用于指定与操作系统默认设置不同的临时文件目录。还进一步改进了临时文件名的生成。

  • 添加了对特定于域的配置选项的支持。

  • 修复了来自 CookieCrumbler 的编码认证数据中的尾部换行符问题。感谢 Harald Koschinski。

  • 您现在可以在配置文件中将命令行参数传递给编辑器,或者在不使用 shell 脚本的情况下将编辑器包装在 xterm 中。

  • 重写了“编辑器未启动”错误消息,使其更有意义。

  • 修复了 https 检测问题。外部编辑器现在经过测试,与 https 一起工作。衷心感谢 Hans-Dieter Stich 和 Martin Grönemeyer 的帮助和想法。

  • 现在可以编辑 ZClasses 的方法。感谢 Jim Washington。

  • 在 manage_main 中重构了链接生成代码,使其使用父级的绝对 URL 而不是 URL1。感谢 Jim Washington。

  • 在 Configuration 类的析构函数中删除了隐式保存。

  • 添加了缓存头,以防止客户端缓存编辑数据。感谢 Gabriel Genellina 指出这一点。

  • 增加了对编辑 CMF 文档的改进支持。

  • 消除了短会话或其他错误发生时的“编辑器未启动”错误。

2002年5月16日 - 0.2 版本发布

  • 修复了产品卸载问题。

5/15/02 - 0.1

  • 初始发布

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

collective.zopeedit-1.1.2.tar.gz (84.6 kB 查看哈希值)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面