Jul 282012

Version 4.2.7 of Suffusion went live earlier today. The following are the changes in this release:

  1. If users entered incorrect paths for the “rotating header” this was causing their site to crash. I have made a modification that will simply report an incorrect path if this happens and will not bring the site down.
  2. I have also added a few fonts to the list of inbuilt fonts.

There were a few problems with the forum not sending out notifications and activation mails the last couple of weeks. I have fixed that.

I am currently in the middle of a major move from Vancouver to Houston. As a result I haven’t taken on any major changes to Suffusion. As I see there is only one major aspect left to tackle – responsive design. But I don’t want to work on that until I have settled in Houston.

Jul 252012

I released version 1.01 of Suffusion bbPress Pack with a couple of updates:

  1. Viewing group forum topics was causing an error, thanks to changes that bbPress made with their 2.1 version. I have taken care of it at my end.
  2. I put in a sanity check so that even if you haven’t got bbPress, the activation of the plugin will not cause an error.
Jul 182012

OK, my vacation is almost up. As I prepare to board a series of long flights coupled with run-or-you-will-miss-the-next-flight connections from Kolkata to Vancouver (two international airports with abysmal international connections), I see that a minor release, version 4.2.6 of Suffusion has gone live. As far as the size of releases is concerned, this is a tiny one. It has one plugin-dependent change – the last release of bbPress, 2.1 was breaking Suffusion. Coupled with the release of Suffusion bbPress Pack last week, many users incorrectly surmised that the bug was in Suffusion bbPress Pack. In truth the problem arose because bbPress changed how it defined its global variables.

I have modified Suffusion to match up to this and I have also modified the translation file slightly.

Jul 132012

I have released an update to the Suffusion Commerce Pack. Version 1.10 has one key feature: WooCommerce integration. So, the supported ecommerce plugins at this point are Jigoshop, WooCommerce and Prospress. Give it a shot and feel free to provide me with your feedback.

Please bear in mind that I am not a Jigoshop / WooCommerce user, so it is likely that some scenarios will not work perfectly. But that is what the support forum is for.

Jul 112012

The “coded-during-a-layover” plugin, Suffusion bbPress Pack is now available for download. Much like the Suffusion BuddyPress Pack plugin, this is aimed at providing you with modified plugin markup suitable for your Suffusion-based site. It copies over a bunch of template files to your theme folder and makes your theme work with bbPress. It is best you try the plugin with a child theme. Give the plugin a shot and let me know what you think.

Jul 092012

Nope, I am not back from vacation yet. On an extremely long layover at JFK I managed to add a few touches to release 4.2.4, queued up the changes for release, typed up this post and packed up. The changes are really minor in nature:

  1. I added new action hooks suffusion_before_custom_layout_widgets and suffusion_after_custom_layout_widgets, using which you can add sections in between the widget areas of the Custom Layout Template. So if you are using a child theme you can make use of these hooks to define things like headers etc. for each section of the Custom Layout Template.
  2. I also extended the suffusion_admin_modify_option_list support for “associative arrays” in the back-end. This means you should be able to tweak the options lists for dynamically generated multi-dimensional arrays in the back-end. In really simple terms, you can do things like adding options to the byline position drop-downs for custom post types.
  3. The post_class filter was causing issues for bbPress custom post types. This has been addressed.

In other good news I have coded up a bbPress pack to help you extend bbPress template support for Suffusion.

I will be back from my vacation on 19th. Till then, enjoy!

Jun 302012

The one last version I managed to squeeze in before I embarked on my vacation was 4.2.4. Don’t worry, this post has been written prior to my vacation – it is only being posted while I am holidaying.

