The three components of the WordPress for Toastmasters software are now available on Github for the benefit of web developers and designers who would like to contribute code and ideas for improvement.
- RSVPMaker Events and Registration Plugin for WordPress
- RSVPMaker for Toastmasters
- Lectern – WordPress theme designed to support Toastmasters branding
The development of this software has been largely a one-man show to date, but having more eyes on the code will force me to clean up some of my own sloppy habits and bring more ideas into the process. I am new to doing collaboration through Github, but it is well known among open source developers. Even if you do not know how to fix or improve the code, you can post feature requests and ideas on the issues tab within one of the repositories.
Notes for Developers
Note that RSVPMaker is used for other purposes outside of Toastmasters for all sorts of scheduling and event registration tasks. Toastmasters-specific functionality needs to be packed primarily into RSVPMaker for Toastmasters. However, sometimes it’s necessary to retool the RSVPMaker code to make it more flexible, so we can do what we need to do in a Toastmasters context. Ideally, those improvements also make it more flexible and capable for other purposes. Read more about RSVPMaker at rsvpmaker.com.
RSVPMaker defines a custom post type for events, in addition to the native WordPress page and post types. RSVPMaker posts have additional metadata associated with them such as event date and whether RSVPs (registrations) are being collected, what information should be collected from each attendee, whether a price is to be charged by PayPal or Stripe. Those options are displayed in the editor and dictate the display and interactivity of the event post.
RSVPMaker also allows you to establish templates that can be used to generate multiple events with the same characteristics, such as multiple Toastmasters meetings with the same agenda.
For the member signup form and printable agenda, RSVPMaker for Toastmasters uses WordPress shortcodes, which are placeholders for interactive features. When WordPress displays a post, it checks for any shortcodes embedded in the content and invokes the functions they are link to.
[toastmaster role=”Speaker” count=”3″ agenda_note=”” time_allowed=”28″ padding_time=”1″ indent=”0″]
This is displayed differently in different contexts.
- Anonymous user sees: names of people who have signed up to speak. Prompt at top of agenda inviting members to log in.
- Logged in member sees: three speaker signup slots on a web form, with prompts to enter manual, project, title, and intro.
- VP of Education editing the lineup sees: speaker signup form with a drop down list of all members who can be assigned to the speaking role.
- Member printing the agenda sees: A printable view of the data recorded on the form, including member name, manual, project, and title.
Those are a few concepts I thought it was important to explain up front, but I’m sure anyone who digs into the code will have more questions. Write me at email@example.com