Posted by Simon Goodchild at June 4th, 2012
Release code name: Jubilee
The main focus of this release is an upgrade to the events management options. There are several, so these release notes also act as a tutorial.
What can you now do with events plugin?
Let’s say you run a scuba diving club and you want to:
- list your holidays, and for each:
- provide more information on the holiday, the hotel and prices
- show a maximum number of places and places remaining
- show a link to accept payment
- manage a list of those people who have reserved a place
- keep track if they have sent payment
- send a confirmation email to those who have paid
- show a book button for those who haven’t booked, and a cancellation button for those that have
You can see that with all these options, this is something you may want to avoid your members having on their profile and limit event management to your site admins, or just give members a cut down version. This option is included below.
What can’t you do? Well, so you know, it doesn’t have payment gateways. You can put in your own code (HTML) for a payment button for something like PayPal so it’s easy for people to pay, and then when you receive payment, you can mark those who have paid.
Access via WordPress dashboard -> Symposium -> Events, the options available are as follows:
Global events list
Enter the ID’s of users that you want to include shown via the symposium-events shortcode. Leave blank for everyone. If you were running a club site for example, you may only want the events that you set up to show.
Non-admin event manager
With the new features, come some functionality that you may not want your users to have – like setting up payment buttons and confirmation emails. If you want users to be limited to just listing events and a button for more information (but nothing else), then uncheck this option.
Use WYSIWYG editor
It would be best to enable this for the more information and confirmation email (see below). However, some themes and other installed plugins are known to cause layout problems, so as a backup you can disable the TinyMCE editor.
Roles who get “My Events” on their profile menu
You may want to restrict the creation of events to certain roles, like editors or administrators – or particular roles you have set up in WordPress. Select those roles that you want to have My Events shown on their profile page.
Creating a new event
Creating an event is simple enough – click on the Create Event button via My Events on your profile page and you enter the title, location, description and dates/times. I’m going to use the above example of a Scuba Diving holiday in the following.
Once created, on your My Events page, you can click on the Edit icon to access the extra features, add the google map, and so on.
Managing your Event
This will show a full set of features, split by four tabs, initially looking like this:
The title of the box shows your site name (BigMacDev in my case) following by the unique event ID. Users who book on an event will have a booking reference like 1/12 showing that it was Event 1, reference 12. Each booking reference will be unique.
For now, I’m going to assume I have all the features, if I was running the cut down version, as set in the admin above, I would not have all these options, only the left hand text boxes.
Title, location and description
These are text fields (WYSIWYG editor is not allow here to keep your site look and feel). The location field is what is used to generate the google map, so don’t use the google map if your location is “my back yard”!
Dates and Times
The starting date/time and the end date/time. If you don’t set one or more of these, the details shown on the events page will reflect that.
Whether the event should be shown (you can always see your event on your profile page)
Display the google map, based on what you entered in the location field.
Enable booking places?
Do you want to have “tickets”, which people pay (or just take, without paying)? Most likely yes.
Enable if you want to show how many tickets are remaining.
Booking requires confirmation?
Depending on your event, you may want to confirm bookings, or automatically grant a booking. If you are expecting payment, it would be very sensible to require confirmation.
Send confirmation email?
If you have not set the above (requires confirmation) then users who book on an event will automatically receive a confirmation email. If you intend to confirm bookings, then their email is sent once you have confirmed their booking.
In total, how many places are available.
Max tickets per booking
How many tickets can one user book? For popular, or free (no payment required) events, you may want to limit bookings.
Price per booking
How much does one ticket cost?
HTML for payment
You can enter HTML to show a payment button, for PayPal, or just a hyperlink. The following is an example that displays a PayPal button for payment to a PayPal account.
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_xclick"> <input type="hidden" name="business" value="firstname.lastname@example.org"> <input type="hidden" name="item_name" value="##eventname##"> <input type="hidden" name="item_number" value="##refnumber##"> <input type="hidden" name="amount" value="##unitcost##"> <input type="hidden" name="quantity" value="##quantity##"> <input type="hidden" name="no_shipping" value="2"> <input type="hidden" name="no_note" value="1"> <input type="hidden" name="custom" value="##displayname## (##useremail##)"> <input type="hidden" name="currency_code" value="USD"> <input type="hidden" name="return" value="http://www.wpsymposium.com/thankyou"> <input type="hidden" name="cancel_return" value="http://www.wpsymposium.com/profile"> <input type="hidden" name="bn" value="WPS_Event_Tickets_US"> <input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but23.gif" name="submit" alt="Pay with PayPal"> <img alt="" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> </form>
You will see on line three, the PayPal account email address is set – you would need to put your own PayPal account email address there replacing “email@example.com”.
You will also need to set things like the currency_code, return, cancel_return and bn values. For a full list of PayPal variables, check out their list.
There are also some ##values##, which can be listed by clicking on the round blue info image on screen. They are:
|##refnumber##||Unique reference number (Event ID/Booking ID)|
|##eventname##||Name of the event|
|##userlogin##||The user’s login name|
|##useremail##||The user’s email address|
|##quantity##||How many tickets being purchased|
|##unitcost##||The cost per ticket (not total for all tickets)|
These ##values## will be replaced when the payment HTML is shown, and will be used if you want to use other payment processing websites.
You may want to keep it simple and just display a hyperlink to another webpage, or even a mailto: link – it’s very flexible.
With the above HTML payment code, the Buy Now button above is shown and the following is shown on PayPal when the button is clicked (along with how to pay).
So back to our holiday, the completed summary information for my event looks like this:
Clicking on the Update button saves all information on all tabs, but doesn’t close the dialog box so you can keep working.
More Information Tab
The more information tab allows you to put in further information, using the WYSWIYG editor if you’ve enabled it (via admin settings).
Before I forget, for event management, there is an additional button allowing you to use the editor full screen – much easier! It’s far right, in the top row of buttons.
Here you can put in information on prices, options, directions, agenda, links to further documents, downloads, whatever!
If more information is entered, on the events page a More Info button is shown which will display this information in a pop-up on screen.
So for my scuba diving holiday, I’ve entered information on the hotel, the courses available, and a nice image to further entice people, showing how nice scuba diving is.
A note on security
For security reasons, as it’s easy for users to enter nasty tags and codes (<script>, <iframe> and the like) not everything is allowed based on WordPress’s internal HTML cleanup routines. TinyMCE editor also does some clever stuff to keep the HTML safe. For more things though, you’ll not notice any restrictions – if it’s on the toolbar of the editor, then it’s okay to use. But don’t try entering <script> or <iframe> tags manually – it’s not allowed (for your site’s protection).
As an aside, if you paste a YouTube video URL like http://www.youtube.com/watch?v=y0Xw2Wqyja4 then the video will be shown in it’s place. It’s a compromise between not allowing users to enter <iframe> tags for security reasons, but the desire to include videos!
So my Scuba Diving holiday “More information” looks like this:
And if I scroll down, I get to see a YouTube video:
Confirmation Email Tab
If enabled (on the Summary tab), your users will receive a confirmation email when they book (if you are not confirming bookings) or when you confirm (if you are). You confirm bookings on the Attendees tab, this will be covered shortly.
The Confirmation email tab is similar to the More information tab, except you can put in some of those ##values## that are replaced with user specific information. They are shown on the tab, but for reference are:
|##displayname##||The user’s display name|
|##email##||Their email address|
|##refnumber##||Their reference number (Event ID/Booking ID)|
Because the confirmation email is specific to an event, the event name and other details can be entered directly into the content.
YouTube links are not converted into videos in the email, just the hyperlink is shown.
This is the tab within which you can manage all you bookings.
For each booking, you can see a set of information. Not all may be applicable, for example if you were not sending confirmation emails then this column will always be blank.
- Reference number (Event ID/Booking ID)
- User (their username), which is also a link to their profile page
- The date and time they booked
- The date and time a confirmation email was sent (the last one, if you have re-sent them a confirmation email)
- The number of tickets they purchased
- The date you confirmed payment
- And finally, a number of actions.
The actions are as follows:
- Send Mail: A link to send an email to their email address
- Re-send confirmation email: Send the confirmation email to them again, in case they need it, lost the original, etc.
- Remove attendee: This will delete the booking. If you have received payment from the user, you should arrange a refund if applicable.
- Confirm payment: This will set the payment confirmed date and time. It’s also a way of remembering who has and who hasn’t paid.
- Confirm attendee: Confirms their booking – if you are awaiting payment, wait until you’ve been paid before you confirm. If you are sending confirmation emails, that email is sent when you confirm a user’s booking. (If on the summary tab, you have set confirmation not required, the confirmation email is sent as soon as they book).
Note that when you confirm payment or a booking, the date and time will be shown next time you re-load the Event Management dialog.
Shown below, I have confirmed payment and the booking for the user “admin”.
I hope you have fun with the event management enhancements. I’m sure that more work will be done, and there may well be changes made as you report back on your experience. With so many themes, and other plugins out there that you may be using, layout (CSS) in particular may need tweaking.
So, try it out first, and let me know how you get on!