跳转到主要内容

Plone的注册表单实现

项目描述

注册表单

SignupSheet是一款附加产品,允许网站管理员为活动、研讨会、筹款活动和其他需要在线注册的事件创建自定义注册表单。每个SignupSheet通过ATSchemaEditorNG产品定义了包含的每个注册者对象所使用的字段。注册者对象是最终用户填写并提交的内容。工作流程将每个已提交的注册者置于私有状态,以便进行审查和批准。

SignupSheet还具有以下附加功能:

  • 注册者字段可以导出为CSV格式。

  • 可以设置等待名单和活动规模,将消息通过电子邮件发送给最终用户,告知他们是否处于待批准状态或等待名单中。

  • 注册表单视图指示SignupSheet是“已满”、“开放”还是将用户置于等待名单中。这是通过事件规模和等待名单设置计算的。

  • 将最终用户导向一个可定制的感谢页面。

该产品的关键动机是为网站管理员提供一种设置注册表单的方式,而不仅仅是将字段通过电子邮件发送到地址。字段的可配置性是必不可少的,因为许多团体对其活动收集的数据有特定的要求。

认证用户

如果您计划为认证用户提供订阅活动的方式,SignupSheet会尝试自动从用户数据中填写一些注册信息。

请注意,如果您保留所有默认字段(“”、“”和“电子邮件”),它们将自动填充,使用相同的字段从用户那里获取。

由于Plone通常使用单个“全名”信息,而SignupSheet将其拆分为名和姓,该过程尝试将您的全名拆分为两部分。

如果您的全名策略是按顺序保留姓和名,则可以通过修改产品ZMI属性表中的first_last_name_order属性来更改相同的顺序。

许可

SignupSheet在GNU通用公共许可证(版本2)下发布。有关详细信息,请参阅http://gnu.org

安装

  • 使用QuickInstaller按常规方式安装

  • 需要ATSchemaEditorNG 0.6或更高版本

  • 需要TemplateFields和TALESField

  • 已与Plone 3.3.5、Archetypes 1.6.15和ATSchemaEditorNG 0.6进行测试

致谢

  • 如果没有Martin Aspeli的Poi和RichDocument产品,本产品将无法实现。他们提供了有用的示例代码,特别是在工作流触发模式方面。

  • 此外,Roche Compaan的Upfront Contacts为CSV导出代码提供了支持。

  • 此外,感谢Simon Pamies在ATSchemaEditorNG方面的协助,以及Andreas Jung提供有用的代码改进。

  • Naro为Plone 3兼容性工作做出了贡献

  • Andres Jung将SignupSheet转换为egg格式

PloneGov

PloneGov倡议内部赞助了该产品。

