What’s next for wp-SwimTeam?

I have one more feature to add to the Jobs module before I consider it complete.  I have a request to be able to send out Reminder Notifications on a per swim meet basis which should be pretty straight forward to implement and I hope to have it done in the next day or two.

Once that is complete, I need to decide what to do next.  I have a couple of choices.

  1. I’ve had a couple requests to be able to import a roster into wp-SwimTeam.  I don’t think this will be too difficult technically but it does require a couple decisions.  Since swimmers in wp-SwimTeam are connected to parent or guardian users, what WordPress userid would the imported swimmers be connected to?  The obvious choice is the Admin user or user running the import.  Swimmers could then be updated at a later time to connect them to the appropriate WordPress user if/when it exists.
  2. Import results.  This has long been on my to-do list because the MacDolphins need it.  I’ve been working on processing results off an on as a side project (see Flip-Turn) with the intent to fold that work into wp-SwimTeam when it is functioning and useful.  I already have a lot the functionality working and the GUI will look familiar to wp-SwimTeam users but I have yet to tackle relays and really push the robustness of the SDIF parsing.
  3. Hy-tek/SDIF compatibility.  This is also something I need for the upcoming season.  Anyone who has read much of this blog knows that I am not a big fan of Hy-tek and their goofy checksum and weak support of SDIF.  Since it isn’t likely to change and lots of teams use Hy-tek, we need to resolve the data exchange problem.  This issue may be the highest priority for me personally and I’ve debated whether to build some functionality into wp-SwimTeam to try and resolve sharing data with Hy-tek teams.

Comments and suggestions are welcome.  I try to incorporate suggestions quickly if I can.

Ramping back up for Swim Team

I have not done much work on wp-SwimTeam over the past few months but about a week ago I dusted off my virtual machine (have I ever mentioned how much I love VMware Workstation?) in preparation for the upcoming season.  Since I last worked on the project there have been numerous patches for Windows XP (my development area is an XP VM) and WordPress has moved from 2.7 through the 2.8.x releases and is now on 2.9.1.

All new work will be done against 2.9.1 (for now) so I have upgraded WordPress and the plugins that I use in conjunction with wp-SwimTeam.  There are two areas where I will focus on immediately – importing results which I never finished last year and volunteer management.  I’ll probably finish the portion of results I am working on right now and then move on to volunteer management since we’ll need that functionality in March when the MacDolphins do registration.

Charting Results

As I work on results functionality I have several ideas floating around my head.  One is the ability to chart swimmer results over the course of a season or possibly several seasons.  Charting over several seasons raises some issues (e.g. different age groups, event distances, etc.) but charting results for at least one season would be interesting.

I had thought about using the same functionality that the WordPress.com Stats plugin uses which is Open Flash Chart to plot results.  Today while looking for something else, I may have found something which is a better solution:  pChart – a PHP library for building charts!

Hopefully I will get to try it out in the next few weeks.  I have been sidetracked by a WordPress project for my daughter’s soccer team so Swim Team will have wait a little longer.

New functionality in the works

I haven’t posted much but I have been working on wp-SwimTeam off and on now that the MacDolphins summer season is over.  I haven’t released anything yet but I’ve made some significant improvements. 

Opt-In/Opt-Out

Improvements have been made to the Opt-In/Opt-Out process to make it much less confusing.  The Opt-In/Opt-Out form is now smarter, only presenting the list of strokes to the user when a Partial Opt-In/Opt-Out is selected.  The ability to Opt-In/Opt-Out has also been added to the “My Swimmers” tab to make it easier to find.

Login Redirect

I’ve also added a new option to control what happens when end users login to a site running wp-SwimTeam.  For most users, landing on the WordPress Dashboard page is confusing.  They don’t care about 99% of the stuff presented to them nor should they.  The plugin now allows definition of a login redirect so the user can be sent to either the home page or the Swim Team Overview (which is what I expect to use most of the time) page.  Landing on the Swim Team Overview page makes the most sense for most users since when they login, they are most likely doing some level of interaction with the swim team functionality.

Results Import

Results import is still  in progress, the other two areas mentioned above are complete.  At this point importing results does little more than perform a first pass validation that the supplied file is indeed a SDIF results file.  Now that I have the uploading and validation complete, I need to work on the data model to store results.  Results will be connected to swimmers and meets and events.  Since a new table will be created, results will change the database version when it is released.

Initially I expect to simply report results from a meet and be able to look at results for any given swimmer.  Longer term I want to use Open Flash Chart to plot results on a per swimmer basis over the course of a season or possibly several seasons.  I don’t expect to get to this until much later this year though.

WordPress 2.8.x

I am still working with WordPress 2.7.1 in my development environment.  I haven’t even tried 2.8.4 yet so I have no idea what the impact is.  I will likely do so once I am done with the results.

Meet event loading is working!

This afternoon I was able to get event loading working for individual swim meets.  The system allows the definition of a standard set of events.  These events can be loaded into a swim meet to seed the swim meet and then tweaked for the needs of the specific meet (e.g. running the 6 & under groups early).

In the process I fixed a couple other broken things, the most important one being the controls on the GUI Data Lists widgets didn’t work on the ones which had a drop down menu.  Now that the events are loaded, I can start working on bringing the results of a swim meet back into the system

Before I do that, I will probably work on the volunteer system as that is something I need for our own swim team soon.

Started Adding Event Functionality

In order to keep a history of swim times (aka results), the events the times are associated with need to be defined.  I guess technically that isn’t true, a simple time history could be kept but as long as I am going to import times and keep them as a history, might as well associate them with a meet too.

To do this I started working on defining the events for each meet.  Since most teams swim the same events in the same order at most of their meets, I have established a “default” set of events.  I have this new functionality working now.  What is left to do is to elegantly re-order the events (since re-ordering them is inevitable) and to use them as a basis for populating the events for an actual meet.

This functionality is also the basis of Opt-in/Opt-out because I have decided to let swimmers opt in or out of individual events and as well as entire meets.  This is a need for the MacDolphins because we many of our swimmers are in year round school and since our league swims on Tuesday nigths, for some portion of our team, it is a school night.  We have a fair number of swimmers who opt out of the later events because of it being a school night.