This is another small release (which is what I like doing, really, as opposed to humongous ones), with the following:

  1. New Features
    1. Rudimentary Device Support
      As promised in my last post, I have added support for some mobile-specific classes. There are a bunch of conditionals available, such as is_mobile, is_iphone and is_ipad, which determine the device-type based on the user-agent of the browser. Based on this, certain classes are added to the body element of the page. E.g. device-desktop is added as a class if you are browsing through a desktop. The code for all of this has been liberally lifted from the mobble plugin.
      I didn’t have the time to fit in the sidebar positioning features – those will happen after I return.
    2. More Byline Control
      I have added the capability to specify starting and trailing texts for bylines. This means you can remove things like the “Tagged with: ” for tags and add text like “Filed under” for categories. Check out the options under Other Graphical Elements → Byline Configuration. For people desiring additional control, I have added the filters suffusion_before_byline_html and suffusion_after_byline_html to help you modify the strings based on your display etc.
    3. Some Admin Extensibility
      So far Suffusion has been fairly rigid about the back-end options. Of course, you can do insane amount of stuff with the options, but there has been no way to extend the options via child themes. In a first step to even better flexibility (who knew that was possible?), you can now use the suffusion_admin_modify_option_list filter and enhance the option list. E.g. if you are building a child theme with a new byline style, you could add the byline style to your list and make it available to all users of the child theme.
  2. Bug Fixes
    1. In some cases incorrect byline information was appearing if displayed in the post footer. This has been rectified.
    2. There was a bug in the reset capability for custom backgrounds – I have taken care of that.

Hope you enjoy this release, while I enjoy my vacation.

Jun 222012

Version 4.2.3 of Suffusion was approved today. This is a small update with the following changes:

  1. The Magazine template was not showing any <h1> tag. This has been addressed.
  2. I made a small change to the way Suffusion interacts with the Category Icons plugin. In some cases the plugin was displaying 2 category icons. This shouldn’t happen now.
  3. This was a weird one. The site that distributed the original “Now Reading” plugin is currently infected. Suffusion’s admin pages had a link to this plugin, and some “security” plugins were reporting this as a critical problem, indicating that your site and / or Suffusion were infected. Be assured that there is nothing wrong with either. Nonetheless I have changed the link to the “Now Reading Reloaded” plugin’s WordPress page, which in turn points to the infected URL.
  4. The date box wasn’t lining up properly in IE. This has been fixed.
  5. Custom Background Changes:
    1. I wrote about this in depth in my previous post (see the “Impact on Suffusion” section).

      If you are using a custom background from Appearance → Suffusion Options → Skinning → Body Background, there is a high likelihood that your background will not work.

      Don’t be alarmed – this is very easy to fix. Just go to Appearance → Background, and restore the settings to the defaults.

    2. This is essentially a BP bug – BuddyPress doesn’t respect the custom background defined via Appearance → Background, so I took care of it in Suffusion. A custom background will be preserved on BP pages as well.

Baby Steps Towards “Responsive” Design

Version 4.2.4 will take baby steps towards responsive design. The first thing it will do is add device-specific classes to the <body> element. I lifted most of the code for this from the “Mobble” plugin. The second thing it will probably do is shuffle the sidebars around for narrower layouts. Of course, if it does this, it will be configurable, entirely optional and switched off by default.

My thoughts around this kind of design are no secret – I believe that is defeating the true purpose of mobile design. All it is doing is saving the users the effort to do a pinch / zoom and a horizontal pan (never mind that the effort for the vertical pan increases). It is not going to save any bandwidth. However, till I come up with more innovative ways to make sites truly responsive, this is the best I can offer.

Time Out

It has been a while since I have visited India – back then the football and cricket World Cups hadn’t happened and Roger Federer was still the master of all he surveyed. I am looking forward to my vacation a good bit, and needless to say, I will not be logging into the forum for support requests on a daily basis. Hopefully the galaxy of Suffusion will not collapse. Don’t panic!

Jun 192012