已知问题及潜在改进

  • Signupsheet需要更多的解释性文本。模式编辑器已简化,但需要更好的解释性文本。

  • 恶意用户可能提前填满注册。订阅不再保存(并显示门户状态消息),但会发送确认电子邮件。

  • 在发布时,可用的最后一个ATSchemaEditorNG版本是0.6.0。使用此版本您将遇到一些注册表单验证问题(请参阅#26中的修复)

  • 如果您在使用 Varnish 或其他反向代理之后,可能会遇到隐私问题。请配置您的工作环境,不要缓存包含 thank_you_message 的 URL,或者在 signupsheet_properties 表单中启用 traverse_to_thankyou 标志。

作者

Aaron VanDerlip (avanderlip AT gmail dot com) 及他人

变更记录

0.6.1 (未发布)

  • 移除了重复产品在 portal_quickinstaller 中的初始化包 [keul]

  • 修复了当未使用队列大小时的一个关键错误,该错误阻止用户订阅 [keul]

0.6.0 (2011-10-25)

  • 在通知订阅者时增加了对 SMTP 服务器故障的容错性 [keul]

  • 修复了一个错误,防止匿名用户在日期信息使用时查看已关闭的注册表单(关闭 #51) [keul]

  • 现在默认注册者字段可以进行翻译(也提供了意大利语翻译) [keul]

  • 尝试自动填写认证用户的注册数据(关闭 #53) [keul]

  • 现在“编辑注册者表单”选项卡仅在用户具有适当的“ATSE: 管理模式”权限时才出现 [keul]

  • 与最新的 Plone 3(和 Plone 4.1)角色保持安全一致(关闭 #39) [keul]

  • 更新了工作流程:移除了一些无用的权限自定义,并与新一代 Plone 角色保持一致 [keul]

  • 现在通过新的 SignupSheet: View Registrants 保护查看和导出注册者的视图访问权限 [keul]

  • 当导出注册者且某些信息缺失时,不会失败,但将空值放在那里 [keul]

  • 一些更多的可翻译标签和名称 [keul]

  • 注册者配置为不可搜索且从导航中隐藏 [keul]

  • 添加了一个新选项(“显示剩余座位数”)以显示表单中的剩余座位数 [keul]

  • 内容现在实现了某些标记接口 [keul]

  • 恶意用户在注册已满时不再可能订阅 [keul]

0.5.3 (2011-09-01)

  • 发现如果属性表单尚未存在,则 0.5.2 版本无法安装 [keul]

0.5.2 (2011-05-06)

  • 添加了一个 ZPT omit-tag 以防止在不适当的地点显示 DIV [keul]

  • 如果 MailHost 配置不当,则客户端不会失败,但仅记录错误 [keul]

  • 添加了一个新的 signupsheet_properties,其中包含一个绕过 Varnish 缓存的标志,修复了一个可能导致显示旧的“感谢”页面的安全问题/隐私问题 [keul]

0.5.1 (2011-01-18)

  • 从内容中移除了“属性”选项卡,在 Plone 3+ 中不再使用 [keul]

  • 许多字段的默认值现在可翻译 [keul]

  • 修复了意大利语翻译 [keul]

  • 添加了对丑陋的“Thank_You”字段集的翻译 [keul]

0.5 (2010/09/31)

  • 最终发布

0.5b1 (2010/04/24)

  • 修复测试以与 ATSENG 0.6 兼容 [aaronv]

  • 将 ATSENG 安装到 setup_handler [aaronv]

  • 使用 ATSENG 0.6

  • 使用 ParentOrToolManagedSchema 以便在登录用户编辑注册者时绕过错误 [keul]

  • 重新应用了 0.4.2 版本中添加的修复,但某些修复不再可用 [keul]

  • 添加了 TinyMCE 的导入步骤 [keul]

  • 移除了所有可用的视图,除了基本视图 [keul]

  • view_registrants 模板中的确认图标损坏 [keul]

0.4.4 (2010/04/19)

  • setuphandler 仅在安装了本产品时运行 [mlundwall]

  • RegistrationDeadline 和 EarlyBirdDate 现在使用 toLocalizedTime 显示 [keul]

  • 订阅表单现在使用 POST 方法 [keul]

  • 对意大利语翻译进行了小的修复 [fdelia]

0.4.3 (2010/01/22)

  • 更新意大利语翻译 [fdelia]

  • 为 signupsheet_view 添加了符合 XHTML 的修复 [keul]

0.4.2.2 (2009/07/12)

0.4.2 (2009/04/14)

  • 将修改模式的权限更改为 ManagePortalContent(ManagePortal 太过于限制性) [keul]

0.4.1 (2009/03/39)

  • 修复了注册截止日期和早鸟日期上的匿名权限问题(aaronv)

  • 修复了测试(aaronv)

0.4.0 (2009/03/11)

  • 添加了额外的早鸟工作流程(signupsheet_extended_workflow)(ajung)

  • 添加了带有确认邮件和确认时间的额外注册者工作流程(signupsheet_registrant_extended_workflow)(ajung)

0.3.2 (2009/03/09)

  • 修复了依赖问题

0.3.1 (2009/03/09)

  • 修复了匿名注册者和元数据更新问题

  • 添加了 metadata.xml 以支持 GS 1.5

  • computeFullname 现在更健壮

  • 在 Plone 3.1.5 和 ATSchemaEditorNG 0.5.0 上进行了测试

0.3.0

  • 更新以使 Plone 3.0.6 兼容。

  • 添加了电子邮件和发布工作流程的测试

  • Radmin Novotny 完成了大部分 Plone 3 兼容工作

0.2.0 测试版

Andreas Jung 和 Radim Novotny 对此版本做出了重大贡献。

  • 添加了葡萄牙巴西翻译。感谢 Vitor Reis。

  • 添加了“查看注册者”,显示当前注册者状态,并允许确认和编辑注册者

  • 为模板添加了 i18n 支持

  • 添加了德语翻译

  • 更新测试以通过

  • 更新 i18n

  • 由于 thank_you_page 和 email_response 字段已从 TextField 更改为 ZPTField,因此需要手动运行 Extensions/migrate 方法 fixZPTFields。该方法将读取这两个字段的旧值并将相同值存储在新格式中。警告:如果您不运行迁移,则在访问旧的 SignupSheet 对象时将获得 AttributeError: read

  • 可以生成 HTML 邮件

  • 工作流脚本 sendInitialEmail 在转换之前被调用 之前,因为匿名用户只能在“新”状态下访问注册者对象。如果脚本在转换之后被调用,则 Registrant.sendNotificationMail 方法将无法访问注册者对象。由于需要从 ZPTField 渲染模板,因此需要访问。

  • 删除了 signupsheet_email_* 模板

  • 引入了 TALESField 和 TemplateFields 依赖。SignupSheet 使用这两个字段来编写 thank_you_page、确认和通知电子邮件(主题和消息)的脚本。语法在字段帮助文本中描述

    context = SignupSheet
    options/registrant = current Registrant object
  • 为 signupsheet 模式添加了 notifyEmail 字段。它允许将有关新注册者的通知发送到某些电子邮件地址。

  • 从 portal_css 中删除了 SignupSheet.css 的注册

  • 现在可以在电子邮件模板中使用 options/computed_text 选项

  • 如果可用,请使用 getSiteEncoding

  • 对 signupsheet.py - schema 进行了额外的 i18n 工作

  • 改进了 i18n 目录,并添加了捷克语翻译

  • 安装代码中不再依赖于 Kupu

  • 用带有 i18n 的 ZPT 替换了 dtml 模板,并简化了 signupsheet_view 模板

  • 为 SignupSheet 使用 base_view,并简化了 signupsheet_view 模板

0.1.1

  • 修复了导致编辑现有注册者对象失败的错误

  • 添加了对 ATSENG 的导入,以便测试运行正常

  • 修复了 registrantFieldNames 的不正确安全声明

0.1

  • 安装了 ATSENG 依赖项

  • 修复了计算状态时的错误,并针对该错误添加了测试

  • 经理可以覆盖初始发布状态

  • 注册者编辑页面显示 SignupSheet 的标题

  • 修复了使感谢信息正确渲染 HTML 的错误

  • 修复了电子邮件响应,使其仅包含文本

0.1-Beta-2

  • 跟踪更改

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

Products.SignupSheet-0.6.1.tar.gz (50.3 kB 查看哈希值)

上传时间

支持

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