Over the last few days I have been working the Hy-tek HY3 equivalent of exporting SDIF meet entries. For the most part the logic is largely the same but the Hy-tek Meet Entries format is different enough that it isn’t a simple port. In particular, relay entries have me a bit stumped.
In SDIF it is possible to assign any number of swimmers to a relay event as an “Alternate” using the “A” designation in the leg field of the F0 record. As near as I can tell, the Hy-tek equivalent doesn’t exist. A relay team can be defined in the HY3 F1 record and the heat and lane assignment can be set in the F2 record. Swimmers are designated in the F3 record. So I am somewhat stumped – do I just define the relay teams and then let the assignment of swimmers to the relay teams happen within either Team Manager or Meet Manager or do I keep track of the number of potential swimmers and create the maximum number of relay teams and simply assign swimmers to each team so they can be sorted out later?
The other dilemma I face has to do with the swimmer id field which is not the same as the registration number field. The swimmer id field is an internal database field which connects D1, E1, and F3 records to the same swimmer. Within my plugin I have unique swimmer ids in the form of database record identifiers that I know will be unique. Should I use them or is simply starting at 1 and sequencing the number of swimmers as using that as an id sufficient?
My guess is the answer to both of these questions will be “it depends” and I’ll need to experiment. Life would be so much easier if Hy-tek would simply support the SDIF format correctly instead of the half assed way they do it now.
This morning I released an update for wp-SwimTeam. This version addresses a few issues and completes the Hy-tek Team Manager Roster Import functionality. You can find it on the Download and Installation page or through the WordPress Dashboard and the Plugin Repository.
Completed Hy-tek Roster export. All fields that can be mapped into some sort of logical Hy-tek Team Manager field are now supported. TM supports up to three custom fields in the roster import file, if optional swimmer fields are enabled, the first three (or fewer) will be mapped into the corresponding TM custom field.
Fixed bug where in some instances, the first name would be blank.
Fixed alignment (right instead of left) of Swimmer Id field on SDIF F0 records in entries export.
Fixed minor white space issue in PHP source code which in some cases seems to cause the Job Commitment Report to hang.
This afternoon I posted an early build of wp-SwimTeam v1.31. You can download and manually install it if you want to try it. This build completes the work for exporting the roster to Hy-tek Team Manager. All of the swimmer and parent fields that can be logically mapped into the Team Manager Athlete profile have been mapped. I was even able to map some of the Swimmer Optional fields (if they’re used) as Hy-tek Team Manager supports importing up to three custom fields.
If you run into any problems, please let me know. I’d like to release this update in the next day or so.
I have made an early release of wp-SwimTeam v1.28 available for download. This new version introduces a long requested a feature: Hy-tek HY3 format export of the roster! The exported HY3 can be read into Hy-tek Team Manager eliminating the need to hand enter your roster.
The Hy-tec HY3 support is not complete but I wanted to get it out there. Currently only D1 records are exported, the other record types which contain the contact information and address for the swimmer will be added soon. Once the roster is complete I plan to move on to meet entries in HY3 format.
Special thanks to Joe Hance and Troy Delano both who have helped me with the Hy-tek checksum and file format.
Please give it a shot and let me know if you run into any issues.
This afternoon I released an update to wp-SwimTeam. This update, v1.25.865, fixes a number of issues and adds some new features. Key in this build are a number of fixes to allow wp-SwimTeam to work under WordPress Multi-Site.
Fixed issue with missing users when running under Multi-Site.
Fixed User Drop Down select lists to work when running under Multi-Site.
Fixed display of swim meet date in several locations eliminating PHP warning message.
This afternoon I posted an update to wp-SwimTeam. This release, v1.24.846, addresses a couple of issues.
In ability to add a new season to a new installation. Made it kind of hard to get started! This bug was introduced when I added action checking and the action checking on the Seasons had a flaw in it.
Added B1 and B2 records to the SDIF export of Meet Entries. These records are required and I had simply overlooked them. The Meet Entries successfully import into WinSwim, I hope to validate with Team Manager in the next day or two.
WordPress multi-site is not functional at this time. I’ve been alerted to a bug which I am chasing which prevents the Users from being displayed. Access to the user tables is critical and multi-site handles it differently than regular WordPress does so I need to account for it.
This evening I committed v.122 of wp-SwimTeam to the WordPress plugin repository. This update completes the work I started about a month ago to overhaul the Event Model and add the ability to Export Meet entries in SDIF format such that they can be imported directly into any of the Meet Management applications.
I have made a lot of changes while working on this new functionality. If you run into anything unusual, please let me know ASAP so I can fix it.
Added new Team Profile field to identify Coach by WordPress username.
Fixed numerous potential issues when either Swimmer or User option count was set to zero. The comparison was not accounting for the difference between zero and non-existant which resulted in using the default value of 5 in many instances.
Initial support for Meet Entries SDIF export. The current implementation makes some assumptions which will eventually be under user control via a form. The exported SDIF validates with the WinSwim SDIF Checker application but has not been tested extensively with any of the Hy-tek tools nor with WinSwim itself.
Added checking and error messages for all Actions to ensure something is selected when required.
For the last week or so I’ve been working on a significant chunk of new functionality to export a Meet Entries file directly from wp-SwimTeam. I’ve got a preliminary version of it working and I am able to generate a SDIF file which passes validation with the WinSwim SDIF Checker (which is absolutely invaluable if you work with SDIF data!).
The current implementation makes some assumptions (e.g. how zero times should be handled) which need to be under the control of the end user via a form. Now that I have it working, building the form should go pretty quickly.
The basic premise of exporting meet entries works is like this:
For each event in a swim meet (a meet must have a set of events connected to it), the active roster is compared against the scratch list and the remaining eligible swimmers have entries created for them. For relay events, all eligible swimmers are listed as alternate swimmers for the ‘A’ relay team. Once the entries are in your Meet Management tool, you can re-arrange swimmers into lanes and heats as you would normally do.
I know this new feature will save our team a ton of time as we try to reconcile our scratch list against the WinSwim database – now we won’t have to. We’ll just import the entries and not have to worry about activating or deactivating swimmers.
I’ve also fixed a number of bugs so I am considering releasing an update with the functionality as it stands so people can try it out. The bugs would be most obvious when either the User or Swimmer option count was set to zero. In a number of places, the comparison was wrong and it result in using the default number of options which is 5.
This afternoon I released an update to wp-SwimTeam. This latest update continues work on the new Event Model. Events can now be imported from a Hy-tek Events File (.hyv) and connected to a swim meet. I also made a number of GUI improvements to fix flow control and be more intuitive. Other changes include:
Fixed wp-SwimTeam so it will work in sub-directory installations and WordPress multi-site.
Added new option to toggle message verbosity. Some actions generate numerous messages, this option will reduce and summarize messages.
Fixed Event Opt-In/Opt-Out which was broken with Event Model changes in v1.18.
Added ability to load Meet Events from an Event Group into a swim meet.
Fixed broken GUI controls for Events (expand, collapse, page forward and back).
Tightened up flow control between Event Groups and Events and Swim Meets and Events.
Changed buttons on for some actions (events, swim meets) to return to a logical place. “Back” and “Home” didn’t really mean anything in most cases. In particular, “Back” has been a reliability challenge so in most cases it has been eliminated.
Fixed several bugs in report generator which manifested themselves when User or Swimmer optional field count was set to zero.
Fixed bug which resulted in broken Opt-In and Opt-Out actions on the drop down lists.
Fixed bug which incorrectly entered Opt-In/Opt-Out information in Stroke format even when set for Event Mode.
If you run into any problems, please let me know and I will try and fix them ASAP. We’re gearing up for swim team season so I am actively engaged in adding features and fixing bugs right now. My next effort, which I’ve already started, is what I refer to as Phase 3 of the new Event Model which will provide the ability to export a Meet Entries file accounting for scratches and/or registrations which can be loaded directly into one of the various Swimming applications (e.g. Hy-tek, WinSwim, and others).