wp-SwimTeam v0.1.375 – Age Group Cutoff fixes and more

I have just uploaded  v0.1.375 of the wp-SwimTeam plugin to the downloads page.  This build fixes an issue with swimmers who have birthdates in close proximity to the age cutoff AND they are at the maximum age.  The calculation of the “adjusted” age was incorrect in some cases resulting in swimmers not being able to be registered.

In addition to fixing this problem, I added some additional error checking and validation around swimmer birthdates and registering for an active season.  The Add Swimmer capability now includes an “override” to allow swimmers who are too old to be added to the database.  This is being done to support team records, which likely has swimmers who have long since aged out of swim team.

This build also fixes an issue with database queries that appears from time to time when a large number of swimmers was in the database.  The query infrastructure has been improved to leverage the existing WordPress query structure.

There were also a few more UI clean up changes.

This build has not had an extensive amount of testing but I believe it is an improvement over the last build.  I hope to get some solid testing in tonight using a dump from the MacDolphins database.

wp-SwimTeam v0.1.371 – UI improvements, Opt-In, Opt-Out

This afternoon I posted v0.1.371 of the wp-SwimTeam plugin on the download page.  This build cleans up some UI issues and adds the baseline functionality for Opt-In/Opt-Out (aka Register and Scratch).

I have been noodling on how to implement the MacDolphins need for an online scratch sheet solution since I started this project.  It was one of the areas we really struggle with.  We’ve had a scratch sheet posted on the bulletin board for people to sign up on but it was ineffective.  We’ve tried using e-mail which worked better but getting the information from the collection point to the heat sheet continued to be problematic.  Hopefully connecting it to the web site will be a good solution to this ongoing problem.

The basic functionality is now working.  When a swim meet is entered into the system, it is characterized as either Opt-In or Opt-Out (the labels can be set from the Options menu).  An Opt-In meet requires all swimmers to register in order to participate.  An Opt-Out swim meet assumes all active swimmers are participating unless the swimmer withdraws from a meet (or subset of meet events).  For the MacDolphins, all dual meets are Opt-Out events and our local invitational city meet is an Opt-In event.

In addition to the new Opt-In/Opt-Out functionality (which doesn’t include reports yet), I made quite a few improvements to the UI, particularly with the messages which are displayed after an action is executed.  I also took care of some CSS issues which were most notable when using the default light blue Dashboard color scheme.  I prefer the grey one which is why I hadn’t noticed the problem previously.

The next phase of Opt-In/Opt-Out will be reporting followed by exporting a meet specific roster in SDIF format.

wp-SwimTeam v0.1.357 available

This morning I uploaded v0.1.357 of the wp-SwimTeam plugin.  You can download it from the download page.  Note the bump of the minor version number from 0 to 1 in this build.

This build completes the changes to the option model for the optional fields for users and swimmers.  In prior builds the optional fields were hard coded at 5 for both swimmers and users and the data was stored as part of the user and swimmer records.  This build allows an administrator to set the number of optional fields for users and swimmers (independently) and offers several new types of optional fields (required and optional URLs and e-mail addresses) and stores optional data in a separate table.

The extent of this change was pretty extensive which is why there hasn’t been a release in almost a month.  Unfortunately the old option data is not migrated to the new table so if you are using optional fields, you may have to re-enter some data.  I had to do this with my own swim team.  It is a nuisance.  The old data is still in the database in the users and swimmers table but not accessed.

This build also fixes numerous GUI nits with messages and guidance, it should all be consistent now although I am sure I have missed something.  It also fixes a bug with age groups when swimmer label prefixes are not being used.

I strongly recommend backing up your database before installing this update!

How to handle inactive users?

Since I am into the second season of using wp-SwimTeam for the MacDolphins I am running into families who swam last year who don’t plan on swimming this year.  When I started building wp-SwimTeam I made the decision that I didn’t want to delete swimmers or families so pool records and a history could be kept easily.

The wp-SwimTeam plugin handles inactive swimmers and families just fine however the E-mail Users plugin we’re using to contact our swim families doesn’t know anything about active or inactive families so people who aren’t interested any more are getting copies of e-mail they shouldn’t really receive.  Most ignore them but some don’t want to be bothered.  I don’t want to build an e-mail system into wp-SwimTeam, there are plugins that already do that.  I am not really interested in building a custom role manager either but that might be the solution.  By default I have all users as subscribers now, I could also look into assigning inactive users to have “no role on this blog” and see if that prevents them from receiving e-mail.

