Flip-Turn – swim results management

A few weeks ago I mentioned that I had started working on a new swim team project.  I am calling it Flip-Turn.  Flip-Turn is a basic PHP/MySQL web application which allows a swim team or swim association to publish swim results on the web in a format that is easy to navigate and view.

Dealing with results has been the last real big hole in wp-SwimTeam and I’ve started working on it a couple times only to abandon it because I didn’t like where it was headed.  Over the winter I had an e-mail dialog where a team was simply looking to store results in a database so they could be easily displayed on a web page.  As I started thinking about this I came to the conclusion that it would be an interesting project to work on and would be an easy way for me to find a better way to manage results.

For the last couple weeks I have been working on Flip-Turn as time permits and I now have a basic demo up and running.  You can see it here:  http://demo.flip-turn.com The demo is pretty simple, it allows a user to upload results in SDIF format and parses the results and stores them in a database.  The results can then be queried based on swimmer, event, or swim meet.  While pretty basic, it works pretty well.

In its current state Flip-Turn doesn’t deal with relay (E0) records but does handle individual (D0) records correctly.  In most cases, what people seem to be concerned with are their individual results so that is what I have focused on.  I don’t anything I have done will prevent dealing with relay records at a later date but for now, I don’t plan to address them.

Wile the code seems fairly robust, I am not ready to distribute the code yet as I don’t have a great solution for initializing the database tables or changes to the tables.  I need to figure something out there – right now I have an SQL script that needs to be run against the database to create the tables.  I used phpMyAdmin to initialize mine.

I fully expect to roll this effort back into wp-SwimTeam as this is something I’ve wanted to do for our swim team for a couple seasons.

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.

wp-SwimTeam v0.2.503 released

This morning I finally had some time to track down the bug that was manifesting itself on the User tab on the Report page.  This was a tricky one to find as it worked fine in my development area but not for our own swim team site (MacDolphins.org).

It turns out that if you had the right combination of user options turned on and they were Yes-No options, the filters were not being created correctly which resulted in the form not being displayed for the user.  While tracking this down I also realized that the filters only worked for Yes-No options and not for No-Yes options which they should have been.  So that has been corrected too although now that I think about it, the fix probably wasn’t applied to the Swimmer Report, only the User Report.

I have posted v0.2.503 which is available from the download page.  I strongly encourage anyone using wp-SwimTeam to upgrade as this bug could be a PITA!

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.

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.

wp-SwimTeam v0.2.496 available

I just uploaded a minor  update to wp-SwimTeam.  This release adds enhancements to the reporting for jobs and the opt-in/opt-out system.  A new field called “Notes” was added to the Jobs definition.  This field is reported when viewing the Job Assignments for a swim meet.

The time stamp for opt-in/opt-out is now included when generating a swim meet report.  The time stamp can also be displayed via the short code by adding “timestamp=’y'” to the short code.  Reporting the time stamp will allow you to easily see exactly when users submitted their request.

wp-SwimTeam v0.2.488 – bug for scratches

There was a bug in the scratch process where if you started on the Meets tab when the Scratch action was selected, there was not a list of swimmers presented for the user to scratch.  When starting on the Roster page and selecting a swimmer to scratch did work properly.  The bug has been fixed and v0.2.488 is now available for download and both paths, starting with a meet or starting with a swimmer, now work correctly.  The same bug would have affected Opt-In meets as well.

wp-SwimTeam v0.2.486 now available

A couple of new features have been added to wp-SwimTeam.

  1. It is now possible to export a single swimmer’s record to CSV of SDIF.  When a single swimmer is selected, the exported file will contain the information for just that swimmer.  When no swimmers are selected, the entire roster will be exported.  Single swimmer SDIF export is useful for importing late additions into WinSwim which is something I’ve had to do a few times this week.
  2. The LSC Registration Pyramid (SDIF) can now be generated using the Age Group Age (computed base on cut off date) instead of the swimmer’s true age.  By default the real age is exported which is what wp-SwimTeam has done traditionally.  If you want to use the computed Age Group Age, change the setting on the SDIF Profile tab from the Options menu.

A new version, v0.2.486, of wp-SwimTeam is available for download from the Download page.

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.

wp-SwimTeam v0.2.482 released!

This afternoon I uploaded v0.2.482 of wp-SwimTeam.  This release introduces the new Jobs module (aka Volunteers).  Please back up your database before upgrading as this version changes the structure of one of the tables and introduces two others.

Please let me know if you have any problems with this version.  I’ve done a fair amount of testing and I have it up and running on the MacDolphins web site.

The jobs module introduces two new short codes:

  • wpst_job_descriptions
  • wpst_meet_job_assignments

Example usage of these two new short codes can be found on the wp-SwimTeam demo site here and here.

There is also a new release of the phpHtmlLib plugin which wp-SwimTeam requires available.  This build addresses a minor issue exposed in WordPress 3.0 beta testing.

Hopefully the new Jobs module will be helpful for your team, I know it will be helpful for mine!