wp-Swimteam v0.0.307 posted

A minor update to the wp-SwimTeam plugin has been posted and is available for download.  This update fixes a few minor issues I encountered as I prepared for a presentation to the Tarheel Swimming Association.  I am changing the way the Guidance for each user and management tab is displayed.  What was previously a DIV is now a table and looks a little better and more consistent across browsers.

Note:  Make sure you download and install the phpHtmlLib plugin!  wp-SwimTeam won’t work with it.

Working on Jobs and Volunteers

I was out of town last week for work and thought I might have some free time to work on the plugin but other than my plane ride home, I had none.  So I didn’t make much progress but this morning I was able to finish up the admin side of the Swim Team Jobs and Volunteers.

Most swim teams rely heavily on volunteers so having a system where parents can sign up to work meets and practices is really important, at least I think so.  I know it is important to the MacDolphins.

Because all volunteer jobs aren’t equal, I decided to allow a value to be assigned to a job.  This way a report can be generated which reports the amount of volunteer contribution associated with each swimmer.  Some teams may elect not to use this and I will end up making it a configurable setting at some point but for now, it is on.

Now that I can define all of the jobs, I need to let people sign up for them – that is next on the to-do list.

Demo Site up and running

I have an initial demo site up and running at http://demo.wp-swimteam.org/.  The demo site still has a few issues but I expect to flush those out of the next week or so.  If you are interested in this plugin and want to play around with it, feel free to register with the demo site and add some sample swimmers.  It will give you a feel for how the end users uses the site.

If you’d like to explore the administration aspect of the plugin, go ahead and register and I will give your User Id the appropriate permissions.  The demo site has been populated with a bunch of dummy users and swimmers and a few swim clubs.  A sample schedule has been set.

One thing about going through the process, it exposed a few things I failed to include in the GUI redesign!  I’ll fix those issues in the next couple days.

wp-SwimTeam-Demo plugin

When I am working on the plugin I find that I frequently need to populate the database with a bunch of user and swimmer information.  It is easy to add a few opponent swim clubs and some other information but adding a bunch of dummy users and swimmers takes a while.

This past weekend I started working on a separate plugin that will populate the database with a random number between 25 and 100 dummy users each with between 1 and 4 swimmers, each registered for the current season.  This generation of users and swimmers happens when the plugin is activated.  The plugin can be deactivated and then activated again to add additional users and swimmers.

This plugin was used to populate the database on the new wp-SwimTeam Demo site.

Meet event loading is working!

This afternoon I was able to get event loading working for individual swim meets.  The system allows the definition of a standard set of events.  These events can be loaded into a swim meet to seed the swim meet and then tweaked for the needs of the specific meet (e.g. running the 6 & under groups early).

In the process I fixed a couple other broken things, the most important one being the controls on the GUI Data Lists widgets didn’t work on the ones which had a drop down menu.  Now that the events are loaded, I can start working on bringing the results of a swim meet back into the system

Before I do that, I will probably work on the volunteer system as that is something I need for our own swim team soon.

Restructuring the Menus

I had some time today to work on the plugin and I was able to get a lot of the menu work completed that has been nagging at me.  I still have a little more to do though.  From the two screen shots below you can see that the icon in the Swim Team top level menu doesn’t look very good when the menu is active.  It looks find when another menu is active.  This shouldn’t be too hard to fix though.

I am pretty happy with the other changes I made.  The most notable being moving the Options tab off the Management page to it’s own page and breaking the huge form up into four separate forms.  The options (aka settings) are all now logically grouped.  I also fixed a couple bugs I encountered as I was testing it.

I also moved the Report Generator off the Management menu into it’s own page as well as I envision having several standard reports available in addition to the Report Generator.

wpstss01 wpstss02

Dashboard Icons

This weekend I decided to start working on the Dashboard Menu.  WordPress 2.7 changes the Dashboard quite a bit and the way I had done the menus previously still worked but wasn’t very intuitive.  As familiar as I am with the plugin, I still found myself hunting for several of the items.

I used to have a top level Swim Team menu but had removed it because it didn’t play nicely with some of the Admin Menu plugins.  2.7 cleans up that problem (I think) and I have added the top level menu back in.  2.7 also supports adding a custom icon for top level menus.  I found a couple of SVG images on Wikimedia Commons that I will probably use with the plugin.

Right now I am using the diver as the icon for the plugin and it looks pretty good!

There is a pretty good write up on how to Top Level Menus and how to Add Icons to the Dashboard on WpEngineer.com.  I found one other explanation but this one is easier to follow.  I had posed a question on the Wp-Hackers mailing list about how big the icon should be but still don’t have an answer.

phpHtmlLib as SVN external?

I have noodled on how to handle wp-SwimTeam’s dependency on phpHtmlLib on several occasions.  Today I was at the gym with my mind wandering while I was on the elliptical machine, I started thinking about it again.

I am considering pulling it into the plugin as SVN external.  This would allow me to ensure it is always installed.  Doing this will greatly simplify the download and installation process for the end user as well which ultimately will make it easier to support users of the plugin.  The more I think about it, the better idea I think this is.  I need to read up on SVN externals!

Back in the saddle

Last night I got my wp-SwimTeam development environment back up and running.  Since I last worked on the plugin I have gotten a new computer (Dell E4300) and changed how I was using VMware Workstation to manage the various things I am working on.

Because my computer actually belongs to my employer, I keep my hobby projects running under virtual machines (which I also use for a number of things at work which is why I have VMware).  I used to have a separate VM for each project but they tend to consume a lot of disk space so I have moved to using SnapShots (see page 189 of the VMware Workstation Users Guide) and they are really working well.

I had migrated all of my projects over to my new VM with various SnapShot configurations (PHP4, MySQL 4, PHP5, MySQL 5, etc.) with the exception of two – my wp-SwimTeam development and the MacDolphins web site development (which I still need to do).

Once I got it all moved I needed to figure out where I left off.  I still had a few files uncommitted so I simply committed them and started running the plugin through its paces.  I found a few issues right away (e.g. I removed the ability to add a new swimmer – oops) but that was quickly fixed.  Starting with an empty database turned out to a good idea as it exposed a couple mistakes, one of which I am still chasing – the roster isn’t showing everything it should and I am not sure why.

I fixed a few other odds and ends and now that WordPress 2.7 is released, I know for sure how the plugin behaves with the new Dashboard.  It isn’t too bad but I definitely will create a new top level menu with an icon.  This will almost certainly mean that 2.7 will be required to use the plugin.  The 2.7 Dashboard also changes the background on the #wrap DIV from white (#ffffff) to a very light grey (#f9f9f9).  To integrated the ActiveTab widget properly, this color change needs to be accounted for so I am opting to do it in the 2.7 color.