Using Plone Signup Sheet to Manage Event Registration

by Aaron VanDerlip last modified Mar 30, 2009 06:03 PM

A basic how to for setting up a Signup Sheet

SignupSheet is an add-on product for Plone that allows website managers to create custom registration forms for events, workshops, fundraisers and other events that require online registration. This user guide will provide step-by-step instructions for creating a SignupSheet, adding fields to a registration form, managing registrations and exporting the registration data from the web to common spreadsheet or database applications. This documentation is written for version 0.1 and assumes that SignupSheet and any other required products are already installed on your Plone site. More information about SignupSheet for Plone and the latest release of the product (and this documentation) can be found at http://plone.org/products/signupsheet.

Creating a SignupSheet

1. To create a SignupSheet, first select the signup sheet content item from the "add to folder" drop-down menu as shown below.

Select "signup sheet" from the "add to folder" menu

2. The first screen you will see is the Edit Signup Sheet screen. The Title and Body Text fields on this screen are required. On this screen you can enter the Title, Description, Number of registrants, Size of wait list and Body Text.  If registration is unlimited, set the number to zero (0). If there is no waiting list available, leave this number set to zero (0).



3. In this example we are using the Kupu editor to create the Body Text for the Signup Sheet. The Body Text field is where you would enter all relevant information about the event (unlike the standard Plone Event content type which has distinct fields for information such as start time, stop time, event location, etc.). When you have finished filling out the Body Text and all other fields on the Edit Signup Sheet screen, click the Next button at the bottom of the screen.

