将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)
重新打包为 Python egg。
将文档转换为 ReStructured text。
从 CVS 移动到 SVN。
0.9.3 (2006-12-20)
应用了 Damine Baty 的补丁,修复了将 ZSQLMethods 导出的输出以匹配 CMF 的 FSZSQLMethods 使用的格式。
应用了 Alejo Roda 的补丁,添加了 Formulator 表单的处理程序。
应用了 Willi Langenburger 的补丁,添加了 ZWikiPage 对象的处理程序。
0.9.2 (2005-08-09)
CVS 标签: FSDump-0_9_2
撤销 handler_overrides brownbag
0.9.1 (2005-08-09)
CVS 标签: FSDump-0_9_1
向 Dumper 工厂添加参数,允许调用者提供处理程序覆盖。
应用了 Sam Brauer 的补丁,解决了以下问题
代理角色和安全设置没有被写入 .metadata 文件。
应将 [Default] 部分命名为 [default]。
属性类型扩展使 CMF 的 FilesystemDirectoryView 处理不当(补丁移除了字符串属性的 :string;其他可能仍然损坏)。
0.9 (2005-04-29)
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)
CVS标签:FSDump-0_8_1
重新打包,将实际产品目录嵌套在版本合格包装目录中;包装目录中添加了INSTALL.txt文件。
0.8 (2004-10-13)
CVS标签:FSDump-0_8
应用了来自Zope收集器#1463的补丁,以使转储的SQL方法更好地与CMF的FSSQLMethod表示相匹配。
0.7 (2004-05-17)
CVS标签:FSDump-0_7
添加了开关,强制使用单个.metadata文件,而不是多个文件(与CMF 1.4兼容)。
将ZMI迁移到使用PageTemplates。
错误:在合成文件扩展名时,Dumper没有在“伴随”属性文件名称中包含合成的扩展名。
0.6 (2001-08-09)
CVS标签:FSDump-0_6
添加处理程序
页面模板
0.5 (2001-08-03)
CVS标签:FSDump-0_5
添加处理程序
PythonScript
0.4 (2001-06-18)
CVS标签:FSDump-0_4
遵守“完成项目指南”,http://dev.zope.org/Wikis/DevSite/Proposals/FinishedProductGuidelines
添加了HelpSystem功能。
迁移到使用声明性安全。
0.3 (2001-01-06)
没有CVS标签?
转储ZClass图标。
添加处理程序
向导
向导页面
0.2 (2000-11-19)
CVS标签:FSDump-0_2
添加处理程序
ZClasses
ZClass属性表单
TTW权限
TTW工厂
修复了Dumper._setFSPath()中的Unixism - 感谢Craig! (cba@mediaone.net)
0.1 (2000-11-16)
CVS标签:FSDump-0_1
初始发布
下载
项目详情
Products.FSDump-0.9.5.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c911036afd29b829a422bf61c3642d8e44e70eeb13e9b5a5fb02a73fe7fc1db1 |
|
MD5 | 422e0c4e44a4afbc56200eda6d23765a |
|
BLAKE2b-256 | 503aa76ef772f3bc0b5db163d67b039ffee31704b92ec90f37882fa555061224 |