Site has been offline for a while

I realized a couple months ago my site was offline. I was busy with work and decided I would deal with it later. Well, later was today. I still don’t have a good answer as to what happened, the domain ended up park because the IP records associated with the domain were wrong. Anyway, it is fixed now.

While I am no longer doing WordPress plugin development, I am working on a WordPress site again for the first time in a while. My wife started a non-profit called Fentanyl Victims Network of North Carolina after our daughter Sophia passed away from unknowingly drinking a bottle of water that had fentanyl disolved in it.

I am responsible for the website so am getting back into working with WordPress on a regular basis. Mostly doing configuration work with the theme and the various plugins we need to present the content. At some point I’ll likely return to plugin development to present some of the content we have more dynamically but work is busy so my time to work on WordPress things remains pretty limited.

I still get questions about Email Users and to a lesser extent, the Google Forms plugin. I am not working on either. The Google Forms is effectively a deadend when Google changed how Forms work. Email Users still works and I had found someone to take over development but the original author wanted to sell the plugin instead of just transferring ownership so that effort died on the vine which is unfortunate because I suspect there is still a need for it.

Springsteen on Broadway

A little over a week ago I was fortunate enough to see Springsteen on Broadway at the Walter Kerr Theatre in New York City.

When Springsteen on Broadway was first announced I put my name on the TicketMaster “Verified Fan” mailing list and didn’t think too much more about it.

I did not get selected from the first batch run of shows. When the second run was announced I didn’t think too much about it but a couple months later I got an email letting me know I would have a chance to buy tickets. Wow! Very cool. I don’t live in NYC nor anywhere close – I live outside of Raleigh. I figured if I was lucky enough to get tickets I’d worry about logistics later.

When the day to buy tickets finally came I logged into Ticketmaster and began the process of trying to find seats for a show. It is a panic driven process and calling the purchase process cumbersome would be an understatement.

I still don’t know why but due to some Chrome cookie issue each time I tried to complete a purchase, it would fail. At one point I had pair of orchestra seats which would have been phenomenal but I couldn’t make it through the checkout process and I lost them. This went on for about 20 minutes at which point I had selected and lost 4-5 sets of tickets. I decided to try a Chrome Incognito tab and much to my surprise, it worked. I had purchased tickets to Springsteen on Broadway for late September. Woo-hoo! Now could I actually go?

I first saw Bruce Springsteen at the beginning of The River tour in 1980 at the Capital Center in Landover, MD. It was the second concert I had ever been to and it was amazing. The show was 4+ hours long and I got in trouble for getting home so late on a school night. My mom said “no concert lasts that long” but the next day there was a review in the Washington Post about the show and how it didn’t end until almost 1:00 am or something to that effect. So my grounding was lifted, the reason for my late arrival at home validated by the Washington Post.

I saw several other Springsteen shows while in college but hadn’t seen him live since then.  My wife and I decided to make a short trip to NYC to be tourists for a couple days and see the show.  We did a Carriage Ride in Central Park, ate in a couple of great restaurants, rode to Roosevelt Island on the Tram, and general enjoyed ourselves in the City.

The highlight of the visit was of course the show and I thoroughly enjoyed it. My wife had never seen Springsteen before so she wasn’t sure what to expect but enjoyed the show, probably not as much as I did. If one wasn’t familiar with a lot of the songs I think the stories told in between wouldn’t make a lot of sense. It certainly was a wonderful evening, one I am glad to have had the chance to experience.

Google to discontinue ability to downgrade Google Forms

I knew the day would inevitably come when Google Forms could no longer be downgraded.  Based on a recent Google announcement, that day appears to be August 22, 2018 – very soon.  Almost certainly too soon for me to do anything about it in the plugin.

As I have noted in a number of posts and in many WordPress Support Forum threads, the change Google made back in 2015 to the HTML used for a form is significant and not well suited to how the Google Forms plugin works.  Instead of using traditional HTML form elements, Google is using DIV tags with CSS class names and Javascript to render a form.

I will take a look at it again but cannot make any promises.  If someone wants to pick up development of the plugin, it is hosted on GitHub and we can figure out how to add another developer for the plugin repository.

This announcement from Google does not bode well for the future of the Google Forms plugin.  The last time I looked into supporting the new version of forms I determined it was a non-trivial amount of work and I wasn’t even sure it was possible.  It is a fair amount of work just to get a new form to render in WordPress before I can even see what happens when it is submitted.

I know this isn’t happy news for a lot of people.  This effort started as a simple plugin to help the middle school my children attended collect some information from parents.  It has grown to 20,000+ installs, far larger than I ever expected.

For those who wonder how much has been donated over the years, the total is probably about $100.  I received a donation yesterday for the first time in roughly six months.  I didn’t write this plugin to make money (there isn’t much to make), I did it because I had a problem to solve and couldn’t find a solution.  I decided to share it because I thought it was useful and it seemed to be but I am afraid its longevity may have come to an end.

If it rains all weekend here in North Carolina like it is supposed to, I may have some time to start looking at this but I no longer have a personal use for the plugin.  My kids have all grown and I have moved on from all of the volunteer activities I used it for (mostly school and sports teams).

