Plone的在线表单生成器
项目描述
介绍
本软件包提供了一个通用的Plone表单生成器。使用它来构建简单的、独一无二的、可以保存或发送表单输入的Web表单。
此附加组件的存储库位于 https://github.com/smcmahon/Products.PloneFormGen。文档区域位于 http://docs.plone.org/working-with-content/managing-content/ploneformgen/,问题跟踪器位于 https://github.com/smcmahon/Products.PloneFormGen/issues
请使用Plone论坛 https://community.plone.org 进行支持请求。如果您在那里无法得到问题的解答,或者对开发此产品感兴趣,请联系Steve McMahon:steve@dcn.org。
1.8注意事项
PFG 1.8适用于Plone 5+。如果您正在使用Plone 4.1.x-4.3.x,请选择PFG 1.7.x。PFG 1.6.x针对Plone < 4.1。
collective.js.jqueryui不再需要。如果您已从Plone 4.x迁移过来且没有其他包使用它,您可以卸载它。
已知问题
导出/导入尚未工作;
ReCAPTCHA配置表单很简单。
概述
PloneFormGen是一个通用的Plone表单生成器,使用Archetypes中的字段、小部件和验证器。使用它来构建简单的、独一无二的、可以保存或发送表单输入的Web表单。
要构建Web表单,创建一个表单文件夹,然后添加表单字段作为内容。单个字段可以自行显示和验证,以便进行测试。表单文件夹从所有包含的字段内容对象创建表单。
表单输入的最终处理通过插件动作产品完成。本发行版包含的动作适配器包括一个邮件发送程序、一个保存数据的适配器,该适配器以制表符分隔的格式保存输入以便以后下载,以及一个自定义脚本适配器,该适配器可以脚本简单的操作而无需使用Zope管理界面。
为了便于入门,新创建的表单文件夹预先填充以作为简单的电子邮件响应表单。
依赖关系
Plone: Plone 5.0b2+
需要Jens W. Klein的ScriptableFields包中的PythonField、TALESField和TemplateFields: http://plone.org/products/scriptablefields/(如果通过Python包安装,将自动加载)。
电子邮件加密需要Gnu Privacy Guard、GnuPG,也称为gpg。有关详细信息,请参阅README_GPG.txt。
CAPTCHA支持需要collective.captcha或collective.recaptcha。有关详细信息,请参阅README_CAPTCHA.txt。
安装
只需将Products.PloneFormGen添加到您的buildout配置的eggs部分,然后运行buildout。
重新启动Zope。
转到Plone界面中的“站点设置”页面,然后单击“添加/删除产品”链接。选择PloneFormGen(勾选其复选框)并单击“安装”按钮。如果PloneFormGen不在“添加/删除产品”列表中,通常意味着由于缺少先决条件而产品没有加载。
如有必要,请使用“站点设置”中的PloneFormGen配置小工具来根据您的站点自定义产品。
权限
站点管理员可以通过更改用户角色的权限来控制许多PloneFormGen功能的可见性和可用性。控制面板配置小工具控制门户根的角色/权限关联。有关PloneFormGen权限如何映射到表单文件夹和表单字段字段的说明,请参阅改进提案#3,“提供隐藏高级选项的方法”:http://plone.org/products/ploneformgen/roadmap/3。
安全
默认情况下,只有管理员可以使用TALES表达式覆盖默认值和验证器。您可能希望添加其他角色,但请记住,这是一个潜在的安全风险;这基本上赋予了与脚本或皮肤编辑相同的力量。
历史记录
自Plone 2以来,PloneFormGen一直在更新。维护者自豪地表示,它仍然得到维护和可靠,但它不应用作当前Plone包的好例子。它包含太多的历史层。
鸣谢
构型已经被无情地挖掘以获取概念和功能。
表单和字段图标是从Martijn Faassen的Formulator中搜集的,并且仅进行了编辑以增加透明度,使其在添加项目菜单中看起来更好。
邮件适配器基本上是PloneFormMailer的一个定制版本,去除了Formulator适配器机制。感谢PloneFormMailer的作者Jens Klein和Reinout van Rees提供此代码和自包引入以来的持续帮助。
Pierre-Yves Landure在i18n机制方面提供了巨大的帮助。Sebastien Douche和Pierre-Yves Landure提供了法语翻译。
Martin Aspeli的RichDocument提供了一个非常有价值的参考,特别是在处理安装和测试问题方面。
Martin Aspeli、Wichert Akkerman、Eric Steele、Jens Klein和Reinout van Rees都提供了宝贵的早期反馈。
Titus Anderson为评分刻度字段提供了基本代码。Andreas Jung为Save Data适配器提供了记录编辑功能。
Fulvio Casali、Alex Tokar、David Glick、Steve McMahon、Jesse Snyder、Michael Dunlap、Paul Bugni、Jon Baldivieso和Andrew Burkhalter在2008年12月由OneNW赞助的PFG冲刺中做出了惊人的事情。特别感谢David对CAPTCHA工作的贡献,以及Andrew对导出/导入的贡献。
Thomas Buchberger提供了初始CAPTCHA字段实现。
Maurits van Rees是1.7.x和1.8.x系列的共同维护者。David Glick是1.2.5至1.7.x版本的共同维护者。感谢Maurits和David!
Nenad Mancevic(Manca)为他2010年Google Summer of Code项目的widget工具箱和快速编辑模式提供了基础代码,并进行了大幅增强。感谢Manca和Google!
Alec Mitchell、Nathan Van Gheem和Eric Steele在Plone 5更新中提供了重要的帮助。
有关帮助特定功能或错误的每个人的非常长的列表,请参阅CHANGES.txt文件。
许可协议
在GPL v 2下分发。
有关详细信息,请参阅LICENSE.txt和LICENSE.GPL。
变更历史
1.8.9 (2021-05-27)
解决了与Products.PloneHotfix20210518的不兼容性。[dhavlik, spereverde, maurits]
1.8.8 (2020-11-16)
在Plone 5.2上解决了portal_skins目录路径问题。它曾是PloneFormGen/skins/PloneFormGen,但现在必须是Products.PloneFormGen:skins/PloneFormGen。这可能需要升级步骤,但您也可以在ZMI中的portal_skins中手动执行此操作。请注意,PloneFormGen实际上未在Plone 5.2上经过测试。事实上,自动测试在5.2上完全失败,因此请自行承担风险。[maurits]
仅将快速编辑包js和样式应用于快速编辑表单。[alecpm]
1.8.7 (2019-11-22)
修复了Plone 5.1.x上的损坏的RichText字段。[alecpm]
1.8.6 (2019-07-29)
改进了captcha错误信息。[rodfersou, idgserpro]
添加了卸载配置文件和setuphandler。让Plone 5.1满意。[smcmahon]
在ExRangeValidator中允许逗号作为小数分隔符,因为底层archetypes字段允许这样做。让某些欧洲国家的用户满意。[nilo]
1.8.5 (2017-12-20)
使用日期选择器小部件进行日期时间输入。[tomgross, keul]
1.8.4 (2017-07-08)
修复了UnicodeDecodeError:具有非ascii值且没有感谢页面的RateScaleField。修复了问题#98。[vkarppinen]
删除了collective.cover适配器引用。(关闭#194。[rodfersou]
修复了当词汇值是非ascii字符串时的UnicodeDecodeError。这可能会在选择和多选字段中发生。[maurits]
更改了#186的captcha验证消息。[tkimnguyen]
修复了由于未关闭标签而导致的快速编辑视图导致的渲染问题。[datakurre]
修复了FormSaveDataAdapter的getColumnTitles中的逻辑与getColumnNames的逻辑不同的问题。[mikerenfro]
修复了多余的模板回退值。[zemm]
1.8.3 (2016-12-06)
在翻译之前将值转换为unicode。修复#182。[pbauer]
1.8.2 (2016-11-22)
固定显示帮助文本的翻译。自安全版本1.8.1以来,帮助文本只显示消息ID,例如 help_placeholder。修复了 问题 #178。 [maurits]
在嵌入式视图中使用formActionOverride动作。[fRiSi]
添加从saveDataAdapter下载数据的选项,以Excel格式下载。Excel下载依赖于“xlwt”python包的可用性。[tmog]
1.8.1 (2016-05-01)
CGI转义字段帮助(描述);防止方法调用。消除用户可以创建表单的能力可能利用的XSS漏洞。[smcmahon]
1.8.0 (2015-10-01)
将我们的默认页面类型设置移动到注册表中。[maurits]
从注册表中获取电子邮件设置。修复了几个Plone 5错误。不要使用 plone_utils.getSiteEncoding(),因为此函数已弃用且始终返回 utf-8。[maurits]
在快速编辑表单上加载特定于小部件的CSS。[maurits]
通过删除已弃用的全局定义宏来修复嵌入式视图。[buchi]
移除了尝试阻止内联验证的内联JavaScript。它对Plone 5没有影响,因为这里根本不做内联验证。并且它与在底部而不是在头部加载jQuery的主题相冲突。[maurits]
1.8.0b4(2015-09-09)
将我们的内容类型更改为使用TinyMCEWidget而不是RichWidget。旧的只显示一个纯文本区域。修复了问题 #152。[tmog]
修复了 propertiestool.xml,以便在导入 types_not_searched 时不会中断。[tmog]
1.8.0.beta3(2015-07-20)
在新表单上显示加载中。
1.8.0.beta2(2015-07-15)
文档更新。
travis配置修复。
1.8.0.beta1(2015-07-13)
快速编辑器工作!
使用包架构和requirejs。
1.8.0.alpha1(2015-06-29)
检查提交日志以查找与P5更新相关的更改。[maurits]
1.8将针对Plone 5。维护分支是1.7-maintenance。[maurits]
对于使用main_template的master宏的模板,使用content-core而不是main宏。它更适合标准plone环境,并准备在完整视图中显示(需要一些修改)。[thet]
有关以前的更改,请参阅docs/HISTORY.txt。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。