Archive

Archive for the ‘Ideas’ Category

Changes coming for Opt-In/Opt-Out

May 25th, 2011 No comments

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.

What isn’t in v1.6.605?

May 23rd, 2011 No comments

The major feature that I had been working on which I didn’t complete is the ability to generate a Jobs vs. Commitment report.  The Jobs module allows each job to assigned some number of credits and there is a setting to set the minimum number of credits each user is responsible for.  By default the system will use zero which means there isn’t a minimum.  In the latest release, when a user looks at their My Jobs tab, it will show the jobs they have committed to and sum up the credits.  If the sum of the credits is less than the minimum, an error notification will be displayed for the user.

Right now this message is only displayed on the My Jobs tab but an administrator will also see it when view selecting the Jobs action for any user from the Manage->Users tab.  I had given some thought to displaying the notification anytime a user logged in but have conclude that would be too intrusive.  I may make it an optional setting at some point though.

The one thing I haven’t figured out is how to handle a situation like we have with our own team. On our team we ask each family to volunteer four times (four credits) for the season regardless of how many swimmers they have.  If both parents are in the system (primary and secondary contacts) right now they would be erroneously flagged if each signed up for two jobs because together, they have met our requirement.

Reporting  job commitments versus user is pretty easy and I will do that in the next few days but I have also considered reporting job commitments versus swimmer so that both contacts can be accounted for.  In speaking with some teams locally, they require two volunteer commitments per swimmer so that is yet another permutation to account for.  In the short term I will likely only report commitments versus users and leave it at that for now and revisit it after the season as there are some other things I need for our season which starts in three weeks:  Results, Meet Entries, and some work on WinSwim/Hy-tek interoperability.

What’s next for wp-SwimTeam?

April 17th, 2011 3 comments

I have one more feature to add to the Jobs module before I consider it complete.  I have a request to be able to send out Reminder Notifications on a per swim meet basis which should be pretty straight forward to implement and I hope to have it done in the next day or two.

Once that is complete, I need to decide what to do next.  I have a couple of choices.

  1. I’ve had a couple requests to be able to import a roster into wp-SwimTeam.  I don’t think this will be too difficult technically but it does require a couple decisions.  Since swimmers in wp-SwimTeam are connected to parent or guardian users, what WordPress userid would the imported swimmers be connected to?  The obvious choice is the Admin user or user running the import.  Swimmers could then be updated at a later time to connect them to the appropriate WordPress user if/when it exists.
  2. Import results.  This has long been on my to-do list because the MacDolphins need it.  I’ve been working on processing results off an on as a side project (see Flip-Turn) with the intent to fold that work into wp-SwimTeam when it is functioning and useful.  I already have a lot the functionality working and the GUI will look familiar to wp-SwimTeam users but I have yet to tackle relays and really push the robustness of the SDIF parsing.
  3. Hy-tek/SDIF compatibility.  This is also something I need for the upcoming season.  Anyone who has read much of this blog knows that I am not a big fan of Hy-tek and their goofy checksum and weak support of SDIF.  Since it isn’t likely to change and lots of teams use Hy-tek, we need to resolve the data exchange problem.  This issue may be the highest priority for me personally and I’ve debated whether to build some functionality into wp-SwimTeam to try and resolve sharing data with Hy-tek teams.

Comments and suggestions are welcome.  I try to incorporate suggestions quickly if I can.

Categories: Development, Ideas Tags: , ,

Adding WordPress Contextual Help

February 28th, 2011 No comments

WordPress 3.0 introduced a concept called Contextual Help.  Contextual Help provides a mechanism for plugins to hook into the standard WordPress Help system.  This is pretty cool because it provides a way to provide Help that is consistent with the WordPress Dashboard.

I’ve had something I’ve called Guidance on almost every page and tab through the plugin and while helpful, it tends to clutter up the interface.  I had a question from our swimteam’s volunteer coordinator about adding more help to the page and I was worried about adding even more clutter.  I tried a couple experiments with a jQuery Dialog solution but I wasn’t happy with the results.  It was then that I wondered if I could make use of the existing Help button in the Dashboard as it is always there on the Dashboard.

After a bit of reading and some experiments I was able to have custom content displayed within the Swim Team Dashboard pages.  However, trying to have different content for each tab was a little more of a challenge.  I ended up solving this problem using a simple jQuery script to swap the default content with some tab specific HTML.  Awesome!  Elegant Help solution achieved!

I am now in the process of retrofitting this new model for every page and every tab which will take a little while.  I expect I will have a build available in a few days but in the mean time, here are a couple screen shots to get an idea of what this new Help model will look like.

image

image

Flip-Turn – swim results management

January 20th, 2011 No comments

A few weeks ago I mentioned that I had started working on a new swim team project.  I am calling it Flip-Turn.  Flip-Turn is a basic PHP/MySQL web application which allows a swim team or swim association to publish swim results on the web in a format that is easy to navigate and view.

Dealing with results has been the last real big hole in wp-SwimTeam and I’ve started working on it a couple times only to abandon it because I didn’t like where it was headed.  Over the winter I had an e-mail dialog where a team was simply looking to store results in a database so they could be easily displayed on a web page.  As I started thinking about this I came to the conclusion that it would be an interesting project to work on and would be an easy way for me to find a better way to manage results.

