Demonstration for TSA

I have been asked to demonstrate the MacDolphins‘ web based Swim Team registration system (which is wp-SwimTeam) to the Tarheel Swimming Association at one of their upcoming board meetings.

I will we out of town for work for their February meeting so it looks like it will be in March which should give me sufficient time and motivation to finish up a lot of the unfinished work.  I really need to get to work on a sample theme too – the theme I am currently using on the MacDolphins site is not widget ready which is a big limitation.

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.

WordPress 2.7 Thoughts

If you haven’t seen it yet, WordPress 2.7 changes the Admin interface again.  While it seems many people don’t care for it, I like it a lot better than the existing interface.  I don’t care for the terminology they used for the main headers on the side bar though.

I was on the road this week so spent some airplane time working on my wp-SwimTeam plugin and decided to see how it would work under WordPress 2.7.  I have actually started moving my development around a bit and I think it will turn out to be a good thing.  Yesterday and today I was running 2.7 under Linux with PHP 4.4.9.  Last week I was running under Windows with PHP 5.2.6.

2.7 exposed a few things in my plugin which I have fixed but like I said, I am not happy with the new terminology being used.  I had changed my implementation recently so the end user chose the Swim Team menu off the Users menu in the Dashboard and the Admin would choose Swim Team from the Manage menu.  In 2.7, the Users menu doesn’t exist so there isn’t a logical place to put the functionality exposed to the end users.  I’ll figure something out, in the meantime, there is plenty of work to do on the plugin itself.

wp-SwimTeam demo up and running

I have spent quite a bit of my free time lately re-working my wp-SwimTeam WordPress plugin in a quest to get a demo site up and running.  In the process I changed quite a bit, some because I had no choice, some because I was knee deep in the code and decided it was time to fix some things I wasn’t real happy with.

A lot of the work involved working with Google Maps API.  The Google APIs are really pretty cool, if you need to do some work with AJAX or Javascript, they are worth looking into.  I ended up using the new Google AJAX API (which can load the Maps API) and the new syntax.  There seems to almost no performance degradation from loading Google’s JS libraries as compared to loading them directly from the host site.

A bunch of the work was neccessary because GoDaddy, the provider hosting the demo site, doesn’t support PEAR which I was using to access the database.  I needed to migrate to the WordPress database abstraction layer.  As opposed to just hacking up the plugin to do this, I decided to do it right and enhance phpHtmlLib with a new database abstraction layer specifically for WordPress.  I also made the changes to phpHtmlLib to make it into a WordPress plugin.

All in all, a lot of work behind the scenes which isn’t visible to the end user but in the long will make using wp-SwimTeam by other people much easier.  There are quite a few posts on my wp-SwimTeam development blog if you are interested in all of the nitty-gritty details along with my frustrations with GoDaddy Support.


I have been putting some cycles into phpHtmlLib as part of getting my wp-SwimTeam WordPress plugin in shape for other people to use it.  I found that PHP5 and GoDaddy’s PHP configuration, phpHtmlLib wasn’t very happy.  After a couple days work I have it put back together so it will work with both PHP4 and PHP5 and can deal with GoDaddy’s PHP configuration.  Now I need to commit all the changes and get back to work on wp-SwimTeam.

Demo Site

I have had a couple ask recently about a demo site for wp-SwimTeam so I think I am going to set one up that people can play with.  The plugin is current live on the MacDolphins web site but since that is a real team and real data, it isn’t a suitable sandbox for people to explore.

If I can set up another instance of WordPress underneath this one to demonstrate the plugin, I will make it available for play with.  I am not sure how to assign new users the necessary permission to admin the demo site since that would provide them a fair amount of control over the actual WordPress install itself.  Hmmm … need to think that through before I turn it on!