WordPress Google Form v0.55 released

Yesterday WordPress 3.6 was released.  The bundled version of jQuery was updated to 1.10 which broke the jQuery Columnizer plugin I use to split a form into columns.  The result was jQuery would go into an infinite loop and eventually you would have to kill the page.

Fortunately someone had already encountered this problem and provided a patch to the jQuery plugin.  I have incorporated the patch and released v0.55.  If you’re running WordPress 3.6, this is a critical release.  Older versions should continue to run correctly.

You can find v0.55 on your WordPress Dashboard or in the plugin repository.

Email-Users v4.5.0-beta-1 now available

I’ve been working on Email-Users this week and have added quite a bit of functionality.  Before I release it I’d like to get a few people put an early version through its paces so if you have a chance to test it out, please do so.

This new version has a number of new features:

  • All postboxes on the admin screens now have their own CSS ID and Class so they can be styled or easily hidden.
  • Email-Users now support integration with two User “Group” plugins:  User Groups and User Access Manager.  When you set up groups in either of these plugins you will be able to select them as recipients from the Group Email and Post/Page Notification pages.
  • Selection of Custom Filters as Group Recipients is no longer a separate action – it, along wit the Group support noted above, are all presented in the same target recipient selection list.  This allows the Custom Filters to work on Post/Page Notifications as well.
  • A new action has been introduced:  mailusers_update_custom_meta_filters  This action will allow for updating meta filters dynamically just prior to their use.  This is the best way to create complex meta filters or integrate other plugins.  There is a good example in the plugin README file.
  • Chinese language support has been contributed.
  • Integration panel added to the Plugin Settings Page.
  • Updated language support files which incorporate 20+ new strings.

A few other things were cleaned up while I was tinkering with the code as well.

Email Users Beta (5491 downloads )

I have also updated the sample plugin file I use to test Custom Meta Filters.  It has the full example of the “Public Works” example.

Email Users Custom List (5748 downloads )

New capabilities for Email-Users

I am finally getting around to incorporating a patch for Email-Users which adds integration with the User Groups plugin.

The way the patch was written it removed the ability to send to Groups based on standard WordPress Roles and replaced it with Groups defined by the User Groups plugin.  While this is useful for the user who submitted the patch (thank you for doing so), I don’t think it is the right way to do this sort of integration in the general case.

I don’t think eliminating the standard functionality is always a good idea so I am incorporating the patch such that being able to target groups of users through either standard WordPress roles OR via User Groups defined groups is possible.

To that end, I have always considered the way I implemented custom groups and filters sort of half finished.  While they work for sending email, they don’t work for Post and Page notifications which is a limitation.  So I have decided to revamp how I am presenting groups of users for both Email and Notifications.

EU_SS_12

You will be able to mix and match Roles, User Groups (when the plugin is active) and Filters to target the recipients of Email and/or Notifications.  I hope to have a beta release out later today for people to test with.

WordPress Google Form v0.54 released

This morning I released v0.54 of WordPress Google Form.  It has been a while since I’ve had any bug reports for the current version or the beta version.  Things appear pretty stable.

  • Added internationalization support for jQuery Validation messages.
  • New language support files.
  • New jQuery Validation based custom validation option.
  • Fixed problem with escaped characters ending up in Google spreadsheet.
  • Moved transport control out of debug module and into core code so it can be a permanent setting for some server environments.
  • Fixed PHP warning messages which happen with Logging Enabled when some of the server variables don’t exist.
  • Fixed bug with Form Submission Log setting stickiness.
  • Added an optional CAPTCHA message which will appear below the CAPTCHA input when set.

WordPress Google Form v0.54-beta-7 now available

I have just posted what I hope is the final beta release of WordPress Google Form v0.54.  This latest beta release fixes a couple of minor issues, notably the lack of stickiness on the Form Submission Log setting and adds one new feature.  You can now define a CAPTCHA message to appear below the CAPTCHA input box.  These two screen shots show the information on the Plugin Settings page and the result when the form is rendered.  The message is placed in a DIV which has the class “wpgform-captcha-description” so it can be styled as needed.

Google Forms Beta (8583 downloads )

GForm_SS_56

GForm_SS_57

WordPress Google Form v0.54-beta-6 now available

