Mar 222011
 
Party!

Pontification, philosophizing and detours are normally left for my personal blog, however let me do a bit of it all here.

My favourite sport by a distance is Cricket. Like every other sport cricket defines its own set of landmarks that players can get to. For the uninitiated the two main categories in which you achieve landmarks are batting and bowling (think batters and pitchers in baseball). And certain landmarks are the benchmarks of great players. For example, you can score centuries in matches by batting and making 100 runs or more (I won’t go into the technicalities for the sake of brevity).

My favourite player Sachin Tendulkar holds the records for the highest number of centuries in the 2 major forms of cricket – the 5-day variant (Test cricket) and the 1-day variant (One-Day Internationals). He also holds the records for the maximum number of runs scored in each of these forms. Another great player of this era, Jacques Kallis was often criticized, though, for not having scored a single double-century (200 runs or more) in Tests. It was so because a test double-century is the basic adornment in the repertoire of any great cricketer. Tendulkar has a handful (including the only double-century in men’s ODIs) and Brian Lara has a good few (he also has a triple-century and the only quadruple-century in Tests), so Kallis’ achievements looked rather empty without one. Then, in the recently concluded Test series between South Africa and India Kallis did manage to get his elusive double, thereby confirming his place in the pantheon of greats.

The reason for this diversionary discourse was to tell all of you that today Suffusion became only the third theme distributed through WordPress.org to reach the milestone of 200 ratings. The two themes to have achieved more, albeit in much longer life spans are Atahualpa and INove. As I have mentioned earlier, for the free code and support that I offer, this is quite simply the greatest reward I can get from you. So a big THANK YOU goes out to all of you!!

As is customary, at each milestone I chart the course for the next few months, so let me do the same here:

  1. Most changes from this point on are going to be evolutionary as opposed to revolutionary. In this context the fiascos of 3.6.8 and 3.7.5/3.7.7 were necessary though not necessarily inevitable. From this point on I will not release anything so big that it changes the entire architecture of the theme. The changes in 3.7.5/3.7.7 had to be made, otherwise I would have even bigger hurdles to cross with every new release of WP and increasingly restrictive theme approval guidelines.
  2. The photo-blogging layout is coming soon! I will probably keep the functionality good, but not ultra-rich in the first release. It will be good enough for things like Flickr and Picasa integration though, which very few themes or plugins do a good job of apparently. I will soon post a sample of what I have been working on for you to try out. I will also give the magazine layout a shot in the arm.
  3. I have been working on a few theme skins. While I am by no means an avant-garde designer, I don’t consider myself aesthetically challenged and I do manage a decent job with Photoshop when aided by tutorials. However the demands and challenges of a complex theme leave little in stock for me to devote to Photoshop. As a result I have sacrificed beauty for functionality quite heavily. But not any more. With photo-blogging out of the gates I will be able to pay a little more attention to how Suffusion looks. So expect a few nicer skins.
  4. The last focus area for Suffusion is some revolutionary sidebars. As alluded to earlier, I have some outrageous ideas for what can be done with sidebars and I definitely intend to deliver on those.
  5. Wrap up. Yup – as I mentioned a couple of posts back, having done the activities listed above I will have wrapped up all major development on Suffusion. Subsequent releases will only patch bugs and make minor improvements in terms of support for newer versions of WP.

Have fun!

Mar 142011
 
Nasty

In recent times the Suffusion forum, which is driven by phpBB, had been plagued with hordes of spammers. I initially thought people came, spammed, then left. But then I was alerted by a user that the spammers had infested the boards by creating lots and lots of dummy logins, and in effect my Captcha was broken. I had earlier switched from GD Image Captcha to a Simple Captcha, because sometimes GD Image Captcha was too tough to figure out for humans as well. The result was that OCR (Optical Character Recognition) was easier to carry out for Simple Captcha, and everyday there were hundreds of spammers thronging the boards.