For the last couple weeks I have been working on Flip-Turn as time permits and I now have a basic demo up and running.  You can see it here:  http://demo.flip-turn.com The demo is pretty simple, it allows a user to upload results in SDIF format and parses the results and stores them in a database.  The results can then be queried based on swimmer, event, or swim meet.  While pretty basic, it works pretty well.

In its current state Flip-Turn doesn’t deal with relay (E0) records but does handle individual (D0) records correctly.  In most cases, what people seem to be concerned with are their individual results so that is what I have focused on.  I don’t anything I have done will prevent dealing with relay records at a later date but for now, I don’t plan to address them.

Wile the code seems fairly robust, I am not ready to distribute the code yet as I don’t have a great solution for initializing the database tables or changes to the tables.  I need to figure something out there – right now I have an SQL script that needs to be run against the database to create the tables.  I used phpMyAdmin to initialize mine.

I fully expect to roll this effort back into wp-SwimTeam as this is something I’ve wanted to do for our swim team for a couple seasons.

A new project?

December 30th, 2010 No comments

Recently I have been working on a new Swim Team related project which at some point I will likely integrate into wp-SwimTeam but for now, it is a standalone application.  Pretty regularly I receive e-mail from people who want to post their meet results online in some form or fashion.  Most of the time these results come from Hy-tek in the form of a ZIP file or a CL2 file.

Generating or posting a static web page with some results on it is pretty straight forward and most swim software can do this in some form or another.  Storing the results in a database and presenting them as part of a web site isn’t something readily available as near as I can tell.  It would be nice to be able to upload a season’s worth of results and allow swimmers and parents to review their times and see the trends.  This is basically what I am working on.

At this point I can import a SDIF meet results file and extract the meet data from it.  I have some other infrastructure complete as well and will begin working on extracting and processing all of the result records in the next day or two.

I’ve based this project on two external PHP libraries.  I am using  the 2.x thread of phpHtmlLib, which I also use for wp-SwimTeam and ADODB.  This is my first time using ADODB and so far, there haven’t been any issues.  I decided to use it because I needed a database abstraction layer and phpHtmlLib has a ADODB data source widget which makes it very easy to present data to a user.

Documenting the .hyv File Format

September 28th, 2010 4 comments

Before I spend a lot of time writing code to read Hy-tek files, I thought it would make sense to try and document them first.  I’ve started with the .hyv file format which describes the events that comprise a swim meet.  I’ve documented the fields I’ve been able to figure out in a Google Docs spreadsheet.  If you’re interested in helping me flush this out, let me know and I’ll provide the ability to update the file.

You can see what I have so far here.

Categories: Development, Ideas Tags: , ,

Swim Team results analysis tool

July 28th, 2010 No comments

Periodically I search for new swim team related software to see if anyone else is trying to solve the problems I am trying to solve.  Today I found something interesting called Natalog.  Natalog is from a company called Natavision and it is a swim results viewing and analysis tool.

I think much of what this tool can do is available in Crystal Reports but this looks to be much easier and certainly something a parent or coach might find useful.  It takes a variety of input formats including SDIF (.sd3), Hy-tek, and plain text.  Since it accepts SDIF, it can report WinSwim results very easily.

I am slowly adding reporting functionality to wp-SwimTeam and I doubt I will ever do anything to this extent.

Categories: Ideas Tags: , , ,

New option for participation?

July 23rd, 2010 No comments

The MacDolphins finished the TSA summer swim season this week.  We have dealt with a lot of weather issues this year.  TSA holds their swim meets on Tuesday evenings (most leagues I am familiar with hold them on Saturday morning).  Dealing with thunderstorms is one of things we deal with here in North Carolina almost every afternoon in the summer time and this season was particularly bad.  We had two meets end early and three meets rescheduled to another day.

Dealing with all of the changes really played havoc with our meet preparation.  Even though I’ve made it really easy for parents to scratch their swimmers (e-mail, web site, and text message), we still have a fair number of no-shows.  It was bad enough the last couple weeks that I’ve decided I want to track it.

I plan to add an option to the Opt-In/Opt-Out system which will allow a user with the proper permissions to go back and mark swimmers as No-Shows.  This will show up on the Opt-In/Opt-Out reports as a new section.  I’ll probably put it right at the top.  I am hoping this will help us track our repeat offenders and they will make a better effort to let us know when they are not swimming.

Categories: Development, Ideas Tags: ,

SDIF Utilities?

July 3rd, 2010 No comments

I am considering adding some SDIF utilities to wp-SwimTeam.  Just this week I have had to deal with submitting meet entry data to a team who uses Meet Manager.  Ugh.  Everytime I have to do this it reinforces my dislike for the Hy-tek products.

Fortunately Hy-tek now has a demo version of Meet Manager available which while limited to 6 events, is useful for testing in a limited fashion.  For example, I was able to verify that the MM RE1 export from wp-SwimTeam will load in Meet Manager.  I was also able to test quite a few permutations of SDIF E0 and D0 records until I figured out what combination of course and seed times would load successfully.

Now that I know what works I am considering adding a couple utilities that will apply changes to an uploaded SDIF file and send it back for download.  If you have ideas for SDIF manipulations that need to be made, drop a note in the comments and I’ll see what I can do.

The first one I will do will modify SDIF files to include seed times (which are optional per the SDIF specification) when the fields are blank.

Categories: Ideas, SDIF Tags: , , ,