跳转到主要内容

从您的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更新到兼容版本。

错误跟踪器

请在http://plone.org/products/megaphone/issues报告问题

定制梅加蜂

开发者可以通过多种方式扩展梅加蜂的功能。

基于PloneFormGen的自定义

由于梅加蜂是建立在PloneFormGen之上的扩展,因此可以使用扩展PloneFormGen的标准技术。特别是可以实现自定义字段和动作适配器(在表单提交时执行的动作)。

收件人来源

Megaphone 包含一个内置的收件人来源,允许管理员输入收件人的姓名和电子邮件地址。还可以实现其他方式来确定收件人的额外收件人来源。

要创建自定义收件人来源,必须注册两个组件

  • 实现 collective.megaphone.interfaces.IRecipientSource 的命名实用工具

  • collective.megaphone.interfaces.IMegaphonezope.publisher.interfaces.browser.IBrowserRequest 的多适配器到 collective.megaphone.interfaces.IRecipientSource,与实用工具同名

有关自定义收件人来源的示例,请参阅 collective.megaphonecicerolookup,它根据输入的地址查找用户的立法者。

变量提供者

Megaphone 允许管理员配置各种模板,这些模板可以使用变量替换。默认情况下,变量基于收件人信息和用户执行操作时输入的表单数据提供。也可以提供额外的变量。

要添加新的变量提供者,将 collective.megaphone.interfaces.IMegaphonezope.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 (135.6 kB 查看哈希

上传时间

支持

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