The net result was that I had to spend almost three hours cleaning up the user database. I brought down the total number of users from 7800+ to just around 2200+. In this process I am sure I have deleted a few legitimate users, because I used the criterion “0 posts” for most of my cleanup. I know that some of you have sent me PMs but haven’t posted on the forum. If that has been the case, then your account too would have been deleted. If so, please go ahead and re-create your account. I have changed the Captcha to be of a “Q&A” form, so this should keep out Spambots. Let’s see how it goes. Spam has been one of the reasons I have thought very seriously of building a Bug Tracker kind of add-on for Suffusion (using Custom Post Types), but that is something that needs lot of time and devotion.

Mar 072011
 
Opinion

And so I have finally decided to take the plunge. Actually it was more of a push rather than a voluntary plunge, when my brother asked me to take a look at his photo blog and help him fix a plugin that he wanted to use. That is when I realized that building photo blogging functionality is not as difficult as it seems, because Suffusion already has a lot of the pieces in place. And in minutes I had built a “Mosaic layout”, just like the Excerpts, Tiles and List layouts.

I have been looking around a bit and I figured this would be a good starting set to provide for basic photo-blogging. Feel free to pitch in with your suggestions:

  1. Support for YAPB:
    Johannes Jarolim’s plugin is by far the most popular photo-blogging solution, hence this becomes a shoe-in for photo-blogging support.
  2. Other types of images:
    Let’s face it – the last time YAPB got an update was in December 2009, more than a year back. If you were to switch on WP_DEBUG on your site you would get catastrophic failures with YAPB (so would you with a lot of plugins, but that is besides the point). Since then WP has evolved significantly and so has our thinking of how to deal with images and other content. So additionally, the following types of images should also be handled in photo-blogs:
    1. Embedded URLs: The oldest way to embed an image in any HTML content – WP or otherwise. Suffusion does detect embedded URLs for the purpose of thumbnail generation, so if your post simply has an image URL, it will be picked up for display.
    2. Attachments: The oldest way to associate an image with a post in WP, this is also the way to build a gallery within your post.
    3. WP 3.0 Featured Images: This really elevates one image to a featured status in your post, so if you have a blog where you have a featured image associated with a post, that image will be the key image in your post.
    4. Image Custom Post Format: This is the new kid on the block. WP 3.1 introduced something called “Custom Post Formats”, which you might have seen in your admin panels as something that shows up on the right side of your post when you are editing one. Currently Suffusion just lists the post formats, but does nothing special with them. I am planning to dovetail support for the Image and Gallery Custom Post Formats with the photo-blogging features.

    All the above (except the custom post format) has existed in Suffusion for about a year now. The point of listing it here is to tell you that if you have a blog that follows one of the above patterns and you are looking to make it look like a photo-blog, Suffusion will have you covered.

  3. New Widgets:
    I have already finished developing a widget for Flickr. One more for Picasa is on its way. You will be able to either display a Flickr photo stream or a Picasa web album in these widgets.
  4. New Short Codes:
    Along with the Flickr widget I also built a Flickr short code which you will be able to insert into your post to display a Flickr photo stream. A similar one will be built for Picasa.
  5. New Mosaic Layout:
    This is where the image types in point #2 come in handy. Strictly speaking, though, this is just a listing of one thumbnail per post for each post in a category / tag / date archive etc, very similar to the tiled layout. The only difference is that you don’t see the excerpt – just the thumbnail is shown and you get a very minimalist design. One thing to note here is that whatever be the kind of image you have have in your post (YAPB or anything listed in point #2), it will be displayed in the thumbnail.
  6. EXIF display:
    I already have code for this, which you can use if you are looking at an image attachment.
  7. Multiple Sizes:
    Justin Tadlock provided a rather simple way to display all sizes an image is available in. I have already adapted that for Suffusion, so in the photo-blogging release you should be able to see all the sizes for a given image.
  8. Navigation:
    This is one area where I am undecided. Suffusion comes with a capability to navigate to the previous and next post, but users of photo-blogs like to show arrows on/beside their images for navigation. Here are some general thoughts (most of them contributed by my brother):
    1. Overlaid arrows are a bad idea because of touch devices (where you cannot hover).
    2. Pressing the keys for the right and left arrows should help you navigate right and left. These can be mapped to swipes on touch-screen phones.
    3. Of course, I could display arrows on either side of the image – that would do as well.
  9. Galleries:
    This is another area where I don’t really know what to do. For sure, you will be able to view multiple galleries in a post, but what are good things to add here?
    1. One thumbnail for the gallery, which can be clicked to launch a slideshow?
    2. All galleries listed out with their thumbnails? Mind you, the Flickr short code (and soon the Picasa short code) will do this.
    3. Lightbox/Thickbox/Fancybox integration? Note that you cannot really bundle a Flickr/Picasa gallery with any of these scripts, because of the Terms of Use of Flickr/Picasa. Also, I am not really decided on which one I will offer. Though I like Lightbox that needs Script.aculo.us, and since Suffusion already loads JQuery, it would be a drag to load another JS library, not to mention opening Pandora’s box in terms of compatibility issues. I would have gone for Thickbox, but that seems a bit slow. For now I am leaning towards Fancybox, though I am undecided.

