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.

Email Users v4.6.10-beta-4 available

This morning I released beta-2 and very quickly afterward, because I found a bugs, beta-3, then beta-4 of Email Users v4.6.10.  This beta-4 build addresses a couple enhancements that were recently raised in the Support Forum.

  1. Templates – while not exactly templates per se, the Post/Page notification email will now allow the user to change the email subject and body content.  It will still be initially populated based on the default template.
  2. Hooks – there are now two hooks which other plugins and themes can use to modify the behavior of wp_mail().  The two hooks are mailusers_before_wp_mail and mailusers_after_wp_mail.  The primary use for this is to account for other plugins which modify the sender address.

Additionally, the Notification email process now has a preview of what the email will look like based on the current settings.  The preview will not reflect any changes made to the subject or email content until it is submitted.

EU_SS_36

Email Users Beta (43)

 

Email Users v4.6.10-beta-1 available

This afternoon I released beta-1 of Email Users v4.6.10.  This build fixes a problem reported in the Support Forum today.  I will likely try and address some of the recent enhancement requests before making a formal release.  It is likely that most users would not have seen this problem unless their PHP error reporting level was more strict than typical settings.

Email Users Beta (43)

Email Users 4.6.9 released

This morning I pushed out Email Users 4.6.9.  It contains a few fixes that I had been sitting on along with an updated German translation.

I had been delaying as I planned to incorporate a couple good suggestions which are on the support forum (e.g. hooks before an after sending mail) but I simply haven’t had the time to work on new features lately.  There is also good suggestion on limiting debug output to Admin users which I also plan to add.

I didn’t want to sit on the fixes I have made any longer so went ahead and released 4.6.9.  You can find the update on your Dashboard or in the WordPress plugin repository.  The only difference between the released version and the last beta is the German translation file and the version number.

Email Users v4.6.9-beta-1 available

I have just posted beta-1 of Email  Users v4.6.9. This build addresses an issue reported with template replacements not working correctly when using sender overrides.  Additionally, I have added support for blog and author template replacements in user and group emails.

Please report any issues you encounter.

Email Users Beta (43)

Google Forms v0.70-beta-2 now available

I have uploaded beta-2 of Google Forms v0.70.  This build has one minor fix.  While minor, it is important to me.  This build fixes an issue when the Email Admin option is enabled but the Send To address is not specified.  By default the Blog Admin email address should be used in this situation however no mail was being sent at all.

Google Forms Beta (139)

Google Forms v0.70-beta-1 available

This weekend I spent some time looking at adding support for regular expressions as part of the Google Forms validation functionality.  This seemed like a reasonable and useful request.  I was surprised to find that the jQuery Validation plugin doesn’t offer regular expressions as a standard check  however, I found a fairly simple solution on Stack Exchange.

It took me a little while to get it working as Saturday morning I went down a wrong path initially following another post I had found.  When I first read the post I linked to above, I convinced myself that I didn’t want to use the AddMethod solution.  I am not sure why, I guess it was because I haven’t been into the code in a while so I was trying to avoid it.  It turns out it is definitely the right answer and fairly easy to implement.

The beta build also contains a Serbo Croation translation provided by Borisa Djuraskovic
of www.webhostinghub.com.

To see the new functionality in action, check out my Validation Demo Form where the last entry field must begin with a capital letter.  The regular expression “[A-Z]” is used to match a capital letter when setting up the validation.

GForm_SS_72

Google Forms Beta (139)

Google Forms v0.69 released

While looking into a Support request I discovered a bug in the generation of the  jQuery validation script which caused a syntax error.  This syntax error could potentially cause problems with redirection upon form submission.

While fixing the above bug I also added support for embedded images which had been requested recently.  When you design your form Google now allows the insertion of images and now Google Forms will display them properly.

GForm_SS_71

You can find this update on your Dashboard or in the WordPress plugin repository.

Google Forms v0.68 released

Another minor update to Google Forms to fix a bug reported late last week.  It turns out I left out a named array parameter in a call to wp_update_post().  What is interesting is this problem manifests itself differently on various installations.  I never saw the error reported however when the offending line was pointed out, it was obvious to me what was wrong.

A new version (v0.68) has been posted to the WordPress plugin repository.