跳转到主要内容

将Zope对象导出到文件系统

项目描述

FSDump产品概述

FSDump起源于许多Zope开发者的一个需求:通过网页开发更快更简单,但会导致重大的部署和配置管理问题。通过网页代码不能(容易地)提交到CVS,或diff来显示更改,或grep来查找错误消息的来源。

目标

  • 第一个目标是减轻将TTW代码纳入版本控制的压力:即,使得将TTW代码的表示形式检查到CVS成为可能,然后查看版本之间的更改。

  • 保持TTW对象的文件系统表示简单和“自然”(我们在这里明确避免使用XML)。

  • 未来的目标可能包括

    o 双向迁移(例如,在

    vim/emacs中更改导出项,然后将这些更改导入到TTW代码中)。

安装

请参阅单独的安装说明

用法

  • 使用“添加列表”在包含要导出的TTW代码的文件夹(或产品)中创建“Dumper”实例。

  • 提供一个文件系统目录的绝对路径,在该目录中创建导出文件的文件(注意,以Zope运行的用户的身份需要对此目录具有写权限)。请参阅表单帮助

  • 单击“更改和导出”按钮以将导出操作到指定的目录。

将TTW代码映射到文件系统

请参阅映射文档

已知问题

  • 某些类型的元数据(如bobobase_modification_time)不会作为属性导出。

  • 请参阅待办事项列表


编辑/导出导出器

描述

导出器实例的“编辑/导出”视图用于设置对象的父对象将被导出的文件系统路径,并启动此导出操作。

控件

ID

导出器对象的全局标识符(只读)

文件系统路径

在Dumper的父对象下创建文件系统对应路径(子目录)。Dumper父对象的全部子对象都将在此子目录下创建对应路径。例如,如果此字段的值为/tmp,父文件夹名为parent_folder,则导出器将在/tmp/parent_folder下创建一个子目录,并在其中创建对应于导出器“兄弟”的对象。

使用.metadata文件

如果选中,则写入与CMF 1.4及以后版本兼容的“新样式”.metadata文件。属性放入[Default]部分。

更改

更改文件系统映射。

更改并导出

更改文件系统映射并执行导出。


将TTW代码映射到文件系统

通用映射

  • 为每个TTW项目创建最“自然”的文件系统类似物:文件夹 -> 目录,DTML方法/文档 -> DTML文件,Python方法 -> Python模块。

  • 将非内联属性存储在具有.properties后缀的伴随文件中。每行存储一个属性,使用name:type=value语法。

    • XXX:在伴随的.metadata文件中,将属性存储在[Default]部分。

  • 在伴随的.metadata文件的[Permissions]部分映射权限-角色映射(XXX在切换到.metadata之前此功能不可用,尽管它可能映射到CMF 1.3支持的.security文件)

  • 在伴随的.metadata文件的[LocalRoles]部分映射本地角色(XXX在切换到.metadata之前此功能不可用)

  • 将代理角色写入proxy属性(XXX CMF 1.4兼容性;这是一个难看的拼写)。可能还需要将其放入一个“更美观”的拼写中,并游说更改CMF中使用的拼写。

  • 保留足够的元数据,以便能够重新创建TTW对象,最好是使用其Web界面。这条规则与pickling的主要区别(在概念上)在于,我们不保存TTW管理器无法设置的任何状态。

特定映射

文件夹

  • 递归地将包含项存储到文件夹的目录中。

  • .objects文件中存储导出项的列表,每项一行,使用以下格式:name:meta_type

    • XXX:在.metadata文件中,将相同的行存储在[Objects]目录中。

文件/图像

  • 使用项的ID以二进制格式保存文件内容。

  • *.properties中存储属性。

DTML方法

  • 创建一个包含模板文本的单个文件。文件名将具有扩展名,.dtml

DTML文档

  • 创建一个包含模板文本的单个文件。文件名将具有扩展名,.dtml

  • *.properties中存储属性。

Python脚本

  • 创建一个包含单个顶层函数定义的模块,使用“read”格式(注释中的绑定在顶部)。

页面模板

  • 创建一个包含模板文本的单个文件。文件名将具有扩展名,.pt

  • *.properties中存储属性。

SQL方法

  • 将参数列表内联注入到主体中,前面有一个空行。

