Feb 052016
 
Photonic

Version 1.55 of Photonic is now live. The following are the changes:

  1. Earlier, password-protected albums on Smugmug would display only for authenticated users. Now, if you simply pass the password attribute, your album will display.
  2. The Smugmug module now supports the site_password attribute as well.
  3. Translations are now officially supported via the WordPress site for the plugin.
  4. There were often complaints about the popup dialog that used to show up for images was not working correctly. Moreover it was fixed width, and did not do well with mobile devices. So I replaced it with a largely self-authored modal script (based on the animatedModal.js script), which changes this to more of an overlaid panel rather than a popup. Since it took less than a day of coding I am surprised I didn’t do it earlier. The following are the highlights of the current popup:
    • The width is no longer given in pixels, but it takes a percentage. By default the popup will be at 80% of the window width.
    • Earlier the popup used to display multiple “screens”. That has been done away with, entirely. All images show up in the same screen now, and you have the ability to scroll down to view them.
  5. By using my own modal script I was able to significantly optimize the overall JS (about a 30% reduction in its size).

Let me know if you encounter any issues.

Jan 282016
 
Design

Version 4.4.9 is now live. This version has minor bug-fixes:

  1. I have cleaned up some CSS styles that did not conform to standards. This should have no impact on your websites.
  2. There was a bug in the responsive layouts, which prevented pages from displaying at full-width on iPhones 5 and upwards, if your site had a “Navigation Bar Above Header”. This has been corrected.
  3. Another bug in the responsive layouts caused the “Navigation Bar Below Header” to show up as two selection lists when the screen was resized below your defined breakpoints. This shouldn’t happen any more.
Jan 252016
 
Photonic

I have just released version 1.54 of Photonic. This is a minor version with the following changes:

  1. I changed the added gesture script for PrettyPhoto, Colorbox and Fancybox from TouchSwipe to TouchWipe. This started out as a leap of faith, given that TouchWipe doesn’t work on its homepage itself, but in the end it was easier than I had expected. Switching to TouchWipe saves over 10KB of JavaScript, and I was able to bundle this within Photonic’s main script itself, thereby removing the option for enabling touch support. As of now, each of the abovementioned lightboxes is touch-enabled.
  2. While adding the support for authkey for Picasa albums I had forgotten to add this in the shortcode generator. This has been remedied.
  3. I added the “Text Domain” tag to the theme’s readme file. This makes it possible for contributors to do translations directly on wordpress.org.

I also submitted a small updated to Suffusion, mainly to correct some issues on responsive layouts. That hasn’t been approved yet, but should be, hopefully soon.

Jan 182016
 
Plugin

I just released version 1.53 of Photonic. This is a pretty small release with a couple of big new additions:

  1. You now have the option to use Photonic’s lightbox for non-Photonic images. Bye bye, standalone lightbox plugins!
  2. One oft-requested feature had been the support for displaying Picasa albums with an access key. This is now available by means of the additional authkey parameter for the Picasa invocation. Note that Google Photos doesn’t have a public API, and the old Picasa API remains. If you have created an album in Google Photos, you cannot directly use its ID in the plugin. But you can go to your PicasaWeb account, and see the newly created album listed there. You will also notice that PicasaWeb offers 2 options for “Limited” sharing – restricted albums from Google Photos show up as “Limited”, while the classical PicasaWeb option of “Limited, anyone with the link” still exists. You will need to change the album’s security settings to “Limited, anyone with the link”, unless you want to make it public. You can then use the authkey parameter to show the album using Photonic, by including the secret authorization key provided by Google.
  3. There was an obscure issue that was resultant from having a “.” in the id of a gallery. I have addressed this, thanks to some very handy tips provided in the WP support forum.

Have fun!

Jan 102016
 
Plugin

I have released Photonic Version 1.52, with a plethora of changes:

  1. I have provided a new option to save the automatically generated CSS into a file. The option is under Photonic → Settings → Generic Options → Generic Settings.
  2. I had, in the previous version, provided support for “Random tiled galleries”. This was restricted to the photos displayed in the page. In this version this support has been extended to groups of Albums, Photosets, Galleries etc.
  3. There is now a new layout attribute supported in the shortcode. It takes the values square, circle or random. Whatever you specify here will override the global layout that you define under Photonic → Settings → Generic Options → Layouts.
  4. There was recently an issue reported regarding 500px collections. Upon investigating I found out that the whole API had changed. So, I adapted the code to the new API. In addition I found that I can now pull all collections for a user – something that I wasn’t able to do earlier. If you do not pass a view_id parameter to the shortcode while displaying a collection, it will display all of the collections for a user.
  5. A couple of versions back I added support for Swipebox, touting its gesture-friendly features. In this version I have extended gesture-support to Colorbox, PrettyPhoto and FancyBox. Since these libraries are not gesture-friendly by default, this requires an additional 12KB JavaScript. In my opinion, though, it is much easier to use Swipebox and directly launch the lightbox for libraries.
  6. I added a capability to bypass the interim album / gallery / photoset popup for PrettyPhoto as well. So, this feature is now available for both Swipebox and PrettyPhoto.
  7. I use a third-party script called “Wait for Images”, to wait for all images to finish loading. I have updated this to the latest version, which skips images blocked by firewalls instead of waiting forever.
  8. I hadn’t realized that the “Random Tiled Gallery” layout was not behaving properly for Fancybox, Colorbox and PrettyPhoto. I have corrected this behaviour.
  9. Apparently there was an issue wherein a lightbox triggered from the popup panel was pulling photos from other galleries etc., and this issue existed since the very initial releases of Photonic. I have fixed this.
  10. By default Swipebox blocks the title and navigation bars on mobiles. I have provided an option to enable them, under Photonic → Settings → Generic Options → Lightbox Library Settings