4. Clicking the Next button will take you to a new screen. On this screen you can edit the information that will appear on the Thank You page that the individual signing up will see after successfully completing the registration form, as well as in the email that gets automatically sent to the registrant. (NOTE: you can edit the Thank You text for both the Thank You screen and the Thank You email as Plain Text or HTML, or by uploading a file. The "edit with kupu" link will edit the default content, not the thank_you content, so you shouldn't use the "edit with kupu" link.) If you make no changes to the Thank You text, the default text displayed in this screen will be used.

The Thank You email gets sent to the individual signing up after they have successfully completed the registration form. This email will also indicate to that individual whether they are registered or on the waiting list (if a registration number and/or waiting list number were set).

When you have filled out the thank_you fields, click the Save button to commit your edits, or click the Previous button to make further changes to the Signup Sheet information.

5. As with most other Plone content items, you can set the Effective Date and Expiration Date for this Signup Sheet item. If you want to set these dates, click the Properties tab to edit any of the property fields. Near the bottom of that screen you can set the Effective and Expiration dates. These dates control when the Signup Sheet you are creating will be visible to the public on your website. When you have modified the Properties of the Signup Sheet item, click Save at the bottom of the Properties screen. If you leave these fields blank, the item will be available immediately and will not expire until you Close the Signup Sheet (see Step 1 of Signing Up for an Event below).

Modifying the Registration Form

1. Now that the main Signup Sheet content and Thank You page and email are created, you will want to modify the Registration Form so that it requests the appropriate information for your event. By default, the Registration Form contains three fields: first_name, last_name and email. You may edit the attributes of these fields but you should not delete them, they are necessary to contruct the email message that is sent to the registrant.

Click on the "edit registrant form" tab to enter the form editor.

The following screen will contain a list of fields currently defined for the registration form, as well as a "maintenance" tool (more information on the maintenance tool is available below).

To create a new field, enter the field name into the empty field box next to the green plus sign. Field names cannot contain spaces--the tool will respond with an error message if you attempt to create a field name with a space. The field label, however, can contain spaces, as will be illustrated in the following step. Enter the field name and click the green plus sign to create the new field. To edit an existing field, click on the field name (such as "first_name"). To delete the field, click on the red X to the left of each field name. To move a field up or down in the order it will appear on the screen, click the up or down triangles to the right of each field.

The maintenance tool is used to update existing registration records with any changes made to the registration fields after those registrations were submitted. For example, you might decide to add an additional question to the registration form. Some records (those created before that modification) will not contain that question, while all new registration records will. Clicking the "Update all fields" maintenance tool will add that (blank) field to older registration records, allowing you to fill in that information if desired.

2. Once you have created a new field (or clicked on an existing field to modify its properties), a field definition box will appear on the right. This is where you can define or modify the properties of the field.

The field definition box allows you to modify what Type of field the field is (is it a StringField, a very open field type that can contain essentially any chacters or punctuation, an IntegerField, basically containing numeric values, a TextField, containing only Plain or HTML text, a DateTimeField, or a BooleanField, basically a "true/false" field).

The Widget drop-down menu allows you to more tightly define the type of data the registrant is entering. Commonly used widget types include String (allowing the registrant to enter any type of characters or punctuation), a TextArea (a larger field type allow for Plain or HTML text), a Radio field (allowing registrants to select one radio button for choices such as yes/no or beginner/intermediate/advanced), a Select field (creating a drop-down menu of choices, only one of which can be selected), a Calendar field (allowing the registrant to enter date/time data), a Boolean field (essentially a yes/no choice), or a MultiSelect field (allowing the registrant to select more than one of the available options).

The Widget settings will change depending on the type of field defined. For some, such as Radio, Select and MultiSelect, the widget settings include a Vocabulary field where you can define the available choices. The Label field modifies the field Label that will appear on the registration form ("First Name" for example, instead of "first_name"). The Description field allows you to include more information to the registrant about the field (field Label could be "Newsletter", for example, and the Description could be "Would you like to sign up for our newsletter?").

The Default field allows you to enter a default value for the field that will be saved with the registration form if the field is left blank.

The Size field will change the width of the field on the screen (if the field has width, like a String, TextArea, etc.), but will not influence the maximum number of characters that can be entered into a field.

The Validators field can be used to enforce the format or value entered into the field (to make sure that a person is really entering a number into a field asking for a number, for example). (NOTE: this field is not well documented in this tool and is meant primarily for individuals comfortable with database programming.)

The Multivalued field should be checked if the type of data being collected by the field actually allows for multiple responses (such as a MultiSelect field).

The Required field should be checked if this field must be field out by the registrant. This does not control what content is entered, only that the field has some content when being submitted. If the registrant attempts to submit the registration form with a required field left blank, the resulting screen will identify the field requiring data so it can be entered and resubmitted.

The Field Visibility options control whether a field is visible to the registrant. Visible (Edit), if unchecked, will hide fields that request user input (this would be useful if you wanted to use a Default value to enter a value in a field that will be included in the record, but not allow the user to see or modify that value).

Visible (View), if unchecked, will hide fields from view if the record were being viewed after it were submitted. Since the Signup Sheet does not allows viewing/editing of a submitted record by the registrant, Visible (View) is not a useful feature of the Signup Sheet as it presently operates unless elaborate permissions were built around user access to records. Leave Visible (View) checked unless you have a clear reason for doing so.

Once all field definitions for the selected field have been made, you can click the "save changes" button to commit the changes. You can click on other fields in the fields box until all fields are entered.

Signing Up for an Event

1. Once the Signup Sheet has been created and the registration form has been modified, the event is ready for individuals to sign up! By default, the Signup Sheet is presently set to be "open for submissions", but you can also keep the Signup Sheet closed until you are ready to accept registrations. You can toggle the state (open or closed) of the Signup Sheet from the "state" drop-down menu at the far-right of the screen:

2. When your Signup Sheet is ready, public users will be able to click on a "sign up" button at the bottom of the item. If the event is already at maximum capacity but there is a waiting list available, the button will read "sign up for waiting list". If the registration list is full and the waiting list is set to zero (0) or is full, the page will include the message "Registration is full".

3. Clicking on the "sign up" button (or "sign up for waiting list") will allow the registrant to enter registration information and submit that information. Small red squares next to field labels indicate whether a field is required or not. Clicking "save" will submit the registration information, take the registrant to the Thank You page, and trigger the email to the registrant thanking them as well.

.

Managing Registrants

Once individuals are registered, you can modify their registration information, confirm their registration, move them off the waiting list or export the registration data for use in the spreadsheet or database program of your choice.

1. To see a list of all registrants, click on the "contents" tab while viewing or editing the Signup Sheet. A list of all registrants will appear. The list will also show their state (whether confirmed or unconfirmed). By default, all registrants are unconfirmed until you change their state to confirmed.

2. By viewing the individual registrant, you can confirm their attendance at your event by changing their state from unconfirmed to confirmed. Make this change by clicking on the "state" tab at the far right of the screen and selecting "confirm".

You can also confirm multiple registrants at once from the Contents screen (shown above in step 1), putting checks in the boxes to the left of the registrants names and clicking on the "change state" button. At the bottom of the screen that next appears, you can change the state to confirm:

3. By editing an individual registrant, you can change their state from Waiting List to Registered.

4. To export the registration data, click on the "export data" tab.

Select the fields you want to export. The ID and Title fields are default fields that do not necessarily need to be exported. The file will be exported into a CSV (Comma Separated Value) file. Click on the "download" button to export the data.

If you have an application on your computer that knows how to handle CSV files (such as Microsoft Excel, Open Office, etc.) you will likely be given the option to open it in that application. Otherwise you can save the file to a location on your computer to open/import into your desired application.

 

Signup Sheet--Future Enhancements

Signup Sheet was developed by Aaron VanDerlip with the support of netCorps (http://www.netcorps.org) and our clients and partners. 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 Rochv© Compaan for the CSV export code. Also thanks to Simon Pamies for assisting with ATSchemaEditorNG.

If you would like to recommend future enhancements or participate in the development of this product, please contact us at http://www.netcorps.org.

 This documentation is licensed under a Creative Commons License.