A new project?

Recently I have been working on a new Swim Team related project which at some point I will likely integrate into wp-SwimTeam but for now, it is a standalone application.  Pretty regularly I receive e-mail from people who want to post their meet results online in some form or fashion.  Most of the time these results come from Hy-tek in the form of a ZIP file or a CL2 file.

Generating or posting a static web page with some results on it is pretty straight forward and most swim software can do this in some form or another.  Storing the results in a database and presenting them as part of a web site isn’t something readily available as near as I can tell.  It would be nice to be able to upload a season’s worth of results and allow swimmers and parents to review their times and see the trends.  This is basically what I am working on.

At this point I can import a SDIF meet results file and extract the meet data from it.  I have some other infrastructure complete as well and will begin working on extracting and processing all of the result records in the next day or two.

I’ve based this project on two external PHP libraries.  I am using  the 2.x thread of phpHtmlLib, which I also use for wp-SwimTeam and ADODB.  This is my first time using ADODB and so far, there haven’t been any issues.  I decided to use it because I needed a database abstraction layer and phpHtmlLib has a ADODB data source widget which makes it very easy to present data to a user.

Documenting the .hyv File Format

Before I spend a lot of time writing code to read Hy-tek files, I thought it would make sense to try and document them first.  I’ve started with the .hyv file format which describes the events that comprise a swim meet.  I’ve documented the fields I’ve been able to figure out in a Google Docs spreadsheet.  If you’re interested in helping me flush this out, let me know and I’ll provide the ability to update the file.

You can see what I have so far here.

Swim Team results analysis tool

Periodically I search for new swim team related software to see if anyone else is trying to solve the problems I am trying to solve.  Today I found something interesting called Natalog.  Natalog is from a company called Natavision and it is a swim results viewing and analysis tool.

I think much of what this tool can do is available in Crystal Reports but this looks to be much easier and certainly something a parent or coach might find useful.  It takes a variety of input formats including SDIF (.sd3), Hy-tek, and plain text.  Since it accepts SDIF, it can report WinSwim results very easily.

I am slowly adding reporting functionality to wp-SwimTeam and I doubt I will ever do anything to this extent.

New option for participation?

The MacDolphins finished the TSA summer swim season this week.  We have dealt with a lot of weather issues this year.  TSA holds their swim meets on Tuesday evenings (most leagues I am familiar with hold them on Saturday morning).  Dealing with thunderstorms is one of things we deal with here in North Carolina almost every afternoon in the summer time and this season was particularly bad.  We had two meets end early and three meets rescheduled to another day.

Dealing with all of the changes really played havoc with our meet preparation.  Even though I’ve made it really easy for parents to scratch their swimmers (e-mail, web site, and text message), we still have a fair number of no-shows.  It was bad enough the last couple weeks that I’ve decided I want to track it.

I plan to add an option to the Opt-In/Opt-Out system which will allow a user with the proper permissions to go back and mark swimmers as No-Shows.  This will show up on the Opt-In/Opt-Out reports as a new section.  I’ll probably put it right at the top.  I am hoping this will help us track our repeat offenders and they will make a better effort to let us know when they are not swimming.

SDIF Utilities?

I am considering adding some SDIF utilities to wp-SwimTeam.  Just this week I have had to deal with submitting meet entry data to a team who uses Meet Manager.  Ugh.  Everytime I have to do this it reinforces my dislike for the Hy-tek products.

Fortunately Hy-tek now has a demo version of Meet Manager available which while limited to 6 events, is useful for testing in a limited fashion.  For example, I was able to verify that the MM RE1 export from wp-SwimTeam will load in Meet Manager.  I was also able to test quite a few permutations of SDIF E0 and D0 records until I figured out what combination of course and seed times would load successfully.

Now that I know what works I am considering adding a couple utilities that will apply changes to an uploaded SDIF file and send it back for download.  If you have ideas for SDIF manipulations that need to be made, drop a note in the comments and I’ll see what I can do.

The first one I will do will modify SDIF files to include seed times (which are optional per the SDIF specification) when the fields are blank.

wp-SwimTeam v0.2.484 available

A new version of wp-SwimTeam has been posted.  This releases fixes a couple minor bugs which prevented display of swim meet information in certain situations when scratching or registering from a swim meet.  This version also introduces two new features:

  1. Open or Close the registration system. When the registration system is open, users can register their swimmers for the current season.  When the registration system is closed, only an Admin or Editor can register swimmers.  This setting appears on the Registration tab from the Options sub-menu.
  2. Enable or disable user sign ups for jobs. When the job system is set for user sign ups, a user can sign up for any open job.  When the job system is set for admin sign up, users with either Admin or Editor roles can sign users up for jobs.  This second mode is good for teams where a paper or Excel list is used for job sign ups.  This setting appears on the Swim Team tab from the Options sub-menu.

Exploring Roles and Capabilities

I’ve had a request from my team, the MacDolphins, to be able to send e-mail to the parents of specific age groups.  We do a number of activities that are limited to older kids or only for a specific age group so I’ve been aware of this need for a while.  Unfortunately I don’t have an easy way to solve it.

I think the WordPress Roles and Capabilities functionality may be the answer to my problem.  I could create a role for each age group and assign the users that have a swimmer in that age group to the appropriate roles.  By doing this, I think I can continue to use the Email Users plugin to contact specific groups of users based on the roles defined.

I need to do more research on Roles and Capabilities.  I’ve played with a couple plugins and they aren’t real straight forward.

Working out volunteer management

I had done some work on volunteer management last year but put it aside to focus on other features.  I have picked it back up and found that one of the assumptions I had made last fall was completely wrong.

I concluded over the weekend that volunteers is three phases:

  1. Definition of volunteer roles which are referred to as “Jobs” within wp-SwimTeam.  The definition of a job includes the title, description, type of job, duration, where it is needed (home, away, both), and a few other details.
  2. Assignment of jobs to a season or meet.  Some jobs span a season, some are only for a meet.  The number of people needed to fill the jobs will differ from team to team and from pool to pool.  You might need 3 timers for a 6 lane pool but 4 for a 8 lane pool (assuming each team provides half the timers).
  3. Assignment of people to the jobs.  Once all of the jobs are defined and allocated for each meet and season, people need to sign up (or be assigned) to the jobs.  Initially I expect to only implement assignment and will add sign up later.

I’d be curious to know if anyone can think of a scenario that this won’t work for.  I’ve got phase 1 completed already and will start on phase 2 this week.

New wp-SwimTeam support forum

This evening I installed the Simple:Press forum plugin. This forum should be used for questions, bug reports, and anything else related to wp-SwimTeam. I will try and add some information on installing and configuring wp-SwimTeam soon but I am also considering adding a Wiki for documentation. Click on the Forum tab along the top of the page to access the forum.

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.