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


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.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”.


  • 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.

Roles and Capabilities for wp-SwimTeam

WordPress has a built in set of Roles and Capabilities.  The wp-SwimTeam plugin makes use of these standard roles and capabilities to allow certain actions to be performed.  At least it is supposed to.  It turns out that when I redesigned the menus to take advantage of the 2.7 Dashboard, I restricted access to all of the menus except the end user capability to users with Administrator privileges.

This is a mistake and this morning I committed a change which will rectify the problem.  The way it is supposed to work is as follows:

  • Subscriber – access to the “Swim Team” end user menu and capability.
  • Author – Subscriber capability plus access to the Report Generators.
  • Editor – Author capability plus access to the Manage menu and capability.
  • Administrator – Author capability plus access to the Options menu.

In theory the Options menu contains items which should be set once and by in large, left alone.  The Management menu contains the items which require regular interaction from one or more users who coordinate the Swim Team.