Sayontan

Sayontan Sinha is a technology strategy consultant living in Houston, Texas. Coding is his hobby, as are philately, numismatics, classical music, creative writing and quizzing. He is the author of numerous pieces of WordPress software, including the ultra-popular Suffusion WordPress theme and the versatile Photonic (for Flickr, Picasa, Smugmug and 500px.com integration) and FontMeister.

Feb 282011
 
Design

I have had bugs in software before, but by any standards version 3.7.7 was awful. Just awful. As the saying goes, The road to hell is paved with good intentions. In Beta 2 I tried to put in a tweak related to Suhosin, so I split the options into multiple forms and thought I got it working. The Beta came and went by without alarms, so I submitted the code for approval, and then it proverbially hit the fan. Truth be told I was expecting issues with the TimThumb replacement, and there were a few. But I seriously blew it with regards to the option management, costing people hours of work. Not all people faced issues, mind you – particularly several people who simply upgraded their sites and left it at that. People who are subscribed to my feed knew how to downgrade the release, so that alleviated some concerns. People who had little image jiggery-pokery on their sites (like me) faced literally no issues, because they didn’t have to tweak anything.

But for all the rest, all I can offer you is an apology, and what I hope is a clean version – 3.7.8. If you have bought me a coffee and then realized it was not worth it due to this release, please send me an email through the support forum with a transaction id – I will issue an unconditional refund.

Here is what I have covered in 3.7.8:

  1. Thumbnail issues
    1. If images were not in the template path but in the local directory they were not being picked up and a warning message was being displayed. Thanks a lot to Bob Schecter for an impressive array of websites with a wide range of configurations, which he let me use so that I could track this down.
    2. If the image source was a secure HTTP location (HTTPS, like PicasaWeb), the image was not getting resized. This should be fine now. Thanks to Jürgen for the tip.
  2. Color issues
    1. The first issue was with the color picker. Thanks to various quirks in the use of Farbtastic, I rolled back to something that has been a part of Suffusion since release 2.0 – JSColor. If you now pick a color and save, the change will go through without you having to go through an elaborate charade.
    2. Colors were inconsistently getting prefixed with a “#”. I have made sure that this is no longer the case. Thanks to Kattsby for the tip regarding this.
  3. Option issues
    1. The biggest issue in the previous release was that the buttons to save/reset options had gone rogue and a lot of people have pointed this out. I have made sure of the following:
      1. Clicking “Save” in one screen will not blank out options in another screen.
      2. Clicking “Reset” will not empty the entire theme’s options.
      3. Exporting / Importing will now work.
    2. Another rather intermittent issue was the interference caused by a cookie used by the options panel while attempting to save things. I am only aware of 2 people facing this issue, mind you, and one of them (Mason) has confirmed that this has now been fixed.
    3. A minor issue was that if your options were saved, they needed to be saved twice for the auto-linked CSS to be updated.
    4. Quote characters around font names were being escaped, preventing the font from being loaded.
    5. Some people complained about a slowdown on IE. To counter this, I got rid of the JQuery Uniform script that I was using to make the admin panel look good. I will reconsider this once the changes introduced in this version stabilize.
  4. Miscellaneous issues
    1. There was a bug that was breaking the layout of the Widget Area Above Footer.
    2. There were some issues with the navigation menu’s appearance in the standard skins, particularly with respect to visited items and hover-over items.

Things that are not issues