Hope you have fun with the plugin!

Jan 022016
 
Plugin

A Happy New Year to all users of my themes and plugins!

With the New Year comes a new release of Photonic, version 1.51. I have been gradually ramping up the functionality of what happens to be my favourite plugin, and this time I have introduced what is a pretty big feature – tiled layouts! Jetpack users are familiar with the “Tiled Gallery” layout that it has, however the implementation in Jetpack was a lot simpler. Since Jetpack only deals with images in the user’s uploads folder, it can use the inbuilt WP functionality to determine image sizes etc. and all layout details can be computed in PHP, before serving the image to the user. However in Photonic, since your images are all on a CDN hosted elsewhere, determining the sizes can only happen in JavaScript (doing this in PHP can lead to beastly issues with server configuration etc.). Fortunately I found a very scientifically written article that let me define a “justified grid” in JavaScript. To activate tiled layouts, go to Photonic → Settings → Generic Options → Layouts, and tweak the options for “Image Layout” etc. As a bonus, you can also get Circular Thumbnails (like Jetpack). I have provided the ability to control the spacing between images, as well as the minimum height you want your tiles to be. Note that the tiled display is only on your page, not on the popup panel.

With this release and the the previous one (1.50), there is essentially a complete transformation in how you present your external galleries, to wit:

  • Pick Swipebox as your lightbox (Photonic → Settings → Generic Options → Generic Settings). This lets you use gestures on touch-enabled devices.
  • Enable tiled layouts (Photonic → Settings → Generic Options → Layouts)
  • Bypass the interim popup panel wherever you would originally see one (Photonic → Settings → Generic Options → Popup Panel)

With the above, you move away completely from the traditional grid of tiled thumbnails, and make your galleries look a lot more appealing. I will be focusing on such changes over the next few releases.

The other things I put into this release are all minor bug-fixes:

  1. I fixed an issue with applying borders and padding to “in-page” Flickr photos.
  2. While bypassing the popup, Swipebox would report an error if the photo descriptions were multi-line. This has been addressed.
  3. This was a remnant from a much older version of JQuery – upon saving the options, the backend wasn’t showing the last used screen. This should now be fixed.

Hope you enjoy this release.

Dec 172015
 
Plugin

I have just released version 1.50 of Photonic, which has some pretty nifty updates. Here is a summary:

  1. One shortcoming that Photonic had was that it didn’t support gestures on mobile devices. That is one less shortcoming with version 1.50. I have added support for Swipebox, which is the default lightbox at present. Swipebox also happens to be pretty light (around 12KB), so all the more reason to use it.
  2. A happy by-product of Swipebox is another oft-requested feature. Many users have asked for the capability to bypass the popup panel that shows up when you click on a thumbnail for an album. If Swipebox is your lightbox, this is the default behaviour! To change the behaviour (and make it behave the traditional way with the popup), go to Photonic → Settings → Generic Options → Popup Panel, and toggle the field Enable popup for Swipebox.
  3. I hadn’t realized that the Zenfolio displays were broken due to a change in how Zenfolio provided object ids, and WP’s native code completely butchered those ids. This has been addressed.
  4. Smugmug has changed how its front-end, making it extremely difficult to find out what your album id is. So I have added a helper to make things easier, under Photonic → Helpers.
  5. This is more of a purely technical change – I switched the custom JQuery Tooltip code to the default JQuery Tooltip script supplied by WP. This makes things a bit easier for me from an implementation point of view.

Hope you enjoy this release!

Nov 132015
 
Design

Following my 2-year hiatus and the post last night, I was mentally prepared to go back and forth with the theme review team a few times on the approval of the latest version of Suffusion. Surprisingly, though, version 4.4.8 of Suffusion got approved within a few hours of submission!

