Time to learn Ruby on Rails?

Last Friday my manager approached me with a problem.  It is interesting problem, the sort of out of left field problems he likes to throw at me from time to time.  It is one of those problems that there isn’t a good solution for without developing something completely proprietary as it would have zero value to anyone else but the members of our team.

So what is the problem?  We have a bunch of text files that have diagnostic information about one of our products.  There is no way to do any analysis on this data because they are just ASCII text files.  Like lots of companies, we do lots of Pivot Tables and Charts in Excel to analyze data but in this case, I don’t think it is the right answer.  At least not initially.  We want to collect these text reports over time and load them all into a single database so the collective data can be analyzed.  We’re looking for trends in reliability and things like that.  Once all of the data is compiled into a database, we’ll likely extract slices of it for analysis using Excel but I don’t want to build up an “Excel database” – wrong solution to this problem.

I’ve been using WordPress, PHP, and MySQL for years so it is my “go to” solution for problems like this one.  I don’t see any reason to involve WordPress as it is really just a data parsing and database application that needs a minimal UI to upload the data and browse it.  I’ve done things like this in PHP previously but I am thinking this might be a good opportunity to learn something new.

learning_railsI had picked up Learning Rails a couple years ago when I considered Rails, for similar reasons, for another project which never went anywhere.  I dusted off mycopy of Learning Rails and for the last few days I’ve been reading through it while I was at the gym.

So far from what I’ve read it looks like a viable solution to quickly put together a solution which (a) needs a database and (b) will be very low usage.  I think the biggest challenge I’ll face putting something together will be parsing the ASCII file in Ruby (which I’ve never used) but I am sure I will be able to figure it out.  The format of the file is fairly regular with sections of data but each section is slightly different.  Unfortunately it isn’t something simple to parse like a CSV file.

This morning I created a new Ubuntu (also a first for me) Virtual Machine and used this Guide from GoRails to install and configure RoR.  In the course of two hours I have built a new VM, installed Ubuntu, and installed RoR.  I am ready to start playing around and see what I can do.

Depending on how this goes, I’ve got a couple other projects in mind that RoR might be a better solution for than building a WordPress plugin.  We’ll see …

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

This morning I released beta-2 of WordPress Google Form v0.59.  This build introduces one new feature (hidden fields) and fixes one limitation (validation rules).

Much like validation rules and placeholders, an input field can now be defined as hidden.  When a field is defined as hidden, it does not appear to the user when they view the form and the value is set to a fixed value (e.g. a static string) or to something WordPress derives (e.g. the user’s IP address).

GForm_SS_64

The format of the field name is exactly the same as used for validation and placeholders.

Validation has been improved and the limitation of one validation rule per field has been lifted.  You can now define multiple validation rules for a single field.  Simply enter the field name for each separate type of validation.

Google Forms Beta (8501 downloads )

Email Users v4.6.2-beta-2 now available

I am close to releasing Email Users v4.6.2.  This update addresses some issues in the README file and some translation string issues on the Options page.  There is no new functionality or bug fixes since beta-1.

I would like to get as many of the translations as possible updated before releasing 4.6.2.

Email Users Beta (5436 downloads )

Email Users v4.6.2-beta-1 available

This morning I posted the first beta release (beta-1) of Email Users 4.6.2.  This release includes integration with the ItThinx Groups plugin.  I also took the opportunity to refactor the code for integration so code isn’t unnecessarily loaded when a plugin isn’t installed and clean up the plugin’s ReadMe file.

If you use ItThinx Groups I would appreciate any feedback you can provide.

Email Users Beta (5436 downloads )

Where did all of this wp-SwimTeam stuff come from?

You may have noticed an influx of content (posts, pages, etc.) related to wp-SwimTeam and wonder where it came from.  For the past four years I have been developing, enhancing, supporting, etc. a WordPress plugin called wp-SwimTeam.  This plugin can be used to manage the registration, volunteers, participation, and other aspects of running a youth swim team.  Several groups have used it for Masters Swimming as well but it is targeted at youth swim teams.