When something goes wrong, the natural inclination is to assign to it all faults, real and perceived. Something similar happened with the last releases, and because the core faults with Suffusion were so severe, a lot of issues from other places were ascribed to the theme. Not that I blame any of you for it. The following are NOT issues with Suffusion:

  1. If your admin panel stops loading after printing the top bar, the culprit is, in all likelihood a plugin. There is a lot of literature around this on the web, but it bears repeating, particularly because Suffusion’s options panel is more complex and detailed than most other themes’ panels, and having an incorrect script interfering can really mess things up.

    A lot of people upgraded to WP 3.1 and Suffusion 3.7.7 at the same time. Now, WP 3.1 uses a new version of JQuery libraries. Some plugins and themes don’t include JQuery the right way. The somewhat correct way to include JS in WordPress is by using the wp_enqueue_script function. The truly correct way to include JS is to use wp_enqueue_script with the right hooks. Here is what I mean:

    1. The absolutely wrong way:

      function print_my_script() {
      	echo "<link media='all' href='http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js' type='text/css' rel='stylesheet' />"; 
      } 
      print_my_script(); 
      

      The problem is that the above will load JQuery potentially twice. Plus you might be loading JQuery after something needs it, thereby resulting in errors. The only situation when this might be required is if you need conditional JavaScript (like something for IE), which is not the case in the above.

    2. The sometimes correct way:
      add_action('init', 'my_enqueue_scripts');
      function my_enqueue_scripts() {
          wp_deregister_script( 'jquery' ); // Will remove WP's standard JQuery
          wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js'); // Will register Google CDN's JQuery, version 1.5
          wp_enqueue_script( 'jquery' );// Will queue it up for printing.
      }
      

      The trouble with the above is that the script is going to get enqueued for all pages, admin or otherwise.

    3. The almost correct way:
      add_action('admin_menu', 'my_plugin_menu');
      function my_plugin_menu() {
      	add_options_page('My Plugin Options', 'My Plugin', 'manage_options', 'my-unique-identifier', 'my_plugin_options');
      	add_action("admin_print_scripts", 'my_admin_script_loader');
      }
      
      function my_admin_script_loader() {
          wp_deregister_script( 'jquery' ); // Will remove WP's standard JQuery
          wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js'); // Will register Google CDN's JQuery, version 1.5
          wp_enqueue_script( 'jquery' );// Will queue it up for printing.
      }
      

      The only problem with the above is that it will queue up the CDN JQuery for all admin pages. What if another plugin is relying on a different version of JQuery? A lot of developers get this one wrong.

    4. The truly correct way:
      add_action('admin_menu', 'my_plugin_menu');
      function my_plugin_menu() {
      	$options_manager = add_options_page('My Plugin Options', 'My Plugin', 'manage_options', 'my-unique-identifier', 'my_plugin_options');
      	add_action("admin_print_scripts-$options_manager", 'my_admin_script_loader');
      }
      
      function my_admin_script_loader() {
          wp_deregister_script( 'jquery' ); // Will remove WP's standard JQuery
          wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js'); // Will register Google CDN's JQuery, version 1.5
          wp_enqueue_script( 'jquery' );// Will queue it up for printing.
      }
      

      If you notice, the only difference with #c is the way the admin_print_scripts hook is used. By appending the options page to it, we are saying that the JQuery script should be used only for this particular plugin’s admin screens.

    What has been happening is that a few plugins have followed route b or c above, causing a proliferation of bad JavaScript across the admin pages. With the WP upgrade these plugins now have conflicting JS. This unfortunately causes the correctly coded themes/plugins to break because they rely on the native version of JQuery, which the bad plugin has overwritten on all pages. If you are facing this, you should try deactivating your plugins, then reactivate them one by one to see which one is wrong. If you isolate the broken one, feel free to point the above instructions to the author.

  2. Header height and margin between top of content and top of page: If you had set your options to show a certain header height and margin, please note that the option has moved from Blog Features → Sizes and Margins to Theme Skinning → Header. What has happened as a part of this move is that the control switch has changed. So under Theme Skinning → Header you have to set the options to use “Custom Styles” for the setting to continue to be effective.

Thanks for all of you who had patience with me during the last one week. Thanks are also in order to all of you who provided detailed reports of the issues that you faced. I wish some of you had participated in the beta testing. Apologies if you don’t see your name above – it is just that there were so many people reporting the issues that I couldn’t fit everyone in here.

Feb 222011
 
Design

Version 3.7.7 was released earlier today. This release mostly has bug fixes for 3.7.5. The following are the changes:

  1. I have included a workaround for a rather weird critical bug affecting some installations. The symptoms of the bug are that the header in the options page loads up, then nothing happens. I tracked it down to a bug due to those installations failing to load the jquery.cookie.js file. What makes this bug weird is that the file is there, yet accessing it returns a 404 error. What makes the bug (and the fix) weirder is that if I yank that file and put its contents in another place, the bug resolves itself.
  2. There was a bug that wasn’t updating the options CSS if you had set it to be auto-generated. This has been addressed.
  3. Resized images were not being generated in the default settings. If, however, you saved options on, say, the Featured Content page, the images would show up fine. I have fixed this issue.
  4. I have added basic post-format support without any special treatment, so as to be ready for WP 3.1. Further handling of post formats will be done in subsequent releases.
  5. Another fix is for folks on PHP 4.x. There was a call to a feature (instanceof) that came up in PHP 5, so people on PHP 4 were getting a critical error.

