I have just posted wp-SwimTeam v1.40-beta-2. This update fixes the problem where adding age groups generates an error. The error only happened when using swimmer numbers that didn’t include a prefix (e.g. Simple Numeric sequence or USA Swimming format).wp-SwimTeam Beta (1012 downloads)
I am working on some new functionality to support mixed gender events. While I am at it I have decided to fix a limitation with the current Age Groups where the need to define overlapping age groups works but causes some discrepancies on the roster and other reports.
I have enhanced the definition of an Age Group so it can either be “Standard” (which is what it has always been) or “Combined”. A combined age group can support mixed genders and/or age ranges that span multiple age groups. By differentiating two types of age groups it cleans up the issues with overlapping age groups too.
Here are a couple of screen shots of what the changes look like. I am running through some testing now to make sure everything still works.
It is interesting to go back and revisit code which I wrote early in this project. When I go back and look at it, I ask myself why I implemented things the way I did. The change to the tabbed menu bar has required me to go back and visit almost every page which is presented as a menu to a user of the system.
Some of the early functionality like Age Groups and Seasons had a clunky implementation of the decision tree logic and resulted in processing the same variables to make decisions repeatedly. I have migrated the code I developed latter on for things like the Roster and Events pages and implemented “Guidance” for all pages as well.
Now that I have all of the code cleaned up, at least I think I have it all done, I need to return to the Events functionality. I need the ability to add events to a meet and then re-order them. The standard events can be used to seed the events for a meet and reordering works although it is clunky. This should probably be done with AJAX so events can be dragged and dropped into the desired order.