I first started wp-SwimTeam to support our local neighborhood team when my wife was the swim team chair.  Over the years it grew in features to the point where it was fairly comprehensive.  My children no longer swim and my involvement in swim team has largely ended but I still maintain my plugin because (a) people use it and (b) I still feel it serves a need and it doesn’t take much of my time to continue supporting it.

I have always had a separate web site for wp-SwimTeam but over time that came to make less and less sense. In fact, I had some people contact me on this site and some on the other site so I had questions and solutions on both sites.  I decided that I would migrate everything here So I exported all of the content and then imported it.  There were a few hiccups, mostly around downloads but I think everything else came over ok.

The old URL redirects to the wp-SwimTeam page on  this site.  From time to time you may see updates for wp-SwimTeam or phpHtmlLib in addition to the normal flow of information on Email Users and WordPress Google Form.

wp-SwimTeam v1.40 released

I have finally released v1.40 of wp-SwimTeam.  Thanks to everyone who helped test the new features and flush out any bugs.  This release has a slew of new features and functionality.

  • This update requires phpHtmlLib v2.6.7 or later!
  • Fixed initializion bug when Adding Events to an Event Group. Events were by default not being assigned to the correct group.
  • Fixed pagination bug when managing large number of events. When paging through events the GUI would get confused.
  • Fixed Event Group bug which was propagating the wrong event group to subsequent actions.
  • Added support for Mixed Gender and Combined age groups.
  • Added support for Mixed Gender and Combined Events.
  • Added support for exporting mixed gender event entries in SD3 and HY3 formats.
  • Added support for mixed gender events when importing events.
  • Fixed bug resulting in database error when generating RE1 roster.
  • Re-implemented Roster Export functionality – multiple formats can now be exported. The export can also be limited one gender.
  • Added support for age groups where min age and max age are identical.
  • Added smart processing of 0 as min or max age in HYV event imports, mapping 0 to minimum or maximum age setting as appropriate.
  • Fixed bug in USS Number generation.
  • Fixed bug in HY3 entries generation where E1 record did not contain gender.
  • Fixed reported entry count when exporting SDIF, count was off by 2x.
  • Fixed bug exporting roster by single gender which resulted in no swimmers.
  • Fixed bug which prevented proper HY3 meet entry generation for Opt-In swim meets.

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

WordPress Google Form v0.59-beta-1 available

I have posted WordPress Google Form v0.59-beta-1 in response to a request to have the ability to preset form values by passing a parameter as part of the WordPress URL.   This is an interesting request so I did some work on it this morning and it turned out it wasn’t to difficult to implement.

Much like custom field validation and presets, this new functionality builds upon the name of the field that you want to preset.  Google has a way to preset values, the field name is passed as a parameter with a value.  This new functionality does much the same but pulls it back to WordPress for processing.

Using my Validation Demo form as an example, here are two URLs:

  1. Standard URL
  2. Standard URL with preset values

As you can see, the second URL will have the first two fields prefilled with the values which were part of the URL.  The following was appended to the URL.  The specific parameter names (e.g. entry.1666054688) had to discovered by examining the source Google Form.

?entry.1666054688=joe@example.com&entry.327623672=www.yahoo.com

GForm_SS_63

wp-SwimTeam v1.40-beta-8 available

This morning I released beta-8 of wp-SwimTeam v1.40.  This beta release addresses a couple problems.

  1. I have fix the problem when exporting the roster by a single gender in Hy-tek format results in an empty roster.
  2. I have fixed the problem where the entry count is off by 2x when export meeting entries in SD3 format as compared to HY3 format.

There was some other minor debug code cleaned up nothing visible on the Dashboard.

wp-SwimTeam Beta (2398 downloads )

wp-SwimTeam v1.40-beta-7 available

This morning I released beta-7 of wp-SwimTeam v1.40.  This beta release addresses the problem where exported Hy-tek entries won’t load into Meet Manager.  The problem was the E1 records didn’t have the gender specified in columns 14-15.  I believe this problem was introduced when I implemented mixed gender events earlier this year.

wp-SwimTeam Beta (2398 downloads )