More thoughts on the Opt-In/Opt-Out changes

I’ve made a fair amount of progress today on the new Opt-In/Opt-Out Event model.  One of the big benefits of this model is it will facilitate being able to generate a Meet Entries file (SDIF) which could be consumed by Hy-tek Meet Manager or WinSwim.

The meet event information has been in wp-SwimTeam for quite some time but I’ve yet to do anything with it as other things, like the Jobs system, have taken priority.  Knowing which swimmers are registered for which event will make the generation of a Meet Entries file fairly straight forward to implement.

Changes coming for Opt-In/Opt-Out

I’ve had an ongoing dialog with a team in Texas using wp-SwimTeam that has a much different usage model for participating in Swim Meets than the MacDolphins do.  Instead of registering or scratching for a meet, their team has their swimmers register for particular events.  In speaking with a parent of one of our year round swimmers, they do the same type of thing for their year round meets.

Wp-SwimTeam doesn’t currently support this usage model but I can see the need to do so.  The system already allows the definition and assignment of events to a swim meet, it needs to be extended to allow swimmers to register to particular events instead of the global Opt-In/Opt-Out option which is currently available.

I don’t plan to eliminate the current usage model because it works well for our swim team but I plan to extend it by allowing what I am referring to as the Opt-In/Opt-Out usage model which will either be by Stroke (the existing model) or by Event (the new model).

Fortunately the data model I set up when I first implemented Opt-In/Opt-Out will handle this change fairly easily with one exception.  For some odd reason I called the field in the database which stores the stroke code ‘eventcode’.  This was a bad idea and I am going to change it to ‘strokecode’ in the next release of the plugin which will cause a bump in the database version.  This isn’t the first time I’ve changed a database column name so I am not too worried about it but I wanted to be up front about what I am doing and why.

In the current Opt-In/Opt-Out Stroke based usage model a user can start from a swim meet and update all of their swimmers on a per meet basis or they can start from a swimmer and update all of the meets on a per swimmer basis.  This will remain the case.

However, for the Event based usage model all action will have to be initiated from the swimmer, it will not be possible to update multiple swimmers for a single meet.  This change is due to the swimmers being in different age groups so the events have to be relevant to a swimmer which isn’t possible (or easy anyway, I guess anything is possible) for multiple swimmers.

What about swim ups?  I am not sure how I want to handle swim ups right now.  In the first implementation I will allow an Admin user to register a swimmer into any event but a parent/guardian (standard user) will only be allowed to register their swimmer for the events that correspond to the swimmer’s age group.

Feel free to comment on whether or not I have missed anything and I am looking for someone to validate the usage model once I have it up and running on the wp-SwimTeam Demo site.