So that’s that. Do feel free to provide your suggestions here. Also let me know of things such as:

  1. Do you want to have the post title displayed in the photo posts?
  2. Do you want to have the post title displayed in gallery posts?
  3. Do you want me to investigate / look at any specific layout?
  4. What kind of information would you like to see upon hovering on the thumbnails in the mosaic layout? Would the post title suffice?

I guess I have mentioned this before: photo-blogging is essentially the next major chapter in the development of Suffusion, and I believe with a little bit of polish this theme can then be called premium-ready (no, I am not going to make it a paid theme – that has never been my intention). After that I will have no major updates and will focus on a few decent skins. And then Suffusion can be called a closed chapter :-) .

Feb 162011
 
Lab

Folks, thanks to all of you who gave Beta 1 a shot. Particular thanks to Marcel Bokhorst, Colin Spencer and 80486er for all your critical bug reports.

Since Beta 1 didn’t throw up too many alarms, I am releasing Beta 2. Please download the file and follow the same instructions as in Beta 1. There are a few changes between the two Betas:

  1. Bugs reported in Beta 1 have been fixed.
  2. I have gotten rid of the option to save an entire section because of potential conflicts with Suhosin. In other words, in Beta 1 you had the extra ability to save “Theme Skinning”, which would save options on all screens of the theme skinning section.
  3. I introduced an option to force compatibility mode view for IE8. This is to assuage the concerns of folks who have been using Suffusion with plugins like NextGEN and have been facing gallery rendering issues.

If this release goes without too many issues I should be able to submit a formal release during the weekend and return life to normalcy!

Cheers, and do let me know of bugs that you encounter.

Feb 112011
 
Lab

Finally, after months of effort I have been able to give reasonable shape to the first Beta release of version 3.7.4. Please excuse the weird numbering for this release – I was trying to come up with a numbering scheme that would enable some notification functionality.

In my previous post I highlighted some of the key changes in this version. I will not elaborate on that list here. Instead I will try to enumerate how to go about doing Beta testing.

One thing, though: due to a change of rules established by the WP Theme Review Team I had to again move back to providing a single link for the options of the theme. So instead of a separate menu for Suffusion at the bottom of the left side in the admin section, you again have something like this: Appearance → Suffusion Options. On the positive side, I hopefully managed to make the back-end look a lot better than a high-school web-design project.

Warning: Please don’t install this on a live site! Since this is a Beta release not all functionality is iron-clad.

