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.
I get a fair number of questions about how to import swim team data from one place to another. Most of these questions are from people like me who have information in one place and want to figure out how to use it again without having to type it in again.
In theory, SDIF (Swim Data Interchange Format) should address this issues. SDIF is a standard published by USA Swimming. If you visit the USA Swimming web site and search for SDIF, you won’t find much. The SDIF 3.0 specification is pretty old, it was published in 1998.
There is a page which references the newer XSDIF specification but I am not aware of any swim software which currently supports it. So in reality, the 3.0 version of the SDIF specification (this is a very poorly formatted document – if you’d like a better version, download the SDIF specification from the WinSwim web site) remains the standard to work with.
If you are interested sharing ideas, solutions, problems, etc. with others who are trying to solve similar problems, please join the SDIF Forum Google Group. It seems like there are quite a few people trying to solve similar problems, the Google Group should help people communicate.
As it relates to wp-SwimTeam, one of the first things I need to solve is the ability to upload a Hy-tek Events File and connect the events to a swim meet. This is necessary in order to upload results for a meet and connect them to a swimmer. This information could be extracted from a results file but Hy-tek events files are frequently available so I want to leverage the information they contain.
Being able to engage in a dialog on how to parse the .hyv or .hy3 files would be really helpful for me, I am sure it would be beneficial to others as well. In many cases, someone has probably already written a script or Excel macro to extract the information. I can’t imagine how many times the wheel is being reinvented – I am guessing lots!
The MacDolphins summer swim season ended this past Tuesday but there are few things I wanted to fix while they are still fresh in my mind.
Our volunteer coordinator had asked me if I could make it so she could export the Job Assignment Report to Excel. When I got into it I realized that the approach I was taking with the original Job Assignment Report was based on an old report and I really should have based it on the Users report.
Since the Job Assignment Report leverages the User information, I was able to base the new Job Assignment Report on the classes for the User reports. This was absolutely the right decision as it saved me from writing a bunch of new code which would be similar to. if not exactly the same as, the code for the User Report.
This release fixes a couple of minor nits but mainly it introduces a new Job Report which can be exported as a CSV file which is easily manipulated with Excel. The report can also be generated as a HTML table and allows the user to specify which fields are to be included in the report.
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.
I’ve been doing some research into Meet Manager and its ability to import an SDIF entries file. Since so many teams use Meet Manager, getting data into it is pretty much of a requirement.
I posted previously on this topic but this year, as I was preparing our entries for the Cary City Meet, I did some experiments. Hy-tek now makes a demo version of Meet Manager available. The demo version is limited to six (6) events which makes it useless for doing much real work but it is fine for some simple experiments like I wanted to do.
What did I learn?
Meet Manager is really picky about SDIF. This really isn’t a surprise. The first thing I ran into was SDIF files (which are ASCII) that go through e-mail as simple attachments rarely will read into Meet Manager successfully. There is something about line endings that Meet Manager is unusually sensitive too. This issue can be avoided by zipping an SDIF file before sending it via e-mail. You can actually load the zip file into Meet Manager directly, Meet Manager will unzip it for you.
The real compatibility issue comes from D0 and E0 SDIF records which don’t have a seed time. Meet Manager simply does not like records without a seed time (blank) even though the SDIF specification indicates this is legal.
To get past this issue, the SDIF file must contain either “NT” or “00:00.0” (right justified) in the seed time field AND the course code. Meet Manager will accept both formats as “no seed time”.
Unfortunately Meet Manager still does not read heat and lane information from the SDIF record. This is really a nuisance. As near as I can tell the only way to get heat and lane information into Meet Manager is via a .CL2 file (maybe) or via a .HY3 file (definitely). Of course both of these file formats, which are similar to SDIF, contain the Hy-tek proprietary checkum for each record.
I would really like to solve this problem as it would make interchanging data so much easier.
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.
This afternoon I posted a new version of wp-SwimTeam. This version adds e-mail confirmation to the opt-in/opt-out process. It now behaves much like registration does, sending a confirmation e-mail to the swimmer’s guardian and to the e-mail address configured to receive opt-in/opt-out notifications.
There were a also a few minor bugs addressed but nothing of any real consequence.
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.
I updated WordPress to 3.0 the other day and surprisingly, had quite a few problems. In particular, the LifeStream plugin doesn’t seem to be very happy. The update process for WordPress itself failed once but succeeded when I ran it again. I had to actually delete LifeStream and re-add it and even then, it wasn’t quite happy. The updater never returned but WordPress seems to be operating ok. This is the first time in 4+ years of using WordPress that I’ve run into anything like this. Hopefully it will not be a big issue as I have a number of sites I need to update.