I have a posted a new beta version of WordPress Google Form.  This version (v.054-beta-6) fixes a problem reported today which happens when Logging is enabled on certain servers.  This update will now test for the variables it wants to track before trying to use them.

This update also includes an enhancement with respect to HTTP API Transports.  Previously the plugin allowed control of the various transport options in debug mode.  Recently I found a case where it made sense to disable one of the transports on a permanent basis so I have pulled that functionality out of the debug module and moved it into the plugin core.

Google Forms Beta (8583 downloads )

WordPress Google Form v0.54-beta-3 now available

A quick bump to beta-3 for WordPress Google Form v0.54 to fix a problem which resulted in a PHP error message due to missing post meta data for field validation.  Forgot to account for the situation where a form hasn’t defined any fields to validate!

Google Forms Beta (8583 downloads )

WordPress Google Form v0.54-beta-2 now available

I have just uploaded beta 2 of WordPress Google Form v0.54.  This update fixes the problem with the validation meta box not allowing adding additional fields (a jQuery script was not loading correctly) and also fixes the issue with range checks I mentioned in the beta 1 announcement.  At this point I believe everything is working correctly.

I have put together a Validation Demo Form that you can play with to see  how it works.  There are some images below from the demo form running in my development area including how I set up the validation information when creating the form.

Google Forms Beta (8583 downloads )

GForm_SS_52 GForm_SS_53 GForm_SS_54

WordPress Google Form v0.54-beta-1 available

The first beta release of WordPress Google Form v0.54 is now available for download. This beta release introduces a pretty significant enhancement – Advanced Validation for any field on a Google Form. This is an “advanced” feature as it requires the user to dig into the form in order to gather the necessary information for the validation to work correctly.

There are a few things which I know aren’t working (e.g. Range Checks) which I will look into.  I would really appreciate some feedback on this new functionality.

Google Forms Beta (8583 downloads )

Advanced Validation with WordPress Google Form

One of the most common requests I receive is the desire to validate fields on a Google Form. Google provides some basic validation (required or not) but there really isn’t a way to ensure that if you request an email address that the user actually provides a valid one. Similarly, there is a need for URLs, numbers, and other specific fields.

I’ve been using the jQuery Validate plugin (which looks to have a new  home) for a while now to validate required fields and in some cases, email addresses, and most recently, CAPTCHA support.

A number of people have asked me about extending the validation to include any field.  I have been reluctant to do this for several reasons:

  1. The jQuery Validate plugin needs to know which fields (by name or id) it is going to validate.  There isn’t an easy way to pull these out of the Google Form HTML.  It could be done on a single page form but because Google supports multi-page forms, they only way to find the information we need is to visit every page of the form.  This isn’t easy to do programatically.
  2. The rules needed to be written in jQuery syntax.  While the syntax isn’t difficult, if I allow entry of Javascript the potential for syntax errors (which would break the plugin) is very high.

For these reasons I’ve kept this on the back burner for a while.  However, a couple recent requests got me thinking about it again and it would be useful for a project I am doing for my daughter’s soccer team.  So I decided to dig into it.

I don’t think it is possible to make it completely foolproof however I did want to make it as simple as possible.  I decided to add a new Meta Box to the Custom Post Type editing screen which “helps” the user define new rules.

The key to making rules which accomplish something is getting the name attribute for the form entry element that needs to be validated.  There really isn’t a good way to do this other than to look at the HTML source.  I like FireBug with Firefox but both Chrome and IE have the ability to easily inspect an element.

GForm_SS_48Now that I know my input element’s name (entry.409811816) I can set up my new rule.

If you have been using WordPress Google Form the first thing  you’ll notice is the Form Editing screen has changed quite a bit.  The form was getting very long and cluttered so I have moved some of the lesser used options to a new Meta Box on the right hand side leaving just the critical or frequently used options on the primary Meta Box.

There is a new Meta Box just for Validation.  This Meta Box lets you add a series of fields where you can enter the name, the type of check to perform, and if needed, a check value.

GForm_SS_49Once the validation fields are set up, you can see the effect as you fill out a form.

GForm_SS_50 GForm_SS_51I am going to clean up a few things and make a beta release available for people to test with.  I think this functionality is pretty cool and it was a bit of a challenge to (a) get it working and (b) find what I think is a viable usage model.  As always, feedback is welcome.