How to Set it Up

  1. You can download the beta version here. Save the downloaded file locally.
  2. Unzip it. The zip file has a folder called suffusion.
  3. If you do not have an online test environment read through the following steps. Otherwise see point #4.
    1. Export your current live blog. You don’t have to take a copy of the database – you simply need to go into Tools → Export in your admin panel (this is different from Suffusion’s Import/Export settings). After making the appropriate selections click on “Download Export File”. Save the XML file.
    2. You can set up a new WP installation through your host’s control panel.
    3. Once you have set up the installation, go to Tools → Import in your new installation. Use the WordPress importer and import the XML file you just downloaded.
    4. Go to Settings → Privacy and block out search engines.
  4. Go to the folder wp-content/themes/ in your WP installation and upload the suffusion folder you unzipped locally. If you have an existing folder called suffusion already there, either rename the old folder to suffusion-old or  the new folder to suffusion-new.
  5. Activate the theme.

What to Test

The following is a list of items you should look out for:

  1. Setup
    On the back-end:
    1. You shouldn’t see any “white screens of death” when you activate the theme. This should be true for installations where this is your second installation of Suffusion, as well as those where this is your first.
    2. You should see a single menu item under “Appearance” as stated above.
    3. Saving options on a particular screen, as well as under a whole section should both work. Correspondingly you should be able to reset options and delete the entire option set.
    4. Importing/Exporting of options and migrating options from older versions should work.
  2. Layouts
    Check for the following:
    1. Pullout/corner style bylines.
    2. Individual templates (No Sidebar, Single Left, Single Right, Double Left etc., Page of Posts, Magazine).
    3. Different types of sidebar arrangements on your regular site without using templates – single left, single right, single left single right, double left, double right.
    4. Conditional sidebars – on your blog page you can have a different number of sidebars from say, a single post page.
    5. Wide sidebars and static tabbed sidebars should work.
    6. Header inside wrapper, outside wrapper etc.
    7. Navigation bar inside wrapper, outside wrapper etc.
    8. Footer inside wrapper, outside wrapper etc.
  3. Skinning
    Check if the following are getting saved and appropriately picked up.
    1. Font changes
    2. Borders
    3. Backgrounds
    4. Setting of colors – a new library is being used (Farbtastic) instead of the old one (JSColor)
  4. Images
    Since I have removed TimThumb, this will need special care:
    1. Static Featured Content: Test for both, full size and custom size
    2. Featured Content Widget: Test for both, full size and custom size
    3. Excerpts: Custom thumbnail size and standard thumbnail/medium/large size should be tested
    4. Magazine headlines: Custom size, or inherited from excerpt
    5. Magazine excerpts: Custom size, or inherited from excerpt
    6. Preference of picking up images should work (native WP featured image vs. custom field vs. embedded URL vs. attachment).
    7. Test for Zoom-crop (proportional resizing) for all cases of resizing. This should work for everything except native WP featured images and attachments (that is a WP limitation).
    8. The quality setting should be picked up.
    9. On the back-end test the new image uploader. You no longer need to explicitly enter the URL – using the uploader will automatically populate the URL for you. Clicking “Reset” should remove the URL.
    10. Test resizing on a multi-site installation.
  5. Miscellaneous
    1. Test for social networks setup under Suffusion Options → Back-end Settings → User Profiles. You should be able to manage the selected networks from Users → Your Profile.
    2. Verify that WP 3.0 menus are working

This is a very long list, and trust me, the checks I put the theme through while developing are even more (which is why I request for more volunteers to do the support – this is too much work for one person). If you are doing the beta test you don’t have test everything out unless you want to. Instead you can pick a scenario that you want and run the tests for that. For example, if you are in the habit of playing with images on your site, the Images tests are what should be of greatest benefit.

I am going to break my rule here about posting on the forum. For the beta tests alone, you can put in comments about any bugs that you encounter over here.

Thanks for helping out!

Feb 112011
 
Opinion

I have finally managed to make all the changes that I needed to do except a couple for version 3.7.4, and I have managed to test almost all the scenarios. However, given that this has been a very tough release to do thanks to my having to adapt to multiple changes in the WP theme review requirements, I would like to push this out as a beta release before I submit it for review.

