wp-SwimTeam v1.18.747 released

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!

Update on Events

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.

More on Event Groups

As I continue to work away on Event Groups and Event Management overall, I have realized that what I had implemented earlier was really poorly thought out.  The way I had defined events and assigned them to a swim meet really isn’t very useful.  The Event model will change quite a bit as I flush this out.  It is possible that it will be necessary to delete any existing events and redefine them using the new model.  I haven’t completely worked it out yet but that is likely where I am headed.  It makes the code too ugly to try and deal with old data that really isn’t used for anything in the new model.

I hope to have a release soon which has the base functionality done since I’ve also fixed a few other odds and ends while I’ve been in the code.

Unintended Consequences …

Last night while I was at my daughter’s basketball practice I finished up modifying the Events functionality to account for the new events groups which will allow events to be bundled into logical groups.  As I was testing everything and things seemed good to go, I realized that the Drag-and-Drop event re-ordering won’t work correctly.

The DnD re-ordering assumes there is only one set of events so as the events are rearranged they are renumbered from 1-N.  This isn’t a show stopper but I will have to come up with a new solution.  In the process of playing around with some ideas I have determined that the jQuery plugin I was using has been updated to support touch so I have folded that in and everything which was working still works.

I had hoped to get a new release out this week but that is unlikely to happen at this point.  I am not going to release anything until I have the event reordering fixed unless I get a serious bug report in which case I’ll simply disable Drag-and-Drop reordering until I get it working again.

Preview of Event Groups

This morning I finished up the first phase of Event Groups.  The Event Groups tab will appear on the Management Menu.  The next step is to up date the Event functionality to recognize the new Event Groups.  When I roll this out this update it will require a database update which means deactivating the plugin and re-activating it.

Event Groups

I’ve started on the Event Groups idea I posted about last week. The more I think about this, the more I like it.  In my case, I have three distinct sets of events I have to worry about:  Short Course Yards, Short Course Meters, and our local Invitational which is also Short Course Yards but is a different set of events from what our league normally swims.

By “grouping” a set of events with a label (e.g. Short Course Yards), it will be trivial to assign a set of events to a swim meet.  I have decided to hold off on events import until Events Groups are done so a set of events can be assigned to a group upon import.

phpHtmlLib v2.6.3.3563 released

This evening I released a new version of the phpHtmlLib plugin which wp-SwimTeam depends on.  This update addresses a number of PHP5 deprecated function warnings which are commonly seen when running under PHP5 with E_STRICT set.  I also fixed an icon bug which appeared on the GUI widget used across wp-SwimTeam when there was no data to display.

The update also removes the documentation and examples from the version of the plugin hosted in the WordPress plugin repository since they are only useful for developers.  A full version of the plugin including documentation and examples can be downloaded from the Download & Installation page.

Re-Thinking Events

Nothing like a long flight to provide an opportunity to really look into wp-SwimTeam!  After fixing a couple more bugs, I started looking at Events as they are the foundation of meet entries.

A couple years ago I added Events to wp-SwimTeam but they don’t really do much.  It was the start of some new functionality that I never had the time to finish as fixing or enhancing other aspects of the plugin were always more important.

This season I really want to add the ability to generate a Meet Entries file directly from wp-SwimTeam.  In order to do that, the first order of business is to make sure the events associated with a swim meet can be managed.

Which brings me back to Events.  In looking at Events, the functionality I originally built is ok but has what I see as one pretty serious gap.  I allow the creation of a set of “Standard Events” –events which you can consider the base set of events that your team will swim most often, probably your home pool events.  This is ok because they can easily be added to an individual swim meet.

But what happens if you have a pool, like our home pool, which is measured in Meters and all of your opponents swim in Yards pools?  Even if the events are the same, you’d probably like to have a standard set of Meters Events and a standard set of Yards Events.  Now if I am going to manage two groups of Events, I might as well manage N groups of Events right?

I am toying with the idea of adding another field to the events table (Event Group) which would allow events to be assigned to a group.  Groups could be optionally defined (default to None).  Once Events are in a Group a Group of Events could easily be assigned to a swim meet.  Additional refinement at the swim meet level would still be supported.

I also plan to support the ability to import a Hy-tek Event File (.hyv) to either a specific meet or as a set of standard events.

I’ve got a couple more hours of flight time to noodle on this, we’ll see where it goes.

wp-SwimTeam v1.13.669 available

This afternoon I posted an update to wp-SwimTeam.  You can get v1.13.669 from the download page or update from the WordPress plugin repository (recommended).  This update fixes several bugs:

  1. First and last name were displayed as “N/A” on the Users list on both the Swim Team tab and the Manage tab.
  2. The default values for “State or Province” and “Postal Code” were not stored correctly so in a new installation, the registration form would not work until these fields were set in the Options.
  3. Removed borders from sections of the Options->Swim Team form that were used for debugging the form layout and had inadvertently been left behind.   Some other minor tweaks to the layout were also made.
  4. Rudimentary 3.3.1 testing has been performed.

The update is already in the WordPress plugin repository so you should see notification on your Dashboard soon.

Gearing up for Swim Team 2012

It will be summer swim team season before I know it so it is time to start gearing up for the upcoming season.  I haven’t really looked at wp-SwimTeam since last fall and WordPress has had several updates since then. I found out today that one of the updates causes the “real name” for the users not to be returned so that is first on my list of things to fix.  There are also some GUI inconsistencies that I’d like to fix.

This is my short list of items which I want to implement this season:

  1. New/update Swim Team theme.  This really isn’t related to wp-SwimTeam per se but our site is looking a little dated and it is time to freshen it up.
  2. Results Import:  I said I was going to do this last season and I never finished it.  I really want to get this done this year.
  3. Export of Meet Entries:  The wp-SwimTeam plugin has all of the informtation (roster, scratch list, event list, etc.) to generate a Meet Entries file in SDIF format.  Providing this file will greatly simplify getting a team’s entries into either Hy-tek or WinSwim (or any other tool which imports meet entries).  This will likely be first on my list after fixing the name bug and the GUI inconsistencies.
  4. Document all of the short codes on the wp-SwimTeam demo site.  I really need to do this.  It would make it much easier for new people to pick up the plugin and do something useful with it quickly.