Here is the gist of changes:

  1. Removed Features:
    1. Removed inbuilt custom post types functionality (multiple plugins exist in this area).
    2. Removed inbuilt shortcodes – The Suffusion Shortcodes plugin, with the exact same functionality has existed for a while now.
    3. Removed call to deprecated constructor WP_Widget
    4. Removed OpenID support (external plugins exist)
    5. Removed SEO plugin-like features from theme. This is what I alluded to in my previous post.
  2. Added Features:
    1. This is the only true addition: The gallery post format has been improved to consider scenarios that I hadn’t considered earlier. This is, in part, due to the enhancements that WP has made over the years to the gallery shortcode.
    2. A couple of zero-impact additions: I added a required CSS class for accessibility, and theme support for title-tag. This was necessary to get the theme to pass the checks.
  3. Changes and Fixes:
    1. Updated the theme to use latest WP features.
    2. One of the guidelines that was preventing me from changing the theme was how I used to save options (upon activation). So this time I bit the bullet and changed the functionality such that changes are saved only when you explicitly save options.
    3. I sanitized the call to echo($_GET[…]) in the backend.
    4. There was an issue and its fix outlined by Drake here. I put this in the theme.

I did notice some questions on the forums inquiring about script vulnerabilities, so I wanted to spend some time talking about it. The WordPress team takes security and vulnerabilities very seriously, and they have methods to track down themes with security holes. Now, Suffusion itself doesn’t use any third-party PHP scripts. Around 5 years back I had TimThumb, which I replaced with WP’s native resizer. Incidentally, several months after my making the switch, a severe issue was detected in TimThumb, and every theme on the theme repository that used TimThumb was suspended till the author changed it. Suffusion escaped the axe, because I had already taken care of this earlier. Then later, WP found an issue in one of its own functions. So it went after every theme that was using that function on a page facing the public. This was pretty recently, and again, Suffusion escaped the axe.

The point of saying the above is, Suffusion is in a pretty stable state, and the only cases when I have to change the theme are when a vulnerability has been discovered in it (which, touching a lot of wood, hasn’t happened), or if some new WP functionality has broken Suffusion code (which caused me to release version 4.4.7). In either of these cases, I am very quick to respond, since the theme’s massive user-base gets affected if I don’t.

WP also has a policy of removing themes older than 2 years from the search results. This doesn’t mean the theme has vulnerabilities – it only means that the theme has functionality that might not now be compatible with WordPress. You can always still get to the theme directly from WP through the theme’s URL (it is only eliminated from the search results). WP truly removes a theme only if it has security vulnerabilities, violates GPL or copyright laws, or has its developer put in a request to kill the theme.

Hope you have no issues with working the theme!

Nov 132015
 

It has been a long time since I committed to providing an updated version of Suffusion. But in between losing my licence for the IDE I develop on, and the plethora of things I needed to take care of in the theme, I just wasn’t able to do it enough justice.

Luckily I was able to roll up my sleeves this week and get all the pending things cleared out. I will shortly upload a new version to the WP theme repository. As it has been ages since my last theme update, I am sure the review team will come back with comments about making changes in the theme, so I am not sure how many iterations it is going to take. Regardless, it should now be a matter of days before the next version comes out.

That being said, I would like to call your attention to a comment I had made in my previous post. Quite a few options have to be removed from the theme because they are of a “plugin” sort, and one of them happens to be the set of SEO settings. However, long-time Suffusion user and forum administrator Drake has a way out for you. Do follow his instructions to ensure a seamless move from Suffusion’s SEO options to a plugin of your choice. If you were already using a plugin earlier, this should have no impact on you.

The version that I have submitted removes some features, but is not very high impact – there are no additional features. So the transition should be smooth.

May 222015
 

One of the bundled third-party scripts in Photonic was recently patched for a vulnerability, so I have released a security patch for Photonic. Please update your sites to the latest version of the plugin, 1.49.

Thanks to all of you who wrote in with your feedback regarding Suffusion. I got caught up in work and wasn’t able to respond or thank each of you individually, but your comments are greatly appreciated! Happy to know that a 6-years old theme still has many takers. Here is what I have planned:

  1. I will be releasing one patch for the theme in the next few days.
  2. This patch will be trimming out most of the plugin-like functionality, barring the SEO module. That is because I still haven’t finished writing a plugin to transport the settings from Suffusion out to a plugin of your choice. All other excess functionality will be removed. Hopefully the reviewers will let the theme through.
  3. I cannot split the theme into a paid or light model. Paid software is against my first rule of open source coding, which is that I code for fun (I am not against paid software – I am just against asking for money for my code). Having a light model would add to the maintenance overhead of two forks of code. So maybe the solution is to gradually streamline or sunset the theme, and come up with something new. Who knows?
  4. I will be checking the theme for compatibility with new versions of WordPress as and when they are released.

Hopefully I will have a new version of Suffusion ready in the next few days.