Adding WordPress Contextual Help

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

wp-SwimTeam v1.0.516 available, fixes Jobs bugs

I have just uploaded a new build of wp-SwimTeam which addresses the bugs in the Jobs module I posted about last night.  The bug would partially allocate a job but it would fail resulting in incomplete data in the database.  The build fixes that bug.

If you had allocated jobs and can’t see them to sign up for them, the database records in the job allocation table may have to be removed manually.  If you need help, contact me.

wp-SwimTeam plugin – updated 2/24/2011 @ 17:21
[download#7#image]

 

wp-SwimTeam v1.0.514 available for download

A new release of wp-SwimTeam is now available.  This release addresses a number of issues encountered when running on a server with PHP 5.3.5 installed.  This release requires the phpHtmlLib plugin to be updated to v2.6.2.3545 or later.

Make sure you backup your database before installing this update.  This update also fixes some database table issues, deleting fields and columns which have been deprecated.  Please report any issues you find, I have tried to test everything but I may have missed something!

wp-SwimTeam plugin – updated 2/20/2011 @ 18:11
[download#7#image]

phpHtmlLib v2.6.2.3545 available

Update:  Bad link fixed!  2/21/2011

An update to the phpHtmlLib plugin which wp-SwimTeam depends on is now available.  This update addresses a number of issues found running against PHP 5.3.5, the latest release of PHP.  There are number of changes between PHP 5.2.x and 5.3.x which were exposed and have been addressed.  This update is ABSOLUTELY necessary for anyone running on a server which has PHP 5.3.x installed.

wp-SwimTeam plugin – updated 2/20/2011 @ 18:11
[download#8#image]

Bug found – PHP 5.3.x incompatibility

The problem which I suspected was due to a plugin conflict turns out to be a PHP 5.3.x incompatibility.  I don’t have a solution yet because I don’t fully understand what changed but I am working on it.  There is no potential of database corruption, the bug simply fails to load the GUI on any of the Swim Team pages except the Overview page.  This bug only affects sites running on PHP5.3.x, sites running on PHP 5.2.x or PHP 4.4.x are not affected and will operate correctly.

UPDATE

I have identified and fixed the problem.  There is a change in PHP 5.3 which affects how objects of a child class can call methods in the parent class.  The syntax which has worked fine until PHP 5.3 occurs in both the wp-SwimTeam plugin and in the phpHtmlLib plugin so both will need to be updated.  I have found several places where the code needs to be updated to the new syntax requirements but still need to do further testing to make sure I have found them all.