To-Do List for Improvements

These are mostly things I got as requests from other people who have tried RSVPMaker and are looking for some extra features. Let me know if these are on your list, or if you see other areas for improvement, so I will know what to prioritize.

  • Ability to set both a start date and a deadline for accepting RSVPs. Currently, I only provide a start date.
  • When soliciting signups for specific timeslots (for example, volunteers at an event), allow variable lengths for the timeslots (currently fixed at one hour).
  • For multi-day events with RSVPs, the option of letting people sign up for one or more days but not necessarily all. So for a 3-day event, we might provide checkbox for those who only want to sign up for two days out of three.
  • Some system for approving RSVPs, where there is some criteria for acceptance. I got this request a few weeks ago but am unsure how it should work, so not giving it a high priority.
  • A way to specify different RSVP forms for different event types. Might offer this as a set of cookbook guidelines for people who want to do special customizations, rather than as a core part of the plugin.

The trick with addressing some of these requests will be doing so without cluttering things up too much for those whose needs are more basic.

I’m planning to move some of the more complicated options that only apply in special cases to a separate section of the control panel for setting RSVP parameters.

The event type category I provide isn’t really being used for anything now. I’m thinking that the shortcodes for displaying listings should have a way of designating that you only want to list the events in the featured category or some other category.

Also want to revise the recurring event editor to let you specify how far ahead you want to project the dates for the events you are setting up.

How to Add Events with RSVPMaker

This is a brief illustrated tutorial on the RSVPMaker event editor and the primary options it provides.

Here’s how you set up a basic event, with just a headline, event description and date and time set.

A basic event - headline, description, date and time

And here’s what it gets you:

A basic event

Here, we’re specifying both a start time and a duration, so that the system will display both a start time and an end time.

Setting the duration
Event showing end time

You can also set up a multi-day event with a common headline and description for a weekend camping trip or week-long conference.

Setting up a multi-day event. Setting it to hide the display of the time for these all-day events.
Multi-day event

If you want to collect RSVPs, you need to check the Collect RSVPs checkbox and specify an email address for whoever needs to receive notifications when someone completes the form. You can also view a report of everyone who has RSVP’ed.

There are also options you can use to:

  • Set a deadline for RSVPs (leave this blank otherwise)
  • Set a maximum number of participants (leave it at zero for no limit)
  • Prompt users to sign up for one-hour timeslots, an option intended for use staffing volunteer events. A future release may allow you to set the time interval for the volunteer timeslots, but right now it’s fixed at one hour.
screenshot
Setting RSVP Parameters

If you view an event listing, you will now see an RSVP Now button at the end of the listing. You can also send out email invitations that include this button to prompt a response (See How to Post and Email an Event, which explains the related ChimpBlast plugin for use with MailChimp email broadcast accounts).

Event listings include an RSVP Now! Button

Click the button or the headline, and you’ll be taken to a view of the single event with the RSVP Form displayed.

screenshot
Clicking button or other link to single event display brings up the RSVP Form

The RSVP editor will also display options for setting prices for online payments if you have PayPal enabled. See How to Set Up PayPal with RSVPMaker for details.

Utility for Posting Recurring Events

I just published RSVPMaker version 0.7.5, which updates the utility for adding a series of recurring events. This includes the ability for software to calculate the dates based on a schedule like “Second Tuesday of the month.”

The idea is that you can create a basic event listing for several months into the future, with boilerplate details on your meeting location and other common parameters such as whether an RSVP will be required. You can then go back and edit or update those listings as needed.

This alternate editor does not include the rich text editor you get when you edit a single post, but you can include your own HTML in the description body. The RSVP options at the bottom of the screen are the same ones displayed on the main event editor screen.

screenshot
Recurring Event Editor

If I make use of the ability to specify a schedule such as “Second Tuesday,” I get a series of dates loaded into the editor. I change the dates as necessary (for example, to account for schedule changes around holidays), enter my details, and submit.

Screenshot
Fetching a calculated series of dates

The results:

screenshot
Sample Recurring Event

I also provide a Multiple Events editor, which is even more basic — just a quick way of editing a bunch of events at once. Again, you can always go back and enhance the listings as needed.

Improvements to RSVP Report

I’ve upgraded the RSVP Report to be a little neater, include a function for printing reports, and add an option for deleting entries (including spam entries or test entries).

RSVP Report, showing the listing of upcoming events and how many RSVPs for each:

Listing of responses for a specific event:

Note the new “Format for Printing” link, which pulls up a version of this report that opens in a new window with no links or WordPress branding / navigation showing.

Clicking the delete link under a name brings up a confirmation screen. If there were guests associated with the entry, you’ll be asked if you want to delete them, too.

If you want to create fancier reports, you can do so by overriding the rsvp_report function (See: Changing the RSVP Form, Other Customizations)

Changing the RSVP Form, Other Customizations

Note: RSVPMaker 2.5 makes more advanced customization of the RSVP form available from within the administration console, which may eliminate the need for some code-level customization.

RSVPMaker includes a mechanism for allowing you to add custom functions or override the some of the default functions included with the plugin. Specifically, you can override any of the functions defined in rsvpmaker-plugabble.php. You do this by adding your own rsvpmaker-custom.php file to the plugins directory (the directory above the rsvpmaker folder). My distribution includes a sample rsvpmaker-custom.php file but it will not be activated until you move it to the new location.