In brief, the changes have been multitudinous:

  1. Complete removal of support for WP 2.9 and older. Let’s face it – version 3.0 of WP came out in mid-June 2010. 8 months should have been more than enough for folks to upgrade.
  2. Migration to standard APIs of WordPress. This was a very very big task with high risk:
    1. Change of admin panel to use WP’s Settings API. Getting this wrong can mean that you will lose all your options, so I had to be very sure I wasn’t breaking anything.
    2. Complete replacement of TimThumb using native WP image resizing functionality. I have been particularly jittery about this one because if I mess this one up, you will be in image resizing hell.
    3. Removal of all file open / CURL calls to switch to native WP calls.

There were several other changes (my change log stands at 40+ items). I will post instructions for how to obtain the beta and what to test for in my next post later today. Stay tuned.

Jan 152011
 
How To

Back in September I released Suffusion Version 3.6.6, where I introduced the capability to skin the navigation bars. To do this I added some nifty constructs that would help skin borders, backgrounds etc. Shortly after that some users (albeit a very small percentage) started reporting an inability to save Theme Skinning options. I tried debugging this, but failed to come up with a solution.

Then, one of Suffusion’s users, “Bird” carried out some terrific voluntary research and found the root cause. Apparently quite a few folks have a protection system called Suhosin installed. To quote “Bird”:

As I had the same issue with Suffusion 3.7.3, I did some research and finally found out that the probelm appears due to ‘php5-suhosin’, a protection system that only allows a maximum of 200 variables per post by default.

In order to check if suhosin is running and might be causing your problems, just create a php-file (e.g. "info.php") with the following content:

<?php phpinfo(); ?>

The variables that are of interest for us and that need to be changed are: "suhosin.post.max_vars" and "suhosin.request.max_vars". Set them both to "500" and the problem should be solved.

What was happening is that the “Theme Skinning” page, thanks to the addition of the new options had a very high number of HTML input fields. Each border / background element / font triggered around 5-6 extra HTML fields, and given the customization choices, the total number of fields multiplied to get to quite a high figure.

The implementation of the fix, though required a little bit more work. And kudos to “Titus”, another user, for the solution. Apparently it is not enough to simply set the above variables to a high figure. You also need to fiddle with a few more. You can set the following values:

suhosin.memory_limit 128M 128M
suhosin.post.max_value_length 65000 65000
suhosin.request.max_value_length 65000 65000

This should take care of the problem. So if you are facing an issue with saving your options, try tweaking the settings as described above. You might need the help of your hosting provider to help set these values.

Dec 142010
 
Party!

The theme reviewers at WordPress revamped the official list of featured themes earlier this morning … and listed Suffusion as a featured theme! Note that “popular themes” are determined by the number of downloads that users make and the “featured themes” are listed based on a set of more subjective criteria. Till yesterday the list of featured themes was quite old and had themes that hadn’t seen any updates since ages, but the new refresh has ensured that obsolete themes are no longer a part of the list.

Where Have I Been?

For the past week or so I have been extra-busy with my move. Now that I have moved to a new city, I have new challenges, like finding a place to live, a school for my son etc. As a result my responses on the support forum will be slow for the next couple of weeks as well. Please take this into consideration when you post asking for help.

I have also had a lot of difficulty setting up my new development machine, with Firefox absolutely refusing to install the Adobe Flash plugin, rendering it more or less useless. All in all, the theme development has slowed down significantly too. That being said, before the hiatus I had made some significant changes, mostly beneath the hood. One of these changes involved completely replacing TimThumb with native WP functionality, and another was to start replacing the existing options framework with WP’s native Settings API. Both these changes are far reaching and very high impact, as a result I want to be very sure of their correctness before I make them available. It is here that I have to seek your help in beta testing. Please let me know if you would be willing to help out in this process. You can do so by commenting to this post, and I will respond to you via email when I am ready to distribute a beta version, provided, of course, that you leave a valid email id!