The biggest event in the WP universe last week was the release of version 3.4 of WP. While the event generated a fair amount of press, I honestly found the release very underwhelming. Broadly speaking, here are a few highlights of this release:

  1. New Theme Customizer
    From your Appearance → Themes menu you will see an option to “Customize” themes or see a “Live Preview” of them, in addition to the already existing “Options” link. The key difference is that for the “Customize” or “Live Preview” feature to work, your theme doesn’t have to be active. You could try out basic customizations and then activate the theme. While this is a useful feature, from a developers’ point of view this is merely eye-candy with very little value addition. Themes that rely extensively on options will find it nearly impossible to embed all their options in the customizer, and I don’t believe the intent of the customizer was to have developers do this (Suffusion has more than 700 options – imagine all of them in the Customizer!!). The only benefit I can see is from a skinning perspective, if a developer offers previews of multiple skins via the customizer (which is something I have bundled with Suffusion)
  2. Header and Body Background Customization
    Back in version 3.0 of WP, capabilities were introduced to natively support custom headers and backgrounds from WP itself. The functionality has been modified in version 3.4 and custom headers now support flexible widths. Apart from this, there is no impact to end-users.
  3. Better Theme Searching
    The theme installer has been improved to have an “infinite scroll”. In other words, if you search for a theme from Appearance → Themes → Install Themes and there are several matches, WP displays a few, then loads the rest on the same page as you scroll down.
  4. Templates in Sub-Directories
    One of the more painful aspects of developing a theme was in the way WP handled template files: all template files had to be in the theme’s root directory. In this release you can have template files in sub-directories. This is a feature I like, because it simplifies file organization significantly. For an end-user this has no impact.

What didn’t make it

There are several tickets that have been submitted with patches to the WP core, and they have been submitted several months back. Yet, release after release such tickets fail to get merged into the core, though the changes would be small to add and would provide immense benefit. Here is an example that I had submitted, which incidentally was a duplicate of an ages old ticket. This is an easy change to make and verify, and adding this ticket would let different plugins play nicely with each other while modifying the custom menu functionality. As things stand now, two different plugins cannot modify the menu items under Appearance → Menus.

This is one ticket I am aware of because I wrote a patch for it, and I am sure there are scores of others that got triaged in such a manner. Another that didn’t make the cut was the support for multiple screenshots in the theme back-end. Of course, the live preview functionality makes up for this somewhat.

In essence, the feeling I got from this release is that it was very light on good features. The developers might point to the Theme Customizer, but, the Live Preview feature apart, the only people who will benefit from it are those who have just a handful of options screens. Bear in mind that theme developers have been building options screens since a really long time, so a lot of users are used to seeing comprehensive options.

Having been in consulting for a while managing projects worth a few million on occasion, I do understand the process of triaging and prioritizing issues and fixes. It is perfectly normal for a few things to be prioritized over others, but maybe the good folks developing WP should stop once in a while and grab the low-hanging fruit. This is not meant as a criticism of this release of WP – I am sure what was done was done well enough. It is just that I was very happy when the last few releases came out: 3.0 had navigation menus, custom post types and native support for custom headers & backgrounds, 3.1 had custom post formats, 3.2 had TwentyEleven and had phased out PHP 4 support, and 3.3 had some neat APIs. But in 3.4 apart from the ability to define templates in sub-folders I didn’t find many appealing features.

Impact on Suffusion

In general I manage to stay on top of releases by silently yet actively tracking changing requirements and issues reported on other folks’ tickets. So most of the time users don’t have to wait for me to make Suffusion compatible with a new WP version.

However, this time I am compelled to make a change in theme behaviour. Recently there was a heated discussion on the Theme Reviewers’ mailing list about the way WP’s custom background works. The TL;DR version of the discussion was:

If a theme implements WP’s “custom background” feature, it should do it fully. In other words, if Appearance → Background doesn’t have an image, the site background mustn’t show an image.

So here is what I did for the next version of Suffusion:

  1. If Appearance → Background has a background image, that image will be shown as your site’s background (no change in this behaviour).
  2. If Appearance → Background has no background image, there will be no background image for your site. This is a big and disruptive change, because users might have set no image in this section. Sorry, but if I had my way, I wouldn’t have forced this on you.
  3. If Appearance → Background has the default background image, only then will the settings from Appearance → Suffusion Options → Skinning → Body Background take effect. If you have left this section to have “Theme Styles”, then everything will be as default.

So, if you upgrade to the next version of Suffusion (4.2.3) and your background suddenly goes AWOL, please don’t be alarmed. You can go into Appearance → Background and simply restore the defaults there.

This is something that bears repeating, so I am going to post the instructions again when the new version is released.