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.

Google Changing Google Forms again?!?

Earlier today I was alerted to the possibility of Google changing Google Forms again.  Based on my reading, I think it is more than a possibility, it looks like a done deal to me.  This is a major change.

That doesn’t look very good.  Not only does it not look very good, it doesn’t work either.  I have no idea when Google will roll this out.  Almost certainly before I can update the plugin.  Based on my quick look at the HTML of the new form, it is very different than what Google has been generating for a number of years.

The biggest change is Google appears to be using their own custom DIV elements instead of real HTML INPUT elements for things like radio buttons and checkboxes.  I can’t think of why this could/would be a good thing but I am sure there is some rationale behind it. These news forms require Javascript from Google to work and it looks like the actual form submission process is also different.

So … it looks like a lot to figure out at a time when I  am really busy at work.  I am hoping this isn’t wide spread for a while as I don’t expect to have much free time until the Christmas holidays arrive and work will slow down a bit.

Working with Rails

Last fall I had written a post where I noted that I had a problem to solve at work which I thought might be well suited for Ruby on Rails.  Like a lot of side projects, this one never went anywhere but I did end up playing around with RoR enough to get an idea of how it works and how quickly things can be developed with it.

I do some volunteer work with our High School Booster Club and last year built them a WordPress based site which is largely used to facilitate the purchase of memberships.  While it seems like overkill, the plan is to use the web site to host more content relevant to the various athletic teams.

A couple months ago I was approached about how the Booster Club’s mobile app could be improved or replaced as the currently technology is being withdrawn and no longer supported.  I learned that the back end for the mobile app was extremely cumbersome to use and was a source of frustration for the people who maintain rosters, schedules, results, etc.

I am now working on a replacement for the Mobile App and the backend infrastructure.  Because we already have a WordPress site, I had considered using the WordPress site to host all of the data and leverage the WordPress JSON REST API plugin to serve content up to a Mobile App.  But I had some reservations.

jQueryMobileBookI’ve never done Mobile App development and in the interest of time, am not sure I want to take that on right now.  Based on my jQuery experience with WordPress, I thought a jQueryMobile web app might be a reasonable compromise.  I picked up a copy of jQuery Mobile Up and Running a while back when I had heard it referenced on a Podcast.  At the time I didn’t have an immediate application for it but it was interesting reading.  I dusted it off and realized jQuery Mobile would be a good solution for building a prototype mobile web app.

So now I have some thought in my head of a mobile web app I want to build but wasn’t sure about how to feed it.  While I could see putting all of the data in WordPress, I was worried about maintaining it.  I need something dead simple to enter rosters, teams, schedules, results, etc. into a system.  Ideally it should be accessible from a phone so scores can be quickly entered by unsophisticated users.

What I’ve decided to do is build a mobile first (maybe only) application using Ruby on Rails.  I have made all of my HTML views based on jQuery Mobile.  Within a week or so of working on it for a few hours a day, I have the basic application up and running on my Ubuntu VM.  I can set up teams, coaches, and athletes, and assign coaches and athletes to teams.  I have started on venues.  There is a ton left to do – events, schedules, user login, Google Maps, and a lot more.

While I am excited about how much progress I have made in a relatively short time frame, I am worried I am “doing it wrong” or have made a decision that will be difficult to unwind.  I’ve learned a fair amount about Rails in the past two weeks and much to my surprise, have not had to learn a whole lot of Ruby yet.

The ability to quickly add database columns and connections in RoR is pretty slick.  During my first couple of scaffold generations I was worried about getting the database “right” but having dropped some columns and added others, I’ve found it relatively painless.

While I am impressed with RoR, I am really impressed with jQuery Mobile.  It is pretty amazing how quickly a mobile web app can be assembled.  I’ve been using a regular web browser for developing my app and even using jQuery Mobile with a regular browser is pretty nice.  I had forgotten that the laptop I borrowed while my Vaio was being repaired has a touchscreen.  Using the app on Chrome with a touch screen is pretty effective at mimicking a mobile device.

I still have tons more to learn as I get ready to deploy the first build for some people to play with and populate with dummy data but I can already see other uses for Ruby on Rails.  I am still not a big fan of the Ruby syntax but I can live with it for the benefits and development efficiency I am seeing with Rails.

Need a new approach for Event Ordering

After getting the Portlet drag and drop working, or so I thought, it looks like I am going to have to abandon that approach.  It turns out the drag and drop works just find – it does what it is supposed to.  However, getting the new arrangement information so it can be sent back to the server as an Ajax post does not.  I am unable to get any sort of serialization to work and even the Portlet example indicates it is obsolete and references jQuery UI.

I have subsequently found a jQuery based Table Drag-and-Drop solution which looks like it will do what I want.  I am now in the process of implementing this in hopes that it will be a little easier to work with.  Stay tuned …