morning (updated) afternoon I released a minor update, v4.5.2 (updated) v4.5.3, of Email-Users. This update adds new information on the Dashboard to help the WordPress Admin ensure that the number of users they expect to receive email is correct.
There is a new Dashboard Widget and an updated Settings Page which note how many users will receive each type of email. If no users will receive notifications or mass emails, a warning message will be displayed at the top of the Settings Page.
This morning I release an update to phpHtmlLib which resolves an issue for users still running sites based on PHP 5.2. The recent update to address early PHP 5.3.x releases contained code which was not 5.2.x compatible. This update addresses that problem. You can find the update on the Download and Installation page or as a Dashboard Update from the WordPress plugin repository.
I see on my Dashboard that WordPress 3.4 is out today. I knew it would be out soon as I follow the WordPress Hackers and WordPress Testers mailing lists but have not done anything with it yet. In the past I have tried to do a basic smoke test against one of the release candidates before the final release is out but this time I haven’t had the time to do it.
So the answer to “will it work?” is “I don’t know!”. I realize that isn’t a very good answer and I will try to test it in the next few days. My recommendation is to hold off until I’ve done some basic testing. I am not aware of anything that will break based on what I know is coming but until I test it, you never know!
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.
Tonight I worked out how to have a different icon in the dashboard when the menu is active, inactive, or hovered over. This allows me to use a different color icon when active than when hovering over the menu or making it active. The funny looking icon that was displayed when the menu is active now looks correct.
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.
There has been a lot of discussion on the wp-hackers mailing list about the upcomming 2.7 release of WordPress and the change to the Admin Menus. I decided to load it up and see how it affected this plugin. For the most part everything works the way it is supposed to. I ran into a few oddities which were errors that weren’t obvious until I ran it with 2.7 but everthing worked as it is supposed to.
The big change is the location (left side bar) of the new admin menus and the change in terminology. The change in terminology takes some getting used to. We’ll see if it stays as it currently is in the development build or if it changes. From the Admin perspective, the presentation is different but not markedly so. From the user perspective, the Swim Team menu doesn’t show up and I am not sure why yet.
I committed a whole bunch of changes I had to make as a result of debugging the 2.7 presentation issues. So far, all of the changes work as they should on 2.5.1, 2.6 and 2.6.1 as well. Switching releases (2.6.1 and 2.7) and platforms (Windows and Linux) during development is proving to be a useful thing as it flushes out stuff earlier in the process.
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.
As the Swim Team Dashboard menu has grown I have been thinking of changing how I present the various choices to both the Admin as well as a Subscriber. While I have thought about it from time to time, I haven’t done anything about it. I was recently looking for something in the WordPress plugin directory and found something called Lighter Menus.
Lighter Menus changes the Dashboard menus into a set of drop down menus. It is very similar to Andy Staines’ Admin Dropdown Menus. Unfortunately, Admin Dropdown Menus really changed with the WP 2.5 release and the author has subsequently stated he will no longer support it. Lighter Menus looked like it might be a suitable replacement so I decided to give it a try.
I really liked the way Lighter Menus works except for one thing: The custom Swim Team menu didn’t work right. The URLs weren’t constructed correctly. Bummer. But I really liked the way it looked. Was this the compelling event to fix the growing Swim Team menu? The Swim Team menu was really unwieldy when using the standard Dashboard as well.
As I worked on phpHtmlLib I tested all of the examples and I kept coming back to the TabControlWidget thinking it might be a good solution for wp-SwimTeam. The TabControlWidget is a CSS based solution which presents different content based on which tab is selected.
Earlier this week, I decided to try it and see if it would work. The implementation turned out to be really simple and I was able to use all of individual page code almost verbatim. I like this implementation much better and I think it is much, much easier to use. This decision also let me clean up some of the code which had been duplicated between the Admin and User side and resulted in the elimination of a half a dozen PHP file.