Cheers.

Dec 052010
 
Babelfish

To all users of Suffusion – a BIG THANK YOU!! On 5th December 2010 Suffusion reached 150 ratings on WordPress.org! A couple of months back I had excitedly announced the milestone of 100 ratings, whereby Suffusion became only the 5th theme to reach that landmark. I am happy to announce that Suffusion is now the 4th theme to get to 150 ratings, with only Atahualpa, Inove and Mystique ahead of it. Thanks to all of you!

As you are well aware, I don’t work on the theme with the expectation of monetary gain, which is why Suffusion is one of those rare themes that is truly free in every sense. In fact some of you have even sent me messages offering to pay me for customization and I have always given you the same response – I don’t do freelancing, because my family, my day job and the constant work on Suffusion to keep it good pretty much consume all the time I have. I don’t even try to market the theme because I cannot take on the extra load.

As a result, your appreciation through my coffee fund and being rated on WordPress.org are pretty much priceless as rewards, because it means that the 30000+ lines of code I have written for the theme have some value to someone!

Now for some more good news – at a recently conducted poll on WLTC, Suffusion got voted among the top 5 favourite themes by users, ahead of a lot of personal favourites of my own (you can check my own favourites out there). So thanks to all of you who voted for Suffusion there, too!

Now for the big announcement that I mentioned in my last theme release post.

I am moving translations out of core Suffusion. This means that individual language translation files will no longer be distributed with the theme.

But don’t worry. I am not leaving you in the lurch. I have set up a page called Translating Suffusion for your use. The page is very well detailed and has a lot of information:

  1. You can download individual language translation files.
  2. I have explained how you can set up your sites so that translations don’t get overwritten when you upgrade the theme.
  3. I have even provided guidelines for you to create your own translations. Well, not really, but I have provided references to great tutorials and tools to help you do that.

Why did I do this? There are several reasons:

  1. Quite simply, the theme package was getting extremely large – at 1.7MB it was larger than most themes I have seen. Removing all the translations reduced the size by around 400KB. Mind you, most of the theme’s users use the English version of the theme. Folks using localization use just one localization language, hence the extra files are meaningless to most users.
  2. The Translating Suffusion page provides a centralized view of the different translations, including information about the freshness of each translation. If you believe you can bring one of the translations up to date, please take a shot at it.
  3. I wanted to provide better visibility to the contributors. Earlier I simply used to mention the names of the contributors in release announcements. Now you can see the names of all contributors for every single translation in one place.

Starting from version 3.7.2 I will be removing all the translation files from the theme, but the process I have outlined in the Translating Suffusion page should work right away.

Do let me know if you have any questions / concerns / feedback.

Nov 112010
 
Opinion

As the WordPress theme review process gets really strict about what WP functions are permissible in themes and what are not, it becomes more and more difficult for theme developers to support older versions of WordPress. Most developers have already taken the step to stop supporting anything older than version 3.0.

I have always been pro-backward compatibility and Suffusion works for any version of WP starting from 2.8. But with the complexity of code and the stringency of approval criteria rising, this will not be sustainable. As a result I have decided to phase out support for older versions of WordPress.

I will start by first removing any code that is specific to version 2.8, then remove 2.9 support. I would like to make this post a formal announcement of this decision. If you are a Suffusion user on a version of WP older than 3.0, now is a great time to upgrade. Version 3.0, which came out in early June has been stable for a while now and has some great features. If you haven’t upgraded you are missing out on a great number of goodies. And if the only reason you are not upgrading is because some plugins that you are using have not been written to work with 3.0, you should start looking for alternative plugins for the same task, or else you will run the risk of having a very inefficient system, or one where your theme and plugins will support different versions of WP.

With regards to version 3.6.8, I have already released version 3.6.9 with fixes for all the reported bugs in there. It has been approved, but not made live yet by the reviewers, so please sit tight.