Skip to main content

A signup sheet implementation for Plone

Project description

SignupSheet

SignupSheet is an add-on product that allows site managers to create custom registration forms for events, workshops, fundraisers and other events that require online registration. Each SignupSheet defines the fields that are used for each Registrant object they contain, through the ATSchemaEditorNG product. The Registrant object is what the end user fills out and submits. The workflow places each submitted Registrant in a private state once it is submitted so that it can be reviewed and approved.

The SignupSheet has these additional features:

  • Registrant fields can be exported to CSV

  • A waiting list and event size can be set, end users are emailed a message stating whether they are pending approval or on the waiting list.

  • The signup sheet view indicates whether the SignupSheet is ‘full’, ‘open’ or whether user will be put on a waiting list. This is calculated using the event size and waiting list settings.

  • End user is directed to a customizable thank you page.

The key motivation behind this product is to provides a way for site managers to setup registration forms that do more than email the fields to an address. Having the fields be configurable is essential, since many groups have specific requirements for the data they are collecting for their events.

License

SignupSheet is released under the GNU General Public Licence, version 2. Please see http://gnu.org for more details.

Installation

  • Install in the usual way, using the QuickInstaller

  • Requires ATSchemaEditorNG 0.6 or greater

  • Requires TemplateFields and TALESField

  • Tested with Plone 3.3.5 and Archetypes 1.6.15 and ATSchemaEditorNG 0.6

Acknowlegements

  • This product would not be possible without the Poi and RichDocument products by Martin Aspeli. They provided useful example code, specifically around the workflow trigger pattern.

  • In addition Upfront Contacts by Roche Compaan for the CSV export code.

  • In addition thanks to Simon Pamies for assisting me with ATSchemaEditorNG, and Andreas Jung for providing useful code improvements.

  • Naro for the Plone 3 compatibility work

  • Andres Jung for eggifying SignupSheet

  • Camera di Commercio di Ferrara sponsored some i18n fixes inside the PloneGov initiative

Known Issues and Potential Improvements

  • Signupsheet needs more explanatory text. Schema editor has been simplified but needs better explanatory text.

  • It is possible to prematurely fill up registration by malicious user.

  • At release time, the last ATSchemaEditorNG available version was the 0.6.0. Using this version you will have some problems with signup sheet validation (see ticket #26 for the fix)

  • If you are using this behind Varnish or other reverse-proxy, you can experience privacy problems. Please configure you environment to not cache URL with thank_you_message, or enable the traverse_to_thankyou flag in the signupsheet_properties sheet.

Authors

Aaron VanDerlip (avanderlip AT gmail dot com) and others

CHANGES

0.5.2 (2011-05-06)

  • added a ZPT omit-tag to prevent the display of a DIV in improper places [keul]

  • do not fail client side if MailHost is bad configured, but only log the error [keul]

  • added a new signupsheet_properties with a flag for bypass Varnish cache, fixing a bad security/privacy problem, that can display and old “Thank you” messa page [keul]

0.5.1 (2011-01-18)

  • removed “Properties” tab from contents, not more used on Plone 3+ [keul]

  • default values for many fields are now translable [keul]

  • fix to italian translations [keul]

  • added translations for the ugly “Thank_You” fieldset [keul]

0.5 (2010/09/31)

  • final release

0.5b1 (2010/04/24)

  • fix tests to be compatible with ATSENG 0.6 [aaronv]

  • added install of ATSENG to setup_handler [aaronv]

  • uses ATSENG 0.6

  • use ParentOrToolManagedSchema for registrant to work around bug when logged-in user edits Registrants

  • re-applyed the fix added in version 0.4.2 and someway no more available [keul]

  • added import step for TinyMCE [keul]

  • removed all available views but Base View [keul]

  • confirm icon in view_registrants template was broken [keul]

0.4.4 (2010/04/19)

  • setuphandler is only run when own product is installed. [mlundwall]

  • RegistrationDeadline and EarlyBirdDate now displayed using toLocalizedTime [keul]

  • the subscription form now use the POST method [keul]

  • minor fixes to italian translation [fdelia]

0.4.3 (2010/01/22)

  • update Italian translations (fdelia)

  • added fix for XHTML compliance for signupsheet_view

0.4.2.2 (2009/07/12)

0.4.2 (2009/04/14)

  • changed permission for using modifying the schema to ManagePortalContent (ManagePortal is too restrictive)

0.4.1 (2009/03/39)

  • fixed bug for anon permissions on registrationDeadline and earlyBirdDate (aaronv)

  • fixed tests (aaronv)

0.4.0 (2009/03/11)

  • added additional early-bird workflow (signupsheet_extended_workflow) (ajung)

  • added additional registrant workflow with confirmation email up confirmation time instead of subscription time (signupsheet_registrant_extended_workflow) (ajung)

0.3.2 (2009/03/09)

  • fixed dependencies

0.3.1 (2009/03/09)

  • fixed issue with Anon registrant and metadata updating

  • added metadata.xml for GS 1.5 support

  • computeFullname now more robust

  • tested with Plone 3.1.5 and ATSchemaEditorNG 0.5.0

0.3.0

  • updates to make Plone 3.0.6 compatible.

  • added tests for email and posting workflow

  • bulk of Plone 3 compatibility work done by Radmin Novotny

0.2.0 Beta

Andreas Jung and Radim Novotny contributed significantly to this release.

  • added Portuguese Brasilian translation. Thanks Vitor Reis.

  • added ‘view registrants’ that displays current registrants status and allows for confirming and editing registrants

  • added i18n support for templates

  • added German translation

  • updated tests to pass

  • updated i18n

  • Because thank_you_page and email_response fields were changed from TextField to ZPTField it is necessary to manually run migration code from Extensions/migrate method fixZPTFields. This method will read old values from these two fields and store the same value in new format. WARNING: if you don’t run migration you will get AttributeError: read when accessing old SignupSheet objects

  • It is possible to generate HTML emails

  • workflow script sendInitialEmail is called before the transition, because anonymous can access registrant object only in ‘new’ state. If script will be called after transition, Registrant.sendNotificationMail method won’t have access to registrant object. Access is required due to rendering templates from ZPTField.

  • removed signupsheet_email_* templates

  • Introduced TALESField and TemplateFields dependecy. SignupSheet uses these two fields for scripting thank_you_page, confirmation and notification email (subject and message). Syntax is described in field help text:

    context = SignupSheet
    options/registrant = current Registrant object
  • added notifyEmail field to signupsheet schema. It allows to send notification about new registrant to some email address.

  • removed registration of SignupSheet.css from portal_css

  • it is possible to use options/computed_text in email template now

  • use getSiteEncoding if available

  • additional i18n work (signupsheet.py - schema)

  • improved i18n catalogs, added Czech translation

  • do not depend on Kupu in install code

  • replaced dtml templates with ZPT with i18n

  • use base_view for SignupSheet and simplified signupsheet_view template

0.1.1

  • fixed bug that caused editing existing Registrant objects to fail

  • added import for ATSENG so test run properly

  • fixed incorrect security declaration for registrantFieldNames

0.1

  • Installs ATSENG dependency

  • Fixed bug for computing status, added tests against bug

  • Fixed manager can override initial post state

  • Registrant edit page displays title of SignupSheet

  • Fixed Thank you message renders proper HTML

  • Fixed email response so that it is text only

0.1-Beta-2

  • tracking changes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Products.SignupSheet-0.5.2.tar.gz (46.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page