Categories
Web Development WordPress

My Open Source Adventure with RSVPMaker

After several years of mooching off the open source software community, I finally gave something back: an event management and RSVP tracking plugin for WordPress called RSVPMaker. You can see some sample events and respond to the RSVPs at www.rsvpmaker.com, a demonstration and documentation website I set up to support this project.

I put out the first release in November, and as of this writing RSVPMaker has been downloaded more than 800 times.

As a writer and editor whose programming skills are largely self-taught, I was somewhat hesitant to put my code out there for all to critique. But RSVPMaker has been pretty well received, particularly by people who say it’s more flexible than some other event plugins to WordPress that they have tried.

The RSVPMaker plugin is new, but it’s based on PHP code I developed and refined over a period of years for event management on websites I managed for political campaigns, community organizations, and business networking groups.

Because I found I had to adapt the event and RSVP functions to work slightly differently in several different contexts, I designed RSVPMaker to support several different event management scenarios. For example, sometimes you want to request RSVPs, and other times you just want to publicize your event. Sometimes you want to collect money online, and sometimes you don’t. If you’re signing up volunteers, maybe you want people to check off specific timeslots when they can be available. I thought of putting in a deadline for accepting RSVPs, and then someone else said he also needed to be able to specify a start date before which RSVPs would not be accepted.

I tried to provide as much flexibility as possible, and then also give the more advanced users a way of writing their own plugins to change the behavior of my plugin. Certain functions, such as the one for displaying the RSVP form, can be modified to add or change the fields on the RSVP form.

A few things about the process surprised me:

  • So far, nobody has actually critiqued the programming code. That’s both good and bad: I wouldn’t mind some constructive suggestions about how to tighten it up or make it more efficient. Mostly, people download it, try it, and give me feedback on additional or different functionality they would like to see. So far, nobody has pointed out programming flaws or sent me corrections or upgrades as PHP code.
  • I thought translation to other languages was something I wouldn’t have to think about until I got to a much more advanced phase of development. But the first person who contacted me with feedback was from Denmark, and I’ve heard from people in France and other countries as well who mentioned the need to translate portions of the user interface. I’ve gotten as far as putting in the placeholders for translated or localized phrases, but still need to find partners who speak these other languages to do the actual translation. It remains to be seen whether there will be enough interest that these volunteers will come forward.
  • I ran into problems with some functions working fine on my server and apparently those of some other website operators, but not for a few people who found the links to the event pages didn’t work. Trying to debug what was different about the systems of the people who were having problems, vs. those who weren’t, turned out to be quite a challenge. In the case of the missing links, I had to implement some of my code the “wrong” way, according to the documentation, but the only way it would work for one of these people. Then, since her problem seemed to be the exception to the rule, I made it a special tweak that only gets executed if you turn it on.

Overall, it’s been a rewarding and interesting process — and I’m just getting warmed up. I started out with release 0.6, figuring the code was a little more than half-baked. I’ve worked my way up to version 0.9 and will probably declare it to have achieved version 1.0 within the month.

Categories
Web Development WordPress

Caspio Deploy2 Plugin Published

A new WordPress plugin for integration with the Caspio online database is now available at:

http://wordpress.org/extend/plugins/caspio-deploy2/

I reviewed the previous plugin the company had published and was able to recommend a better way of implementing it, using WordPress shortcodes. Here’s a summary:

Caspio is an online database featuring web-based tools for designing database tables, forms, reports, charts and graphs, and more complicated applications like store locators with Google Maps mashups. Applications can be created without programming, and embedding them in your website is as easy as copying and pasting a code snippet.

The Caspio Deploy2 plugin enables ShortCode placeholders that further streamline the deployment of Caspio applications. The shortcodes can be used for SEO deployment of content, as well as embedding the AJAX widget used to display Caspio forms. Caspio Deploy2 replaces the earlier Caspio Deployment Control plugin (which did not use shortcodes).

The [caspio] shortcode can be wrapped around the standard block of code generated by Caspio Bridge for SEO Deployment. You should toggle from the Visual to HTML mode of the WordPress editor before pasting in the block of code, but it will work even if you paste the code into the Visual editor.

Example:
[caspio]
<!– Begin Caspio Deploy Code (for inserting in body) –>
<?php require_once(‘http://b4.caspio.com/scripts/dpload.txt’);dpload(‘http://b4.caspio.com/’,’5F422000c3f2d8h4d3c9f4b9g9e0′,’l’);?>
<!– End Caspio Deploy Code –>
[/caspio]
Alternatively, you can cut out everything except the parameters for the dpload function (make sure to include the quotes around each parameter):

[caspio]
‘http://b4.caspio.com/’,’5F422000c3f2d8h4d3c9f4b9g9e0′,’l’
[/caspio]
Or the parameters from the dpload function can be embedded in the shortcode tag as follows:
[caspio url=”http://b4.caspio.com/” key=”5F422000c3f2d8h4d3c9f4b9g9e0″ style=”l”]
For Caspio application deployment in embedded mode, you can use this shortcode placeholder which will be replaced at runtime with the standard Caspio JavaScript widget. This lets you avoid having the JavaScript code scrambled by the WordPress editor in Visual mode.
[caspio embed=”https://b4.caspio.com” key=”5F422000i9f9a0h4e2i7c9g6c9c3″]
In order to deploy Caspio Bridge SEO DataPage in WordPress, you must have:

  • Caspio Bridge account with activated SEO deployment and properly configured DataPage
  • Installed and activated the Caspio Deploy2 plugin for WordPress.

For information about Caspio Bridge see the Caspio official site at http://www.caspio.com