NextGEN Gallery Optimizer v2.0 Now Available

I’m very pleased to announce the launch of NextGEN Gallery Optimizer v2.0, which is by far the largest update this plugin has ever seen.

The key addition in Optimizer v2.0, is the introduction of script and stylesheet optimization for the new NextGEN v2.0.xx codebase, as well as the new NextGEN Legacy fork called NextCellent Gallery.

Additionally, virtually all of Optimizer’s former Premium functionality for NextGEN Legacy is now included in the Basic version at the WordPress repository. Plus, thanks to several extra additions, we’ve now completely rounded out support for all features and options available in NextGEN Legacy (and the NextCellent Gallery fork).

Optimizer v2.0 has been completely rewritten utilizing class encapsulation, and with a strong focus on WordPress coding standards and best practices. It represents well over a year of hard work and determination, and I’m excited to finally have it available for the innumerable, enthusiastic users who have contacted me personally, enquiring about the next release.

Alongside the Basic version, I’m very excited to announce the new NextGEN Gallery Optimizer PRO plugin, which introduces two killer features… the all new NextGEN Gallery Deactivator, which only loads NextGEN’s code on gallery pages, and the Dynamic Fancybox Settings Interface, the fastest and easiest way to customize Fancybox.

And if that’s not enough, I’m also happy to announce the launch of Optimizer’s website, right here at http://www.nextgengalleryoptimizer.com/. This site provides a centralized location for detailed plugin documentation and announcements, enables more effective ticketed support, and gives Pro users complete control over their license(s) via an auto-generated account created upon checkout.

Finally, if you’ve previously made a donation towards this project for the old Optimizer Premium (for NextGEN Legacy), and would like to upgrade to Optimizer Pro v2.0, I’d like to offer you a discount to thank you for your support. Please contact me with your old PayPal donation receipt, and I’ll personally send you through a discount code equalling the original donation value (typically over 50% off a Personal license).

I encourage everyone to try out Optimizer v2.0, and hope it helps with your speed optimization efforts.

All the best,
Mark.



NEW in Version 2.0 (at a glance):

1. Now optimizes the new NextGEN v2.0.xx codebase, and the new NextGEN Legacy fork called NextCellent Gallery.

2. Completely rewritten utilizing class encapsulation, and with a strong focus on WordPress coding standards and best practices.

3. Virtually all of Optimizer’s former Premium functionality for NextGEN Legacy is now included in the Basic version at the WordPress repository.

4. Completely rounds out support for all features and options available in NextGEN Legacy (and the NextCellent Gallery fork).

5. Optimizer Pro is introduced, including the all new NextGEN Gallery Deactivator feature, and the Dynamic Fancybox Settings Interface.

6. Optimizer’s site at http://www.nextgengalleryoptimizer.com/ is introduced.



Full changelog:

V2.0 – 10/12/2014



Script and stylesheet optimization changelog:

* NEW: Plugin completely rewritten to support the new NextGEN 2.0 codebase, and the NextGEN Legacy fork called NextCellent Gallery.

* NEW: Completely restructured to ensure all admin-related code loads only in the admin.

* NEW: Master shortcode regex.

* NEW: Support for NextGEN’s activate permalinks option.

* NEW: Support for the link attribute in [ singlepic id=x ] shortcode.

* NEW: Support for the “Show first –> Slideshow” option at Gallery –> Options –> Gallery.

* NEW: Support for the new [ nggalbum id=x ] shortcode (for NextGEN v.1.9.12).

* NEW: Support for AJAX pagination on [ nggallery id=x ] and album gallery pages.

* NEW: Rewritten primary optimization logic.

* NEW: Refined shortcode regex loop for multi-post pages to avoid conflicts with some plugins.

* NEW: Sanitization, validation and error messaging for all settings on Optimizer’s options page, including an if file exists headers check on Legacy’s custom stylesheet URL field using the WordPress HTTP API.

* NEW: Check if WordPress is at least v3.8 (the minimum version our Dynamic Fancybox Settings Interface currently supports).

* NEW: Now using “wp_localize_script()” to insert NextGEN Legacy’s CDATA blocks.

* NEW: Refactored lightbox script/style/CDATA loading into single functions.

* NEW: The code behind Optimizer 2.0 now utilizes class encapsulation, with a strong focus on WordPress coding standards and best practices.

* NEW: Now getting NextGEN Legacy’s query string parameters the WordPress way (replaced all $get variables with $wp_query->query_vars).

* NEW: Replaced all calls to NextGEN’s database options array, in favor of accessing settings via the $ngg object (NextGEN Legacy) and the C_NextGEN_Settings object (NextGEN v2.0). This saves up to 15KB of memory depending on the NextGEN codebase we’re using.

* NEW: Now storing all shortcode regex results (required for multi-post pages) in an array for further processing. This ensures we only run the regex operation once per load, speeding up execution.

* FIXED: Small shortcode regex bug that affected some users (replaced our while have posts loop with a foreach iterating over the results of $wp_query->posts).

* ADDED: jQuery migrate plugin in NextGEN Legacy (when Google-hosted jQuery is selected on Optimizer’s Legacy settings page), for backwards compatibility with other themes and plugins.

* UPDATED: Legacy’s Google-hosted jQuery is now v1.11.1 to match the WordPress version included in WP 4.0.1.



Fancybox changelog:

* NEW: Modified the Fancybox script for full compatibility with jQuery v1.9 and v1.10+ (doesn’t require jQuery migrate).

* NEW: Rewritten auto Fancybox installation with full integration with NextGEN’s lightbox select menu at both Gallery –> Options –> Effects (NextGEN Legacy) and Gallery –> Other Options –> Lightbox Effects (NextGEN 2.0).

* NEW: Support for AJAX pagination (inc. imagebrowser) when using the Fancybox lightbox (Shutter no longer required).

* NEW: Improved our Fancybox stylesheet regex to accommodate devs moving sites from development servers to production.

* NEW: Overhauled our responsive resize method. Now much faster!

* NEW: Uniquely prefixed Fancybox function and selector names to avoid conflicts with themes simultaneously loading other versions.

* NEW: Replaced Fancybox’s fading-out / fading-in of the actual image on resize with a transparent overlay, as it’s much less processor intensive. This runs a lot smoother in IE6/7/8 especially, and even improves performance in modern browsers when the CPU is being overworked.

* NEW: Expanded the iframe “allowTransparency” conditional to include IE7 and 8, as they require this property also.

* NEW: Improved a previous fix for NextGEN Legacy compatibility (space in empty title issue) so that it works perfectly in IE6 and 7.

* NEW: Improved the responsive resize method invocation. Instead of firing independently on window.resize, this is now integrated into the Fancybox script itself. It’s set to only fire once Fancybox’s wrap centering is fully complete, ensuring smoother animations on older browsers, older equipment, or simply on overworked CPUs.

* NEW: Adjusted vertical positioning of the loading animation, when adding room for the title position in Fancybox’s image height calculations.

* NEW: Fancybox now factors in the dynamic address and tab bar in Safari on iOS8 in its height calculations, ensuring perfect vertical centering.

* FIXED: Fancybox’s overlay width. When our document is wider than the browser window, we need to ensure the overlay covers the whole width (as it does the length), in case a user scrolls horizontally.

* FIXED: The WordPress admin bar was hiding Fancybox’s background overlay and “x” close image. I’ve increased all z-index values to bring them to the top.

* FIXED: Some minor Fancybox errors in JSHint.