用于sql存储的ploneformgen操作适配器
Products.sqlpfgadapter的Python项目详细描述
简介
此套餐的目标是:
- 使ploneformgen中的sql存储变得简单
- 与collective.megaphone一起使用
为了实现这一点,我们创建了一个新的ploneformgenaction-adapter。 这使用SQLAlchemy(collective.lead)将表单数据保存到数据库。 (sqlalchemy应该适用于大多数sql方言。)
还可以使用z sql方法将pfg数据保存在sql中,作为 验证脚本之后,如SQL-CRUD-tutorial中所述。 这很有效,但是:
- 手工工作量大,对普通用户来说相当麻烦
- 它不适用于collective.megaphone(请参见mailinglist-discussion)
安装
开发人员
要安装完整的开发设置:
svn co https://svn.plone.org/svn/collective/Products.PloneFormGen/adapters/Products.sqlpfgadapter/buildout/plone4 sqlpfg-plone4 cd sqlpfg-plone4 python2.6 bootstrap.py ./bin/buildout -c buildout-dvl.cfg
或者,对于plone 3:
svn co https://svn.plone.org/svn/collective/Products.PloneFormGen/adapters/Products.sqlpfgadapter/buildout/plone3 sqlpfg-plone3 cd sqlpfg-plone3 python2.4 bootstrap.py ./bin/buildout -c buildout-dvl.cfg
如果您使用另一个构建配置,请确保包含 为您的plone版本设置“for plone.app.registry”。在plone 3的例子中, 您还需要将z3c.form固定到1.9.0。
配置
作为站点管理员,转到plone控制面板中的“sql设置”。你会的 转到“sqlpfg控制面板”。在这里可以设置数据库连接 设置。
用法
要将表单的数据保存到数据库中,请从“添加”中添加“SQL存储” 表单文件夹中的“新建…”菜单。给它一个标题并保存它。
A database table will be created. Its name is generated (from the Form Folder’s id, among others), you can see it by viewing the adapter object. The table has an ‘id’ column, and a column for each form field.
就这样!从现在起,成功提交的表单将存储在 数据库。
使用collective.megaphone
该产品与Collective.megaphone同样适用。然而 能够将操作适配器添加到操作字母或扩音器操作,您 必须通过zmi将“sqlpfgadapter”添加到“允许的内容类型”中。
产品collective.megaphonesql可以为您做到这一点。
限制
这个产品正在开发中。目前,我们有主要限制:
- 并非所有Ploneformgen字段都有效,特别是:
- 文件字段
- 评分表字段
- 添加和删除字段或更改其名称不会更改 数据库表。没有列的字段名 丢弃的。
兼容性/依赖性
测试时间:
- 扑通:3.3.5,4.0
- ploneformgen:1.6.0b4,1.6.0b5
- 扩音器:1.4.1、2.0b1
- collective.lead 1.0,sqlalchemy 0.4.8
- sql:mysql 5.1.41
此产品使用plone.app.registry作为其控制面板。为了让它 工作,使用它的“已知良好集”(见上面的“开发人员”一节)。
更改日志
1.0.1(2011-01-10)
作为源距离重新释放。
1.0.0(2010年11月10日)
Python2.4二进制版本。
0.1b2(2010-09-26)
- sqlapadapter.py中的输入错误
0.1b1(2010-09-26)
- 更新的文档(已测试并在plone 4上运行)
- 为十进制字段添加处理
0.1a2(2010-09-22)
- 将所有“mysql”重命名为“sql”,包括内容类型。未提供升级!
- 添加了有关使用collective.megaphone的文档。
0.1a1(2010-09-20)
- 初始版本