ZCatalog

  • 将目录对象的路径存储在一个 <id>.catalog 文件中,每行一个项目。

  • 将索引定义存储在一个 <id>.indexes 文件中,每行一个索引,格式为 name:meta_type

  • 将模式存储在一个 <id>.metadata 文件中,每行一个字段名。

控制器 Python 脚本

  • 创建一个包含单个顶级函数定义的模块,使用“读取”格式(顶部注释中的绑定)。文件名将具有扩展名 .cpy

  • *.properties中存储属性。

控制器验证器

  • 创建一个包含单个顶级函数定义的模块,使用“读取”格式(顶部注释中的绑定)。文件名将具有扩展名 .vpy

  • *.properties中存储属性。

控制器页面模板

  • 创建一个包含模板文本的单个文件。文件名将具有扩展名 .cpt

  • *.properties中存储属性。

废弃类型的映射

Python 方法

  • 创建一个包含单个顶级函数定义的模块,使用名称、参数列表和主体。

ZClass

  • 映射到一个目录。

  • 将“基本”选项卡值存储在 .properties

  • 将图标存储在 .icon

  • 将属性表存储在 propertysheets/common 中。

  • 将方法选项卡对象(包括嵌套 ZClass)存储在 propertysheets/methods 中。

常用实例属性表(ZClass 属性表)

  • 将属性以 name:type=value 的格式存储在同名文件中。

Zope 权限

  • 将值存储在 *.properties 中。

Zope 工厂

  • 将值存储在 *.properties 中。

向导

  • 映射到一个目录。

  • 将属性存储在 .properties 中。

  • 存储页面。

WizardPage

  • 将文本存储在 *.wizardpage 中。

  • *.properties中存储属性。


FSDump 变更日志

0.9.5 (2009-11-03)

  • 删除了损坏的 HelpSys 注册。

  • 修复了制作 sdist 使用的版本号。

0.9.4 (2009-02-22)

0.9.3 (2006-12-20)

  • SVN: http://svn.zope.org/Products.FSDump/tags/FSDump-0_9_3

  • 应用了 Damine Baty 的补丁,修复了将 ZSQLMethods 导出的输出以匹配 CMF 的 FSZSQLMethods 使用的格式。

  • 应用了 Alejo Roda 的补丁,添加了 Formulator 表单的处理程序。

  • 应用了 Willi Langenburger 的补丁,添加了 ZWikiPage 对象的处理程序。

0.9.2 (2005-08-09)

0.9.1 (2005-08-09)

  • SVN: http://svn.zope.org/Products.FSDump/tags/FSDump-0_9_1

  • CVS 标签: FSDump-0_9_1

  • 向 Dumper 工厂添加参数,允许调用者提供处理程序覆盖。

  • 应用了 Sam Brauer 的补丁,解决了以下问题

    • 代理角色和安全设置没有被写入 .metadata 文件。

    • 应将 [Default] 部分命名为 [default]

    • 属性类型扩展使 CMF 的 FilesystemDirectoryView 处理不当(补丁移除了字符串属性的 :string;其他可能仍然损坏)。

0.9 (2005-04-29)

  • SVN: http://svn.zope.org/Products.FSDump/tags/FSDump-0_9

  • CVS 标签: FSDump-0_9

  • 合并了 Andy Fundinger 的工作,添加了对以下 CMFFormController meta_types 的处理程序

    • ControllerPythonScript

    • ControllerValidator

    • ControllerPageTemplates

  • 修复了缺失的 ConflictError 导入(感谢 Willi Langenburger 的补丁)。

  • 应用了 Willi Langenburger 的补丁,允许在 Zope 实例的根目录中使用 dumper。

0.8.1 (2004-12-09)

0.8 (2004-10-13)

0.7 (2004-05-17)

  • SVN:http://svn.zope.org/Products.FSDump/tags/FSDump-0_7

  • CVS标签:FSDump-0_7

  • 添加了开关,强制使用单个.metadata文件,而不是多个文件(与CMF 1.4兼容)。

  • 将ZMI迁移到使用PageTemplates。

  • 错误:在合成文件扩展名时,Dumper没有在“伴随”属性文件名称中包含合成的扩展名。

0.6 (2001-08-09)

0.5 (2001-08-03)

0.4 (2001-06-18)

0.3 (2001-01-06)

0.2 (2000-11-19)

0.1 (2000-11-16)


下载

项目详情


下载文件

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

源分布

Products.FSDump-0.9.5.tar.gz (20.3 kB 查看哈希值)

上传时间

支持者

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