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.
I have fixed the bugs I noted over the weekend and also re-implemented the SDIF LSC Registration Pyramid export. The new export validates with the WinSwim SDIF Checker and I have successfully imported the MacDolphins’ 2012 summer roster into WinSwim with it. I fixed a few other bugs I found including one which prevented updating User Profiles.
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!
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.
I’ve had a couple requests to support WordPress multi-site installations with wp-SwimTeam. The Tab Model and Form Processor I use require some URL manipulation to work correctly and my original implementation works fine for “normal” installations but breaks when installed in a sub-directory which is pretty common with WordPress multi-site. I’ve put off fixing in favor of other things but recently did some work on another project which got me thinking about the URL problem.
After getting the Event Module done I decided to take a look at fixing the URL problem and found it wasn’t too hard to fix. The bigger problem was how pervasive my broken solution was! I think I have found every place which required a fix. Before I release an update I’d really like someone to try it with multi-site and give me some feedback.
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!