Hope this takes care of the issues with 3.7.5.

Feb 212011
 
Design

Version 3.7.5 was approved earlier today. I know that the beta releases were for 3.7.4, however 3.7.4 didn’t pass the approvals required by the Review Team, so I had to release 3.7.5. This is quite a big release with lots of changes. However, unlike other big releases this has more to do with code housekeeping rather than brand new functionality. Before you read further, here is a warning:

This release changes the whole look of the code behind the scenes. It has been beta-tested, but bugs always come up. In case this release critically breaks some functionality, please downgrade to the previous version and log a bug on the support forum. You can download the old version, then replace the contents of your wp-content/themes/suffusion folder with the unzipped suffusion folder that you get from the downloaded file.

Without much ado, here is the change list:

  1. Code Housekeeping
    1. Switch to native WordPress APIs
      I have removed a lot of custom or third party code from a lot of areas and started using native WordPress areas. Here are the changes:
      1. Settings API
        One of the 2 biggest changes this release is a nice looking backend. For this I moved to the Settings API that WordPress provides. This was a huge and high impact change, because I had to decommission a tried and tested options engine in favour of something that has not been implemented by anyone on such a large scale. All uses of the Settings API on the web are for simple cases where you require only one options page. Anything more complex makes developers pick up a custom approach, or an approach that only superficially uses the Settings API.
        I can thump my chest here as the first theme with such a complex back-end to utilize the Settings API in all its glory. The only place where the API is not used is in the Custom Types section, which only partly uses the API. I will port it over in a subsequent release – for now it is not critical.

      2. No TimThumb
        This is the second big change, and potentially more high impact than the first. TimThumb, though popular has some security holes, particularly with its old versions. Recently the WP review team started cracking down on themes relying solely on TimThumb. I introduced TimThumb into the mix more than a year back, but I had also introduced support for the native post thumbnail functionality of WP almost as soon as it was introduced. This helped me avoid the axe. With this release Suffusion bids adieu to TimThumb.
        I have put together a resizing algorithm based on a method suggested by a contributor on WordPress Trac. I had to modify it a good bit to make it work the way I wanted and so that it did not break how your existing images looked.

      3. No “file open” operations
        Again, the WP review team has been cracking its whip to get file open operations removed. As a result I have had to think out of the box to make code behave to my liking. I have had to replace inbuilt CURL calls with the WP HTTP API, and where this really posed a challenge was regarding storing of the generated CSS and storing the resized file for the image resizing.

    2. Use of more modern functions
      A few functions have been deprecated by the WP development team. I have replaced all such functions with their new variants:
      1. get_bloginfo('wpurl')site_url()
      2. get_bloginfo('template_url')get_template_directory_uri()
      3. get_bloginfo('url'), bloginfo('url')get_template_directory_uri() 

    3. Removal of backwards compatibility
      As stated in a previous post, WordPress 3.0 has been out for more than 8 months now and version 3.1 is almost upon us. So if you haven’t upgraded your WP installation now is the time to do it. This latest release of Suffusion will not work on anything older than 2.9. I have removed function/class existence checks for all these versions:

      1. 3.0.x – get_template_part, comment_form, wp_nav_menu, wp_login_form, get_nav_menu_locations, wp_get_nav_menus, register_post_type, register_taxonomy, post_type_exists and register_nav_menu
      2. 2.9.x – add_theme_support, get_the_post_thumbnail
      3. 2.8.x – class WP_Widget
    4. Function names are now more consistent. All functions within Suffusion are either prefixed with suffusion or suf.
  2. Feature Changes
    1. Reorganized the Options Menu (again)
      Trust me – I did not want to do this. Suffusion started out with one link under the Appearance section of the admin page. I then pulled it out to give Suffusion its own menu when I introduced Custom Post Type support. I initially had horizontal tabs at the top and vertical tabs within each page, but I switched it out when the page got sluggish.
      This change consumed a lot of my development time in what was already an intensive exercise. But I believe I got it right this time:
      1. New Menu Position (aka Older Menu Position)
        3.7.4-options-1
      2. New Tab Design
        3.7.4-options-2
      3. Moved items
        There has been some upheaval in the options sections. Notably:
        1. Introduction – This is the same as the Introduction section of the old options
        2. Theme Skinning – Earlier you had a tab called Theme Skinning under Visual Effects. Theme Skinning is now a section of its own and deals almost explicitly with setting up the colors of various components (aka “skinning”). All former individual sub-sections under the old Theme Skinning are now tabs under the new Theme Skinning. For example you have Body Background, Main Wrapper etc.
          The main purpose of this split was to avoid Suhosin-related issues. You can click on the “Notes” button near the section title as shown above for more information.
        3. Visual Effects Other Graphical Elements – This has mostly the remainder of the items of the former Visual Effects section. In addition it has picked up items from the former Blog Features that dealt with graphical aspects, like Featured Content, Post and Page Bylines, layout options etc. You can click on the “Notes” button near the section title as shown above for more information.
        4. Sidebars and Widgets Sidebar Configuration – This is the same as the former Sidebars and Widgets section, except for the fact that the Static Tabbed Sidebar has been moved from the former Blog Features page to here.
        5. Blog Features Back-end Settings – This is a heavily stripped down version of the former Blog Features. Most of the older options have moved to Other Graphical Elements. You can click on the “Notes” button near the section title as shown above for more information.
        6. Templates – This is the same as the old versions.
        7. Custom Types – This is the same as the old versions.
    2. No Translations
      Translations are no longer a part of the core theme. They have all been moved to the translations page. Additionally, at no impact to you the translation text domain has changed from “suf_theme” to “suffusion”.
    3. Changes to Default Settings
      Some changes were required to the default settings to make it pass the review process, and some others were needed for ease of use.
      1. JQuery Masonry is switched off by default instead of being switched on.
      2. By default both navigation menus are switched off. This was one change I did not want to make, however I did so to avoid a lengthy back and forth exchange.
    4. Made the blog title use h1/h2 tags instead of div tags.
    5. I have renamed the classes category-info and tag-info to info-category and info-tag respectively. This is to avoid weird styling issues if you have a category or a tag named info. Please make note of this if you have used Custom Styles for these elements.
    6. Goodbye Marvin!
      For those familiar with lore, Marvin the Paranoid Android used to reassure you not to panic. Unfortunately, since the photo of Marvin was not GPL’ed, I had to remove him from the introductory screen (though I had provided the appropriate credits to Buena Vista).
  3. New Features
    1. Sidebar Control
      There is a new capability to control the number of sidebars on different views like the blog, category, tag, date archive and search. For example you can now have 2 sidebars across your site, but only one sidebar on the blog page. Check the settings under Sidebar Configuration → Sidebar Layout. All in all the ability to manage sidebars for specific pages/views has improved from previous versions, and in the next release or two you should have something very flexible. I might write up an article on how to effectively tweak sidebars shortly – let’s see.
    2. You can now upload an image directly from the options pages instead of entering a URL. Of course, entering a URL works too.
    3. New Notifiers
      Added the following notifiers:
      1. New versions – Tells you when a new version is available and points you to the release notes. The reason for this is that some people complained about frequent updates (though old-timers will note that I have significantly slowed down) – this is for them to check out what the latest version has, so that they can make an informed decision about upgrading.
      2. Translations – If you are using WP in a language other than Americanized English, you are pointed to the right locations to pick up the correct translations.
      3. BuddyPress – If you are using BP, this provides you information about making Suffusion work with it.
    4. Added options to control the “Posted By” format. See Other Graphical Elements → Post and Page Bylines for more information.
    5. Added better WPML integration. There are texts that you set in the back-end, like the labels for your comment forms etc. I have added WPML support for them, so that you can translate those strings in the back-end.
    6. Added zoom-crop capability (aka proportional resizing) for images in featured content, magazine headlines and magazine excerpts. See the respective sections for setup options.
    7. There is dual JQuery UI support, for version 1.7.3 (WP 3.0.x) and 1.8.7 (WP 3.1.x).
    8. You can now control the number of headlines you want to display in the headlines section of the Magazine template.
    9. There are a couple of new filters: suffusion_author_information and suffusion_category_information. They can be used by you to tweak the information that appears at the top of the Author page and the Category pages.
    10. There is a new option to force compatibility mode in IE8. You will find the option in Back-end Settings → SEO / Meta Settings.
    11. There are a couple of options more dealing with the generated CSS. You can choose to cache the generated CSS, include it directly in the HTML, include it via a link etc.
  4. Bug Fixes
    1. There was a bug earlier that was causing the title set through Suffusion’s SEO to clash with the title set by different SEO plugins. This should now be fine.
    2. In the Magazine template if you were displaying headlines, the first headline was not being selected by default. This has now been fixed.
    3. The $post variable was getting overwritten if the Ad Hoc Widgets were used to display things like featured posts or category blocks.
    4. I have fixed a bug where if you looked at a page in BP you would see an incorrect HTML title.
    5. I have included what is hopefully a patch for a WP problem (not a Suffusion problem) affecting a very small percentage of users. With the bug kicking in, users were unable to reliably see the child pages for a given page in the breadcrumb because WP fails to provide the ancestry relationships properly.
    6. I have also included a patch for a NEXTGen Gallery bug. I have often expressed my dislike for this plugin thanks to a variety of reasons. In this case including the fix at my end seems to be a much easier thing to do than wait for the NGG guys to put it in. The fix deals with viewing NGG, when used with themes employing max-width and min-width on IE8 without compatibility mode.
  5. Removed Options
    I have decided that I will periodically do a review of redundant options in the theme and cull them. Options that have much better plugin-based alternatives and options that have significant maintenance overhead will be removed.
    1. Compression options for JS, CSS and the site as a whole have been removed. Sorry, but those serve very limited functionality and are incapable of generating compressed content for files from external plugins. If you are looking to do any of these, you can try using W3 Total Cache or some similar plugin. The only compression-specific option introduced is to minify the generated CSS into 1 line, so that you don’t add hundreds of lines into your source code – just one long line will be present.
    2. Removed the option to load JQuery via CDN. This was becoming extremely ungainly. If you want to use CDN versions, please use a plugin.

