从您的Plone网站运行在线倡导活动。
项目描述
简介
Megaphone使得在Plone中建立强大的在线倡导活动变得容易。
致决策者的信件
收集任意字段
必填和可选收件人
本地保存数据
保存数据到Salesforce.com(需要salesforcepfgadapter)
基于电子邮件模板的信件给目标
可定制的感谢信给发送者
请愿书
收集任意字段
本地保存数据
保存数据到Salesforce.com(需要salesforcepfgadapter)
在您的Plone网站内列出签名
可定制的感谢信给发送者
限制
没有任何产品是完美的。Megaphone(目前)无法做到一些重要的事情,包括
向没有公开可访问电子邮件地址的目标发送邮件
如何工作
Megaphone基于几个出色的Plone产品,以避免重复造轮子来完成其工作。
梅加蜂的核心是PloneFormGen,它提供了核心表单处理能力。
由于梅加蜂操作是相当复杂的PloneFormGens,具有许多默认设置,我们构建了collective.z3cform.wizard,这使得我们可以创建一个非常用户友好的向导来构建辩护信。向导可以运行并重新运行,以便用户更改设置。更高级的用户可以直接编辑PloneFormGen字段和对象,以创建更复杂的设置。
销售force集成通过Salesforce PFG适配器和底层的Salesforce Base Connector实现。
安装
梅加蜂已在Plone 3.3和Plone 4上进行了测试。
添加到buildout
梅加蜂有几个依赖项。如果您将collective.megaphone egg添加到您的buildout中,这些依赖项将自动获取。然而,您需要确保您获得与您Plone版本兼容的依赖项版本。为此,您可能需要扩展以下已知良好的版本标记集
对于Plone 4
[buildout] extends = http://good-py.appspot.com/release/collective.megaphone/2.1?plone=4.0.4 [instance] ... eggs = ... collective.megaphone
对于Plone 3
[buildout] extends = http://good-py.appspot.com/release/collective.megaphone/2.1?zope=2.10.x [instance] ... eggs = ... collective.megaphone
当然,您可能需要调整指定的Plone版本,或者创建一组衍生版本标记,如果这些版本标记与该套件中推荐的某些其他插件冲突。
激活梅加蜂
在运行buildout并启动您的Zope实例后,通过Plone站点设置中的添加/删除产品配置程序安装collective.megaphone。
现在您应该可以通过添加项目菜单添加“梅加蜂操作”。向导将引导您完成其余步骤。
在尝试发送信件之前,请确保您已配置Plone站点电子邮件设置。
配置默认设置
在Plone站点设置中有一个名为“梅加蜂默认设置”的控制面板。这可以用来配置应用于所有新梅加蜂的默认设置。例如,这可以用来用另一个国家的省份列表替换默认的以美国为中心的“州”字段。
销售force导出
为了创建将联系信息保存到销售force的信件,您必须安装Products.salesforcepfgadapter和Products.salesforcebaseconnector egg。
CAPTCHA支持
为了包含CAPTCHA字段,您还必须安装collective.captcha或collective.recaptcha egg,并加载其ZCML。
如果您使用collective.recaptcha,您还必须通过/@@recaptcha-settings视图配置您的recaptcha密钥。
立法者查找
一个可选的插件,collective.megaphonecicerolookup,使得根据发送者的邮寄地址自动查找立法者的电子邮件地址,以确定梅加蜂的接收者成为可能,使用Azavea的商业Cicero API。
升级
如果您已经安装了梅加蜂的先前版本,请按上述方式更新您的buildout。(请先备份!)
然后启动您的Zope实例,转到Plone站点设置中的添加/删除产品配置程序,并找到升级梅加蜂的按钮。
梅加蜂还将自动将其依赖项plone.app.jquerytools和plone.app.z3cform更新到兼容版本。
错误跟踪器
定制梅加蜂
开发者可以通过多种方式扩展梅加蜂的功能。
基于PloneFormGen的自定义
由于梅加蜂是建立在PloneFormGen之上的扩展,因此可以使用扩展PloneFormGen的标准技术。特别是可以实现自定义字段和动作适配器(在表单提交时执行的动作)。
收件人来源
Megaphone 包含一个内置的收件人来源,允许管理员输入收件人的姓名和电子邮件地址。还可以实现其他方式来确定收件人的额外收件人来源。
要创建自定义收件人来源,必须注册两个组件
实现 collective.megaphone.interfaces.IRecipientSource 的命名实用工具
将 collective.megaphone.interfaces.IMegaphone 和 zope.publisher.interfaces.browser.IBrowserRequest 的多适配器到 collective.megaphone.interfaces.IRecipientSource,与实用工具同名
有关自定义收件人来源的示例,请参阅 collective.megaphonecicerolookup,它根据输入的地址查找用户的立法者。
变量提供者
Megaphone 允许管理员配置各种模板,这些模板可以使用变量替换。默认情况下,变量基于收件人信息和用户执行操作时输入的表单数据提供。也可以提供额外的变量。
要添加新的变量提供者,将 collective.megaphone.interfaces.IMegaphone 和 zope.publisher.interfaces.browser.IBrowserRequest 的命名适配器注册到 collective.megaphone.interfaces.IVariableProvider。适配器注册的名称是变量名称,适配器在调用时应返回变量值。
致谢
Megaphone最初由Groundwire(原名ONE/Northwest)开发,作为由Meyer纪念信托基金会和Surdna基金会资助的公民参与平台的一部分。
概念工作由Jon Stahl,Drew Bernard等人完成。
开发由David Glick和Jon Baldivieso完成。
还要感谢
Kees Hink
变更日志
2.1.5 (2011-10-25)
更新西班牙语翻译(感谢Manuel Gualda Caballero)。[davisagli]
添加一些缺失的消息ID。[davisagli]
修复默认控制面板中无法保存翻译字符串的bug。[davisagli]
修复签名者端口中非ASCII字符的显示。[davisagli]
2.1.4 (2011-10-20)
确保某些字段属性在存储时被编码。[davisagli]
修复标签字段的编辑。[davisagli]
修复防止在默认控制面板中保存表单字段的bug。[davisagli]
2.1.3 (2011-10-19)
添加西班牙语翻译(感谢Acento Web)。[davisagli]
添加本地化文件夹以进行翻译,并使更多字符串可翻译。[davisagli]
确保在加载现有表单设置时解码字段标题。这修复了http://plone.org/products/megaphone/issues/30。[davisagli]
默认使用Salesforce的“其他”地址字段来处理联系人。[yomatters]
在一般向导步骤中添加了描述字段。[yomatters]
添加了使用向导配置Salesforce联系人适配器的功能。[yomatters]
更新弹出表单,使其与plone.app.jquerytools 1.2b4正确关闭。[yomatters]
2.1.2 (2011-04-21)
在Salesforce.com向导步骤中添加了“Lead Source”设置。[davisagli]
2.1.1 (2011-04-08)
修复了在新的默认控制面板中编辑字符串字段的问题。[davisagli]
2.1 (2011-03-24)
在Salesforce.com向导步骤中添加了“Campaign Status”设置。[davisagli]
2.1b3(2011-03-22)
在网站设置中添加了一个控制面板,用于配置将用于新Megaphone的默认值。[davisagli]
修复了影响IE的javascript错误。[davisagli]
向信件渲染器添加了render_recipients_list辅助函数。[davisagli]
重构了字段向导步骤的UI。现在字段设置在覆盖中配置。[davisagli]
2.1b2(2010-11-16)
通过实现IVariableProvider适配器添加了提供额外模板变量的方法。[davisagli]
2.1b1(2010-10-14)
当向导完成时,触发AT ObjectInitializedEvent和ObjectEditedEvent。[davisagli]
更新了测试设置,使用了一层,以便Megaphone插件更容易扩展。[davisagli]
添加了一个升级步骤,用于删除不再需要的旧“可选收件人”字段。[davisagli]
重新设计了收件人向导步骤的UI。收件人设置现在在浮层中配置。[davisagli]
引入了可插拔的“收件人来源”概念。每个收件人来源都有其自己的设置,可以为Megaphone表单提供内容,并在表单提交时查询收件人。旧的收件人功能(带有“必需”和“可选”收件人)已被重构为“标准”收件人来源。[davisagli]
2.0 (2010-10-14)
当sig_portlet_min_count未设置时,渲染签名端插件。[khink]
从默认的感谢信息中删除了对“信件”的引用,使其对请愿书也适用。[davisagli]
将辅助函数移动到utils模块中。[davisagli]
只有当有签名显示时,在端插件中才显示“最新签名”文本。[jbaldivieso]
用“离线签名计数”代替“goose factor”。[jbaldivieso]
修复了Plone 3 -> Plone 4的升级步骤,使其仅在已安装Megaphone的站点上运行。[jbaldivieso]
2.0b1 (2010-08-19)
将主要电子邮件切换移动到收件人向导步骤,并将交付步骤重命名为salesforce,因为现在它只涵盖这一点。只有当安装了Salesforce支持时才显示。[davisagli]
添加了一个权限来控制谁可以查看签名。[davisagli]
在返回编辑现有Megaphone操作时,不要显示向导的Intro页面。[davisagli]
更新到新的collective.z3cform.wizard,包含各种修复。[davisagli]
在Plone 3中,使用plone.app.jquerytools>=1.1.1的overlay样式,而不是提供自己的。[davisagli]
包含savedata适配器不再是可选的。[davisagli]
删除了旧的签名者计数端插件,并替换为列出最近签名者的新端插件。[davisagli]
添加了一个配置端插件中签名者显示的向导步骤。[davisagli]
添加了请愿书作为新的操作类型。根据在Megaphone操作向导的第一页上选择信件还是请愿书,有不同的选项可用。请愿书还获得了一组修改后的默认表单字段。[davisagli]
将“操作信件”类型重命名为“Megaphone操作”。必须运行升级步骤来更新现有站点。[davisagli]
重构了测试设置。[davisagli]
从version.txt中删除重复的版本号[davisagli]
1.4 (2010-06-30)
修复了Plone 4 Sunburst主题中的表格样式[davisagli]
使用HTML5拖放重新实现字段排序,以避免Jquery UI依赖。[davisagli]
1.3 (2010-05-21)
添加“发送”按钮,可以立即发送信件而无需预览。[davisagli]
修复了当禁用JavaScript时预览弹出窗口回退的问题。[davisagli]
1.2 (2010-03-02)
修复了在初始创建后编辑表单时,感谢电子邮件的发送者没有正确加载的问题。[davisagli]
添加了禁用致活动家感谢电子邮件的选项。[davisagli]
修复了Plone 4的向导步骤列表样式[davisagli]
确保当按下Enter键提交向导步骤时,优先显示“下一步”按钮,而不是“上一步”。[davisagli]
确保模板变量列表不会遮挡上一页/下一页按钮。[davisagli]
增加表单字段向导步骤中默认文本字段的高度。[davisagli]
修复了1.1中的回归,其中文本字段会被转换为HTML,然后错误地转义[davisagli]
1.1 (2010-02-18)
确保加载collective.jqueryui的ZCML。[davisagli]
为Plone 4的PloneFormGen兼容版本添加了自定义导入处理程序,以设置Action Letter FTI上的add_view_expr。还添加了一个更新步骤,在从Plone 3升级到Plone 4时添加此功能。[davisagli]
为Plone 4中utranslate函数的变化提供了一种解决方法(或可能是我在之前误用它)[davisagli]
为Plone 4兼容版本中Zope接口的变化提供了一种解决方法[davisagli]
在Salesforce中创建潜在客户时,默认将潜在客户来源设置为“网站”。(需要salesforcepfgadpater >= 1.6b2)。[davisagli]
使用表单字段的htmlValue方法在渲染信件之前处理请求中的值。这使得设置将显示在布尔字段中的值成为可能,例如。[davisagli]
1.0 (2009-11-11)
不再人为地限制z3c.form < 2.0,因为这是一个部署决策。Plone 3用户可能需要将z3c.form锁定到版本1.9.0或添加额外的伪蛋,以避免引入新的zope.*包。[davisagli]
仅依赖于plone.app.jquerytools,而不是Products.pipbox。[davisagli]
解决了在重新访问向导时加载感谢页面文本的问题。[davisagli]
1.0rc1(2009-8-26)
添加了配置感谢页面消息或替代感谢页面URL的选项。[davisagli]
修复了查看已保存信件的板块链接。[davisagli]
在使用美元字符串替换之前解码请求变量,以避免在将字符串转换为插值时出现UnicodeDecodeError。[davisagli]
在将它们传递给z3c.form之前,从Archetypes解码UTF-8值,以避免在系统默认编码为ASCII时出现UnicodeDecodeError。[davisagli]
在确定是否更新邮件模板时,检查formgen_tool中的持久模板设置,而不是PFG的config.py中的默认值[davisagli]
修复了字段序列化大小的问题。[davisagli]
在最后发送步骤中使用CAPTCHA字段时,修复了操作适配器处理问题。[davisagli]
1.0a1(2009-06-25)
初始版本。
项目详情
collective.megaphone-2.1.5.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7212400795da14d8ed745d2b2a43498d021341a890cb7166c195107aac1d8f66 |
|
MD5 | 1db0d77b2d18f2997cfebafa31bbeb82 |
|
BLAKE2b-256 | 47f553d6898146e0934dd655e5e6947e1503b03c8a3b35d8de4f95c500d5d5fd |