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.
I have made an early release of wp-SwimTeam v1.22 available for download. This new version introduces the ability to export a Meet Entries file in SDIF format. I touched a lot of code as I worked on this feature and fixed a bunch of bugs as well as some nits which have always bothered me. This version also adds checking on the various actions to ensure that when a selection is required, one has been made.
Please give it a shot and let me know if you run into any issues.
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 morning I released v1.20.790 of wp-SwimTeam. This release addresses a bug which only appears on some hosting configurations where the URL http://www.example.com and http://example.com don’t resolve to the same place. It isn’t clear to me why the server variables sometimes truncate the prefix but in some cases it happens and in some cases it makes a big difference.
Thanks to a couple teams for letting me access their site and chase this problem down as it doesn’t happen on my own sites. This version makes use of the WordPress API (which I probably should have done that in the first place) to construct URLs for the tabs instead of parsing the PHP server variables. I’ve done a fair amount of testing on four different sites over the past 24 hours so I feel pretty good about the new implementation.
I have also incorporated this URL fix into the construction of the links on the Tabs for the Swim Team, Manage, Reports, and Options pages. While I wasn’t having a problem here, the new solution is the “correct” way to construct the URL and should be more robust in different WordPress configurations. WordPress has already figured out the various server configurations, no need to reinvent the wheel!
I have just pushed out v1.20.787 of wp-SwimTeam. This release fixes a pretty serious bug in the Jobs module. If Jobs were assigned using the Swim Meets tab, other jobs could potentially be unassigned, possibly even from prior seasons. Hopefully my own team was the only one affected by this problem. The WordPress Plugin repository has been updated as has the Download & Installation page.
One of the changes I made in the last week has introduced a pretty significant bug in the Jobs module. If you assign a set of jobs from the Swim Meet tab, it may unassign a bunch of previously assigned jobs, possibly even from prior seasons. I have identified the bug and am in the process of fixing it.
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).
I flew out to Phoenix and back this week and had some airplane time to work on wp-SwimTeam. I have completed what I am calling “Phase 2” of the Event Model changes. Events can now be assigned to a swim meet AND the Opt-In/Opt-Out system is working in the Event Mode (which I had broken in v1.18).
The majority of the work in this build is related to Events and their connection to swim meets which is the precursor to Phase 3 which will be the generation of Meet Entries in SDIF format that can be imported into tools like MeetManager and WinSwim. I have also fixed quite a few bugs in the report manager which were present when either the User or Swimmer option count was set to zero. There was some logic that didn’t test right and would result in using the default count which is 5. So if you have seen checkboxes without labels on the User or Swimmer report generator, this has been fixed.
Please let me know if you run into any issues. I am doing some testing with our team right now and we have our pre-season open house this weekend which tends to result in a good chunk of our registrations. Assuming all goes well, I’ll release an update to the WordPress repository early next week if not sooner.
This afternoon I released v1.18.747 of wp-SwimTeam. This release includes what I am calling Phase 1 of the new Event Model. The event model has been completely overhauled in anticipation of being able to generate Meet Entry files in SDIF format directly from wp-SwimTeam. The whole Events tab looks and works differently. Events are collected into what I call Event Groups. This release adds the ability to import events from a Hy-tek Events File (.hyv). Events are managed (added, deleted, imported, re-ordered, etc.) within the context of an event group. In Phase 2 events will be connected to a swim meet via an event group although the swim meet will still retain the ability to re-order the events on a meet by meet basis.
Key features in this release are:
Phase 1 of overhauled Event Model is complete. The new Event Model introduces the concept of Event Groups. Events are now defined in the context of an Event Group. Swim meets currently do not have any connection to Events but that will chance in a release fairly shortly in Phase 2.
Added ability to import events from a Hy-tek Events File (.hyv) into an Event Group.
Added ability to delete all events from an Event Group.
Changed Google Maps API Key from required to optional. If the API key hasn’t been entered, wp-SwimTeam will now gracefully work without it.
I changed a lot of code in this release, if you run into anything odd or functionality that isn’t working or behaves differently, let me know ASAP and I’ll do my best to fix it quickly. Now that I am back to a stable code base I should be able to turn bug fixes pretty quickly. That is hard to do when you’re doing a bunch of remodeling!
This release has been committed to the WordPress Plugin Repository so you should an update notification on your Dashboard. You can also download it and manually update it from the Download & Installation Page.
Edit (4/16/2012 @ 10:07 AM): This update includes a database update so you must de-activate and re-activate the plugin after updating to have the database upgrade run. One of these days I’ll figure out a more elegant way to do this!
I’ve been working on Events quite a bit over the last couple of days. At this point I have all of the Event Management working again including the ability to import a Hy-tek Events File (.hyv). I have not gotten to the point where I can connect the events to a swim meet but I don’t think that will take too long. I will likely release an update with the progress I have to date. Even with Events unfinished, it actually does more than the old Events Model does. I have also fixed a few other odds and ends that I’d like to make sure get released sooner rather than later.