I do understand that this is a pretty big release. So if you have upgraded and something has broken badly, please do not hesitate to downgrade (and report the problem on the Support Forum). This isn’t meant to alarm you, for most code-related issues can be fixed and I have taken a lot of care to keep the code good. This is just to assuage your concerns that if something goes wrong, it makes best sense to follow the advice on the introductory page of the options: Don’t Panic.

Feb 172011
 
Plugin

Version 1.02 of Suffusion BuddyPress Pack is now available. If you are a BuddyPress user you are encouraged to download this plugin from the official plugins repository. I have added support for the following third-party plugins, based on requests from users:

  1. BuddyPress Links
  2. Jet Event System for BuddyPress

Note that some stylesheet changes will be effective with the next version of Suffusion, so things will probably look a lot nicer at that point. As always, please use the support forum for queries and bugs.

Feb 172011
 
Babelfish

Over the past few weeks I received quite a few translations submitted to me via email and through the support forum. My apologies for not having got to them earlier.

I have uploaded all the new translations and updates to old ones on the translations page. Thanks to the following folks for the new translations:

  1. Farakav for Persian
  2. CoffeeMan for Romanian
  3. Olga Kai for Ukrainian

Translations have been updated for Dutch (Wim), German (Connie) and Simplified Chinese (Abe). Thanks, folks!

Please note that translations will not be included in the core theme starting from release 3.7.4. They will all be available from the translations page. The best way to use a translation will be to create a child theme.

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 202010
 
Design

Version 3.7.3 is another security patch that was released yesterday. The following are the changes:

  1. Apparently there was a problem with my checked in code in 3.7.2, so the site optimization check for CSS files didn’t go through correctly. This has now been corrected.
  2. I fixed a problem where the edit link for pages was not clickable.

You are strongly encouraged to do this upgrade.