Update on the Option Model

I haven’t posted much for the last couple weeks – I have been very busy at work including a very short notice trip to Stockholm.  I have not had as much time to work on wp-SwimTeam as I had hoped I’d have.  Usually I can get a lot done on the flight home from Europe but not this time.  I had to fly Continental and the plane was packed – not real conducive to getting work done.

Anyway, I am back and have been working on re-implementing how I had handled the optional fields for users and swimmers.  It has always bothered me that I had hard coded five (5) optional fields in – I knew it was wrong but never bothered to work out a better solution.  Before I left for Sweden I implemented a new model which is loosely based on how WordPress handles user meta data.

I had completed the work on the user and swimmer profile aspect of the new option model but the Report Generator was broken as was the ability to export users and swimmers in CSV format.  It turns  out fixing the Report Generator was more involved than I thought it would be but I now have the User portion of it completed and committed to SVN.  Doing the swimmer report should be pretty straight forward, I can reuse most of the code.  The hard part is done, to do it for swimmers is pretty simple.

So what is the downside?  I haven’t figured out a good way to migrate any information currently stored in the old option fields to the new model.  For our swim team I think I am just going to manually re-enter since we have decided to eliminate one of the fields anyway.

On the upside, the new option models allows the site administrator to configure an arbitrary number of extra fields and fields can now be defined as URL, E-mail, Text, Clothing Size, or Yes-No fields.

wp-SwimTeam v0.0.326 available

This afternoon I posted a new version of the wp-SwimTeam plugin to the download page.  This update adds new functionality to the swimmer registration process.  There is also the initial stages of registration fees.  You can define what the registration fee is globally and then override it at the age group level.  There is no support currently for a family discount.

New

If your team has Terms of Use (aka Rules and Regulations) and/or Billing information posted on your web site, you can add the URL(s) to the Registration Options and the link(s) will be displayed on the Registration Form and the user will be required to acknowledge the information via a Check Box.  The MacDolphins needed this for billing purposes.

The other new feature is the addition of e-mail confirmation of registration (and unregistration).  The person performing the action is sent an e-mail as is the list of e-mail addresses set up on the Registration Options tab.

Bug Fixes

A couple of minor form layout items were fixed in this build, nothing of major significance.

wp-SwimTeam v0.0.313

wp-SwimTeam v0.0.313 is now available from the download page.

New

This update adds new reporting functionality for both swimmers and parents.  Full details for a swimmer, including their primary and secondary contact, can be generated.  Output of HTML (in a web page) reports is now supported.

Bug Fixes

This update fixes a problem with the Update Swimmer function which resulted in the form being displayed again after a save but only when nothing was changed.

wp-SwimTeam v0.0.310 available

As I noted in an earlier post, a minor update to the wp-SwimTeam plugin has been posted and is available for download.  This update fixes a the issues I encountered as I worked on the MacDolphins registration.  A couple of them were just dumb mistakes – some hardcoded paths that assumed the plugin path (from before I knew how to determine the plugin path).

While I was fixing the Report Generator I enhanced it – it can now export the primary and secondary contact details but only to the CSV version of the report.  The HTML report will be updated as well in the next day or two.

Note:  Make sure you download and install the phpHtmlLib plugin!  wp-SwimTeam won’t work with it.

Demo Site up and running

I have an initial demo site up and running at http://demo.wp-swimteam.org/.  The demo site still has a few issues but I expect to flush those out of the next week or so.  If you are interested in this plugin and want to play around with it, feel free to register with the demo site and add some sample swimmers.  It will give you a feel for how the end users uses the site.

If you’d like to explore the administration aspect of the plugin, go ahead and register and I will give your User Id the appropriate permissions.  The demo site has been populated with a bunch of dummy users and swimmers and a few swim clubs.  A sample schedule has been set.

One thing about going through the process, it exposed a few things I failed to include in the GUI redesign!  I’ll fix those issues in the next couple days.

wp-SwimTeam-Demo plugin

When I am working on the plugin I find that I frequently need to populate the database with a bunch of user and swimmer information.  It is easy to add a few opponent swim clubs and some other information but adding a bunch of dummy users and swimmers takes a while.

This past weekend I started working on a separate plugin that will populate the database with a random number between 25 and 100 dummy users each with between 1 and 4 swimmers, each registered for the current season.  This generation of users and swimmers happens when the plugin is activated.  The plugin can be deactivated and then activated again to add additional users and swimmers.

This plugin was used to populate the database on the new wp-SwimTeam Demo site.