I don’t simply want to walk away and leave people, particularly those who use it to support their business, in a lurch but please understand, there may not be much I can do.

WordPress Google Forms v0.94-beta-1 available

I have just posted a beta build (v0.94-beta-1) of WordPress Google Forms.  This build introduces a new solution for calculating the CAPTCHA.  There have been a number of concerns about the use of the PHP eval() function and recently, an alternate solution has been posted to the WordPress Support Forum.  I have adapted the proposed solution to the plugin.

This build also addresses a concern about possible security issue with the user-agent string stored when logging submissions.  It is technically possible for a malicious user to encode the user agent string with malicious code.  This update ensures that data is sanitized before storing and presenting it.

Google Forms Beta (31802 downloads )

Email Users Custom Lists

A recent question on the WordPress Support forum got me thinking on how to solve this user’s question.  The obvious answer was to use the Custom Meta filter capability which has been part of Email Users for quite a while.

The one limitation of Custom Meta filters was the limitation in how WordPress support SQL wildcards in the LIKE and NOT LIKE constructs.  WordPress would add unwanted escape characters preventing the wildcard from matching rendering LIKE and NOT LIKE largely useless.  I had submitted a WordPress patch 4+ years ago when I ran into this issue and expected it to be fixed in WordPress 3.6.  It was never incorporated, I am not sure why, there isn’t much of an explanation in the ticket.

When I started looking back into this today I found that WordPress had added support for regular expressions (REGEXP, NOT REGEXP) to user meta queries.  This is good news as it is actually a better, and easier to use, solution than using the SQL LIKE construct.

I have updated Email Users to reflect this recommended usage, all of the examples have switched from LIKE to REGEXP and I’ve added a couple more.  I’ve also updated the example plugin I use to test these custom meta queries.  I prefer to put these type of things in a small plugin instead of the theme’s functions.php file because risk of losing them with a theme update or change is much lower.

Email Users Custom List (9932 downloads )

 

Example:  Select Users with Last Name beginning with M:

add_action( 'mailusers_user_custom_meta_filter', 'last_names_starting_with_m', 5 );

function last_names_starting_with_m()
{
 mailusers_register_user_custom_meta_filter('Last Name: M', 'last_name', '^M', 'REGEXP');
}

Example:  Select Users with Last Names beginning with S-Z:

</pre>
add_action( 'mailusers_user_custom_meta_filter', 'last_names_starting_with_s_through_z', 5 );

function last_names_starting_with_s_through_z()
{
mailusers_register_user_custom_meta_filter('Last Name: S-Z', 'last_name', '^[S-Z]', 'REGEXP');
}
<pre>

Google Forms v0.90 RC1 available

I have addressed what I hope is the last of the security concerns with Google Forms and resubmitted to WordPress.org for approval.  In the meantime, should anyone want early access to the next update, which includes some additional debug features as well as addressing the security concerns, you can download it here.

You can also find the current development version on GitHub.

Google Forms Beta (31802 downloads )

EDIT:  Due to forgetting to update the stable version tag, the version is now v0.91.

Email Users v4.8.5-beta-4 available

This afternoon I posted beta-4 of Email Users v4.8.5.  This build adds some additional debug information to help chase down slow database queries.  When in debug mode, Email Users will now report information about the query like this:

<!-- email-users.php::1391 -->
<!-- email-users.php::1410 Query #1 Memory Usage: 15.75M -->
<!-- email-users.php::1415 Query #1 Execution: 0.30101704597473s / 301.01704597473ms -->
<!-- email-users.php::1410 Query #2 Memory Usage: 20M -->
<!-- email-users.php::1415 Query #2 Execution: 0.29001688957214s / 290.01688957214ms -->
<!-- email-users.php::1410 Query #3 Memory Usage: 24.5M -->
<!-- email-users.php::1415 Query #3 Execution: 0.201012134552s / 201.012134552ms -->
<!-- 1282 -->
<!-- email-users.php::1448 -->

Email Users Beta (24384 downloads )

Email Users v4.8.5-beta-3

This morning I uploaded another beta (beta-3) build of Email Users v4.8.5.  This build addresses an issue with the mailusers_update_custom_meta_filters action not being applied to User Email (it was only applied to Group and Notificationemail).  This problem was reported in the WordPress Support Forum about a month ago.

Email Users Beta (24384 downloads )

Email User v4.8.5-beta-2

This evening I uploaded another beta (beta-2) build of Email Users v4.8.5.  This build addresses an issue with the user’s email preferences not being respected when using a custom meta filter.  This problem was reported in the WordPress Support Forum a few weeks back.

Email Users Beta (24384 downloads )

Email Users 4.8.5-beta-1 Available

I’ve posted Email Users v4.8.5-beta-1 for testing purposes.  This is a minor update which restores functionality which was removed in 4.7.1.  See this recent thread and this old 4.7.1 thread on the WordPress Support Forum for more details on the change in 4.7.1.

The change in 4.8.5 introduces a new option (Send User Exclude Role) on the Settings page which is enabled by default to retain the current functionality.  When turned off, the user’s current role is also included in the list of roles presented as potential recipients.

Please provide any feedback ASAP as my window to fix this over the holiday break at work is small.

Email Users Beta (24384 downloads )