Essentially, this lets you plug in your own functions within my plugin. The idea is to provide some freedom to customize, without losing the benefit of upgrades to the core rsvpmaker code.

Modifying the event_content function

More extensive customizations are possible by overriding the event_content function, although this is a longer, more complex function. If you open the rsvpmaker-plugabble.php file, you will see the functions are wrapped with if(!function_exists(‘function_name’) ).

If you copy the function definition for event_content into your custom.php file, you will be able to modify the function as necessary for your purposes.

Creating an Event Template

When a single event is displayed, the standard single post template may tend to cause confusion because it juxtaposes the posting date with the event date. This is particularly a concern for post templates that feature the publication date prominently at the top of the post.

You can avoid this problem by adding a single-rsvpmaker.php file to your theme. WordPress will load this instead of the single.php template for an event post type.

A sample single-rsvpmaker.php file for the Twentyten theme is included with the RSVPMaker download, but you must copy it from the plugin folder to the theme folder to get it to take effect. Note that this file may not work with themes other than Twentyten without modification.

Most themes include a single.php file that you can modify to remove (or de-emphasize) the code that outputs the post publication date. I also recommend removing the code that outputs the comments template because people tend to be confused by having two forms on the page (the RSVP form and the comment form).

Updated 12/29/2010 to reflect change in file naming (single-rsvpmaker.php rather than single-event.php).

Translators Wanted

I’m planning to introduce support for translation in the next update. So far, I’ve got interest in French and Danish. I’m a mono-linguistic American, so my contribution will be limited to tagging words and phrases for translation and looking for collaborators who can do the actual translating.

The process is outlined at http://codex.wordpress.org/I18n_for_WordPress_Developers

Update 12/29/2010: I’ve finished flagging most of the elements in the user interface that I thought might need to be translated and have added them to the file rsvp.pot in the plugins/rsvpmaker/translations subdirectory of the latest release. This is the “catalog” file that you load into a tool such as POEdit to translate words and phrases such as “RSVP Now!” into whatever makes more sense in a given language.

Send me your translations to be included with a future release, and I will be happy to credit your contribution.

Some Users Reporting Page Not Found Errors

A few users who have tried the RSVPMaker plugin report problems with getting 404 page not found errors when they try to follow a link to one of these entries. Let me know if you experience this issue, as I’m trying to track down the cause. It seems to work fine for most people, but I may be running into some kind of clash with other plugins that manipulate the WP rewrite rules object.

One website manager I’ve been working with has it functioning correctly on one site she manages, but not another. Very puzzling.

Update: 12/29/2010: I think I’ve now resolved this issue by changing some of the code that sets up the custom post type and sets the rewrite rules.

How to Post and Email an Event

The RSVPMaker and ChimpBlast plugins work together to let you send event invitations through the MailChimp broadcast email service.

This tutorial uses the system as installed on the Economic Forum of Palm Beach County website as an example. Using the RSVPMaker options page, I’ve configured things so we always ask for an RSVP response by default and a block of default text with boilerplate on the standard meeting location and payment details is loaded into the editor when I add a new event.

I then add a headline and details about the specific event, set the date and time and publish my event.

Creating an Event

After publishing my event, I switch to the Eblasts menu and click Add New. I get a blank form, but at the bottom of the form you will see a list of links to upcoming events. Click the link to load the event into the editor.

EBlast Editor

Here, you see the formatted text of the event has been loaded into the editor. Add a title (which will serve as the subject line of the email). You can add also add an additional message introducing the event or encouraging people to RSVP online.

Load Event into Eblast Editor

When you click the publish button, you will get a prompt to “View Post” just as you would for a regular blog post. In this case, “View Post” will take you to a preview of the message in the email template.

"Publish" the Eblast

At the top of the email preview screen, you will see options that allow you to send yourself a preview of the message (good for checking that it shows up correctly in an email client) or send it out live.

Preview the Email

Here is what this message looks like in GMail.

Send a Test

When the Recipient clicks on RSVP Now, he or she will be taken to the event page on your website. If the recipient has registered for events before, using the same email address, RSVPMaker will try to look up contact details (such as phone number) rather than making the user enter them again.

RSVP Form

Feature Requests So Far

Update: I wound up publishing a new version that addresses most of these requests sooner than planned, after I found a few other errors that needed to be corrected.

I expect to publish an update to the RSVPMaker Plugin in about a week. Feedback has been good overall. People who have tried other event management plugins tell me mine seems more flexible. I had tried some of the others and they were never quite what I was looking for, or not close enough to convince me to stop developing my own.

Here are a few improvements people have asked for, none of which looks too difficult:

  • A configuration setting choice between AM/PM times, as used in the U.S., and 24-hour time, more common in the rest of the world.
  • Ability to set the maximum number of participants allowed for each event.
  • A way to set the maximum number of events to be displayed in the headline list or sidebar widget.
  • Better documentation of the shortcodes available for use.

I’ve already done some of this, but probably need another week or so to pull it all together. Let me know if there are other things you would like to see.