wp-SwimTeam v0.1.389 released

This evening I uploaded a new version of wp-SwimTeam.  It is available on the download page.  This version introduces a new report for swim meets.  The Swim Meet report’s most important feature is the listing of swimmers who have Opted-In or Opted-Out of a swim meet.  On the MacDolphins we call this a the Scratch List.

A parent can now indicate when their swimmers are participating (for meets defined as opt-in) or not participating (for meets defined as opt-out) on either a full meet or event basis.  The meet report will display a summary of swimmer participation based on the type of meet.

A couple of the options on the Report Form are disabled because they aren’t functional yet.  They will probably work in a day or two.

This release also introduces a new mode for Swimmer Labels – Frozen.  When Swimmer Labels are unlocked, they can be bulk assigned.  When they are locked, Swimmer Labels can be edited on a per swimmer basis but no bulk assigned.  When they are frozen, they can’t be edited at all.  I added this because I inadvertently reassigned the swimmer labels for the MacDolphins yesterday without meaning to.  Whoops.

I fixed a few other minor issues as well but nothing significant, mostly presentation of forms and such.

Known Issues with v0.1.377

Last nigth the MacDolphins had our kickoff party – a fun event before practice starts on Tuesday. In getting ready for the event I ran into a couple things that I will fix over the next couple days. These are the things that I found don’t work correctly:

  1. Swimmer labels can be reassigned even when the labels are locked for a season.
  2. Swimmers labels are not exported to CSV from the Swimmers Report.
  3. CSV export for Roster fails from Roster Tab.
  4. Scratch fails with array out of bounds error.

I also changed how the registration e-mail works yesterday. Instead of filling out the e-mail template with the information from the user actually doing the registration, it uses the information from the Primary Contact.  I am finding that a number of parents are asking if I can “just take care of it” for them.  This change allows them to receive the e-mail even if the Admin performs the registration on their behalf.  This change is already committed and I used it last night but hasn’t been released in a build yet.

Administrative Fields for Users and Swimmers

I had a request to support fields that weren’t visible to the end users when they used the system.  I decided to support these “administrative” fields as I have been referring to them by enhancing the optional fields for swimmers and users to be tagged as “user” fields or “administrative” fields.

When a field is defined as “administrative”, only users with WordPress permissions of EDITOR or higher will have the fields visible.  For all other users, they are hidden.  An Admin or Editor can change the value of the field and it will be saved when the user or swimmer data is saved.

The first practical usage of this is with a team that wants to mark registration fees as paid on a per swimmer basis.  Not the sort of thing you would expose to a parent but useful from a logistics perspective.

Both user and administrative fields are available in reports.

wp-SwimTeam v0.1.376 – bug fixes for Add/Register Swimmer

In the build I posted yesterday there were a couple of bugs which prevented the auto-registration feature to work when a swimmer is added.  There was also a bug in the age verification which allowed swimmers outside of the age range to added to the system and then registered for the active season.

If you download v0.1.375 yesterday, you will want to download v0.1.376 and update the plugin.

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.

Reports working again

This afternoon I finished updating the Report Generator so it completely supports the new option model.  Both CSV and HTML reports are working.  Filtering works too but right now only YES-NO optional fields are available as filters.  I am not sure if I will change that or not.

I need to run through some additional testing and then I’ll post a release.  This is enough of a change that I’ll probably bump the revision from 0.0.x to 0.1.x for both the software and database version.

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.322 posted

This afternoon I uploaded v0.0.322 of the wp-SwimTeam plugin.

Bug Fixes

  • Permission requirements were wrong – to do much of anything required the user to have Administrator permissions.  It now works as outlined in the earlier post today.
  • Reporting has been fixed to account for an odd database query issue where in some cases, the age group for swimmers would show up as “none”.

Enhancements

  • Registration has been enhanced to support registration fees.  This is still a work in progress.  The fees can be entered but nothing is done with them yet.