Posted on

WordPress 4.5 Breaking JavaScript (aka Where Is My Map?)

Ever since WordPress 4.5 rolled off the press there have been numerous complaints about websites breaking.   Numerous reports are coming into our Store Locator Plus forums and support email telling us “our map broke when they updated our website”.  The problem?  jQuery. To be more specific the problem is not jQuery but  how some plugins and themes implement jQuery in WordPress.

WordPress 4.5 started shipping jQuery version 1.12.3 as the “official” version of jQuery being used  with WordPress core. jQuery 1.12 has more stringent controls than previous versions.   The most obvious, jQuery 1.12 no longer “hides” some of the syntax errors that lay dormant in plugin code.   If there is malformed  or incorrect syntax, jQuery 1.12 will complain.  Your browser will most likely stop executing ALL scripts from that point forward.  As you can imagine, this causes things, like themes and plugins  to break.
Continue reading WordPress 4.5 Breaking JavaScript (aka Where Is My Map?)

Posted on

WordPress Database Error MySQL Server Has Gone Away 4.3 Cron

For nearly a week now my WordPress site has been running extremely slowly.   My initial thought was that the simultaneous release of a major update to all of the Store Locator Plus add-on packs coinciding with the WordPress 4.3 release was the culprit.    My CPU was maxing out and I was getting hourly warnings of system overloads.   A brief pause over the past weekend and I quickly upgraded my AWS instance to something twice as big.   Something that could handle 190 simultaneous web connections.   That should do it.

Within days the server was at a crawl again.  No CPU resource errors but pages were loading as slow as molasses.

I dug deeper.   The RDS instance was not even breathing hard.  25% average CPU and 60% average RAM consumption.   Only a couple of active connections at any given time.    Cache seems to be working well.

Checked my Apache profile.  No issues there, but I did tweak the spare servers to allow 40 instant connections with no delay.

Then I re-checked the log files I had looked at last week.   There were THOUSANDS of entries like this (truncated here, but also truncated mid-packet in the log files):

[Sun Aug 30 03:09:19 2015] [error] [client 192.88.134.3] WordPress database error MySQL server has gone away for query UPDATE `wp_options` SET `option_value` = ‘a:150:{i:1440663673;a:1:{s:26:\\”action_scheduler_run_queue\\”;a:1:{s:32:\\”40cd750
bba9870f18aada2478b24840a\\”;a:3:{s:8:\\”schedule\\”;s:12:\\”every_minute\\”;s:4:\\”args\\”;a:0:{}s:8:\\”interval\\”;i:60;}}}i:1440663761;a:1:{s:18:\\”vp_scan_next_batch\\”;a:1:{s:32:\\”40cd750bba9870f18aada2478b24840a\\”;a:3:{s:8:\\”schedule\\
“;s:21:

NOT GOOD.  That was NOT there last time.   Some forensic research indicates the MySQL connection was dying, triggering a log file overload, which obliterated working RAM and CPU on the web server and the log was never written.  Upgrading the server gave enough breathing room on the web server to log the DB error.

Turns out SOMETHING is trying to update the wp_options table on a regular basis.    I’m not sure if it was because it could not write the original packet, but it looks like this data I/O request was running every minute and failing.   For nearly TWO WEEKS now.    Tons of CPU, memory, and disk I/O on the web server and giving the DB server a little extra work along the way.

The culprit?

This wp_options update is exceeding the default packet size for a MySQL request.  By default MySQL servers prevent packets over 16MiB in size to prevent injection attacks or malformed SQL commands.    Something wants to write something a lot bigger than that for some reason.  As I later learned it it a bug in WordPress 4.3 core which already has a patch “waiting in the wings”.

The Quick fix?

Easy?   Update max_allowed_packet_size in the my.cnf file.   On an Amazon RDS server this is easily done by editing your parameter group and changing that setting on the RDS server.    32MiB should suffice.

The REAL fix…

After some digging it turns out the option name ‘cron’ has THOUSANDS of entries due to a but in WordPress 4.3.

You can read about the bug here:

https://core.trac.wordpress.org/ticket/33463

To employ the fix you will need to hack WordPress core files, or wait for 4.3.01 to be released.

This is the main file you need to fix.  If this doesn’t make any sense to you, DO NOT SCREW WITH IT.  You can break your WordPress install very quickly:

trunk/src/wp-includes/taxonomy.php

r33619 r33646
4446 4446 function _wp_check_for_scheduled_split_terms() {
4447 4447     if ( ! get_option( ‘finished_splitting_shared_terms’ ) && ! wp_next_scheduled( ‘wp_batch_split_terms’ ) ) {
4448         wp_schedule_single_event( ‘wp_batch_split_terms’, time() + MINUTE_IN_SECONDS );
4448         wp_schedule_single_event( time() + MINUTE_IN_SECONDS, ‘wp_batch_split_terms’ );
4449 4449     }
4450 4450 }

You can then clear out the over-sized ‘cron’ options setting with this code:

$cron = get_option("cron");
unset($cron["wp_batch_split_terms"]);
update_option("cron", $cron);

Posted on

More Plugin Updates for Locator Plus

Ravenel Bridge As Banner

More Store Locator Plus add-on packs were updated this weekend.    All of the third party add-on packs have bee updated to be fully compatible with Store Locator Plus 4.3, released last week, and WordPress 4.3 which was released on the same day.    The updates will bring all features and functionality up-to-date for the latest changes to WordPress and Store Locator Plus.

The plugins that were updated today include:

Store Locator Plus 4.3.01

An update to Store Locator Plus that addresses several reported bugs in SLP 4.3 is available in prerelease.   4.3.01 is expected to be a production version in the next 48-72 hours.

This release will fix the “admin white screen” on some installs using specific versions of PHP that are unable to do “look forward” class recognition in include files.    It also fixes an issue with certain PHP environments that have strict double-colon constant definitions where users are mixing 4.2 version add-on packs with version 4.3 of the base plugin.

Premier 4.3.01

Premier Plugin version 4.3.01 is also coming out next week along with the SLP 4.3.01 patch.    The latest iteration of the Premier plugin adds the ability to turn the “Streetview Man” on-and-off on the map interface.   This feature requires SLP version 4.3.01.

Change Log

Posted on

VVV For WordPress Development

Banner Vagrant Cloud WP Dev Kit Box

Now that 4.3 has been released I am taking a few days to reconfigure my production environment for WordPress plugin development. After a number of issues running the self-contained GUI development environment that included WordPress core, full plugin development, and all of my supporting infrastructure including phpStorm, SmartGit, and a series of Grunt scripts in an all-in-one Vagrant-based Virtualbox, I decided to try something new. Losing 20 minutes every few days because the self-contained GUI in Virtualbox could not sync between guest and host was too much. Something in the Virtualbox or CentOS 7 upgrades over the past year broke something fundamental in GUI I/O and I’ve been unable to track it down. Time for a change.

My change? Learning Varying Vagrant Vagrants. For those that are not familiar with VVV for WordPress development you may want to check it out here: https://github.com/Varying-Vagrant-Vagrants/VVV.

What is VVV?

VVV is a virtual development environment for WordPress.    It spins up a headless (no GUI interface) Virtualbox that contains three separate versions of WordPress (stable, dev, and trunk) as well as a myriad of tools like phpMyAdmin.   All of the settings are in place to allow your local system, my OS/X desktop for my setup, to interact with the local WordPress install from your preferred web browser.

The upside is there is a lot of community support , articles, and various tools-and-trick available to you for doing almost anything you want.    A lot of the “cool dev tricks” I never had fully working, like interactive XDebug support in phpStorm, are readily available.     It is also super-easy to switch between WordPress releases which is cool if you are sending core patches or need to test on the upcoming major release.

The downside is that you need to setup all of your development tools locally on your desktop.   Guess what happens if your computer dies?   Yup, another few hours of setting it up again.   With my prior custom self-contained virtual environment I only need to save my Virtualbox, usually by creating a Vagrant image, any time I made notable changes to my tool kit; by doing so I could restore it easily to ANY desktop ANYWHERE in the world and have EXACTLY the same environment in no more time than it takes to spin up a VVV based box.

In short, VVV is a virtual machine store on your local desktop with several WordPress installs ready-and-waiting behind your browser screen.

My Startup Tricks

I develop a number of WordPress plugins, so having full development tools and my source code are key to productivity.  Here are some things I needed to tweak on the default VVV setup to get going.

Linking Plugin Source

I am primarily developing plugins and I want them on all of the WordPress installs provided by VVV.  I can “take over” a VVV server-based directory with a local directory my mapping the local directory to the destination with a Vagrant Customfile.    Go to the base location where you placed your VVV install, you will know you are in the right place as it has the Vagrantfile for the VVV box, and create a new file named “Customfile”.

Here is my mapping entries to take over the plugin directory on all 3 WordPress installs that come with VVV:


config.vm.synced_folder "/Users/lancecleveland/Store Locator Plus/plugin_code", "/srv/www/wordpress-default/wp-content/plugins", :owner => "www-data", :mount_options => [ "dmode=775", "fmode=774" ]

config.vm.synced_folder "/Users/lancecleveland/Store Locator Plus/plugin_code", "/srv/www/wordpress-develop/wp-content/plugins", :owner => "www-data", :mount_options => [ "dmode=775", "fmode=774" ]

config.vm.synced_folder "/Users/lancecleveland/Store Locator Plus/plugin_code", "/srv/www/wordpress-trunk/wp-content/plugins", :owner => "www-data", :mount_options => [ "dmode=775", "fmode=774" ]

Configuring XDebug

phpStorm comes with an XDebug listener.  This allows you to set breaks in your PHP code files, inspect variables in real-time, and do a lot of other things that are much more efficient than var_dump or print_r or die littered throughout the code.     The are a number of articles and videos on using XDebug with phpStorm.  Check it out, it is a great debugging tool.   For now, how to enable it with VVV:

Turning on XDebug is easy with VVV.

Go to the VVV install directory.

Enter Vagrant via SSH: vagrant ssh

Turn on Xdebug from the SSH command line on the virtual machine: xdebug_on

That’s it, I can now use my  local phpStorm tool to debug my VVV files.

Here is THE XDebug + VVV + phpStorm video to watch to do this.

Useful Meta

With VVV installed these URLs should work in your browser.

Users and passwords:

  • For the WP installs:  wp / wp
  • For WP Admin Users: admin / password
  • MySQL Root: root / root
    • Default DB Name: wordpress_default
    • Trunk DB Name: wordpress_trunk
    • Develop DB Name: wordpress_develop

Paths:

  • Local directories (relative to Vagrant install): ./www
  • Server-Side directories: /srv/www
Posted on

Store Locator Plus 4.3

SLP 4.3 Default Map

Store Locator Plus 4.3 was published tonight.  If you are using a Store Locator Plus add-on pack you will want to upgrade the add-on to version 4.3 after upgrading the base plugin.

Updated Admin User Interface

The revised admin user interface leverages the WordPress Dashboard styling and interface elements.   Settings boxes can be collapsed and expanded, the slider boxes are gone having been replaced with standard checkbox elements, and the CSS styling is now consistent across all add-on packs.    The new interface is designed to work more closely with the built-in WordPress responsive design elements.

Update JavaScript Processor

The JavaScript engine that drives all interactions with the locations map has been updated with a new callback system that works much like the WordPress hooks-and-filters.   For the non-techie people out there, that means it is going to be a LOT easier for future add-on packs to add very cool interactive map features without requiring full system updates.    Add-on packs can now change how the interface works without having to “hack” the base plugin.  For the techies, the AJAX processor now includes full raw location data in addition to massaged data.    New shortcode options make it easier to get exactly what you need into results and map info bubbles.

Faster Manage Locations

Further refinements to the Manage Locations interface improves performance.  Version 4.3  simplifies the codebase to make it easier to add more advanced features in future releases.  Update JavaScript libraries improve performance by eliminating server queries for tables that list all locations on a single page.   A single “expanded view” mode means less data I/O processing while rendering the screen.    Admin users can selectively hide columns on the manage locations interface, with different admin logins having their own column settings saved between sessions.

SLP 4.3 Locations Manage
SLP 4.3 Locations Manage

 

SLP 4.3 Locations Edit
SLP 4.3 Locations Edit

Better Admin Performance

Admin pages for Store Locator Plus have reduced database I/O calls to the WordPress options table.   Logic changes eliminated nearly 60 extra data I/O calls when loading the Experience tab.   On the info tab the server based news feed and current plugin versions as well as update information for installed plugins is cached, significantly increasing performance when checking plugin information.

SLP 4.3 Experience Search Settings
SLP 4.3 Experience Search Settings

Better WPML Support

The WPML engine in Store Locator Plus has been updated to work with the newer WPML 3.2 filters while retaining legacy support for older versions of WPML.   All base plugin strings are pre-registered when Store Locator Plus loads into memory.   Most text in the application now uses gettext or WPML data I/O operations which should make the entire experience far easier for international users and sets the foundation for faster turnaround for polyglot related issues in the future.

Improved Settings Upgrades

The entire settings upgrade system has been rewritten ensuring more consistent transfer of legacy settings when upgrading, whether upgrading from one version back or 10 versions back.   “Lost settings” during an upgrade will now be a thing of the past.

Patches And Fixes

A number of minor patches and updates were made in 4.3 including apostrophe search on manage locations, admin page styling mishaps from various add-ons, extended data fields not always registering with the main plugin, fixes to several shortcode attributes.

Change Log

Posted on

Store Locator Plus 4.3 for WordPress Is Imminent

SLP Version 4_3

Right on the heels of the WordPress 4.3 update, Store Locator Plus 4.3 has passed testing and is ready to be released to the general public. Normally I would suggest updating to the latest patch release of WordPress immediately prior to upgrading your Store Locator Plus installation. As fate would have it, WordPress Core pressed the publish button a touch faster than we did. Since WordPress 4.3 is “fresh out of the oven” I recommend upgrading to WordPress 4.3, then TESTING your site thoroughly, or at least testing all of your Store Locator Plus functionality then upgrading to Store Locator Plus AFTER you have completed full testing.

Backup Your Site

WordPress tells you to do it before upgrading to 4.3.

I’m telling you to do it before upgrading to 4.3.

BACKUP YOUR WORDPRESS SITE.

What’s that?  You don’t have a backup?   Go spend $9 on VaultPress now.  Wait a few hours for the backup to complete.  THEN upgrade WordPress and Store Locator Plus to 4.3.

Upgrade ALL Components

When upgrading to Store Locator Plus 4.3 you should IMMEDIATELY upgrade all of your premium Store Locator Plus add-on packs. Every single add-on pack will need to be updated for cosmetic reasons. Some add-on packs will need to be updated to restore functionality that appears to go “missing” as there are significant changes to the underlying communications engine within Store Locator Plus. Your data and settings don’t go away, but some settings for some add-on packs will not function properly until your entire Store Locator Plus plugin stack is updated to version 4.3.x.

Don’t Panic

We have spent nearly a month testing, patching, and re-testing SLP 4.3.    We have kept up with the latest WordPress development releases right up through the production release of WordPress 4.3 that came out tonight.   A handful of customers have been installing and testing Store Locator Plus 4.3 and the related add-on packs and have helped us ferret out some of the bugs in the new release.    Despite hundreds of personal invitations that

Reporting Plugin Versions
Reporting Plugin Versions

were sent out to long-time customers of SLP,  we had far less people testing version 4.3 than we had hoped.

 

That means there are likely to be some hiccups in the 4.3 release that have not been caught.    Don’t panic.    Post your issue in the forum and be sure to post ALL YOUR SLP ADD ON PACK VERSIONS by copying the version text off your Info / Plugin Environment tab into your post.   If you can, provide a screen shot of the version like the one above.   Windows and OS/X have screen capture utilities built in, or try SnagIt by TechSmith. Provide a site URL and a clear description of what is wrong and what you expect to happen.   DeBaat, CiCi, and I will address any new issues as quickly as we can and issue the 4.3.01 patches as necessary.

 

 

Posted on

Store Locator Plus 4.3 Release Schedule

4.3 RC Status Aug 6 AM

Store Locator Plus 4.3 is expected to be released into production during the week of August 17th along with 4.3 versions of all add-on packs.

4.3 RC Status Aug 6 AM
4.3 RC Status Aug 6 AM

Store Locator Plus is now in Release Candidate status.  You can download the prerelease near-production-ready version from the StoreLocatorPlus.com website.   The prerelease version is available at no cost from the store.  If you’ve already added the prerelease version to your account you can login and download; no need to re-purchase.

Most add-on packs are now in RC status as well.   If you have purchased the production version of an add-on pack you can download the prerelease version by logging in to you StoreLocatorPlus.com account.

The more people that can test version 4.3 of the Store Locator Plus plugin and add-on packs the faster it can be released to production.    Prerelease, including RC versions, of the plugin should not be used on a production system without first testing your environment on a staging (testing) copy of your site.  Companies like WP Engine make creating staging copies of your live site very easy.  If you do not employ staging sites as part of your website management strategy you really should consider switching to a hosting company that supports easy site cloning for testing purposes.

 

Posted on

Getting Ready For SLP 4.3

In case you’ve missed the notes from CiCi, I’ve been writing a TON of code over the past 2 weeks as I prepare to launch version 4.3 of Store Locator Plus.

SLP may not work as it did before if you updated Store Locator Plus to 4.3 but did NOT update the add-on packs.  Upgrading add-on packs to 4.3  should restore any prior features/functionality that went missing.  Another post will be published detailing known issues when mixing 4.2 add-ons with SLP 4.3.  The goal is to make 4.2 add-on packs NOT BREAK your website when the update to SLP 4.3 rolls out.   The best way to help me achieve that goal is to test the SLP 4.3 as soon as the RC prerelease versions are available.

After upgrading to SLP 4.3, if something stopped working please check the SLP Versions page and see if a 4.3 version of the add-on is available.  The auto-update notifications may not tell you about an update, especially if your site is running dozens of plugins. WordPress only checks as many as it can in 30-seconds then waits 12 hours to try again.

You may need to perform a manual update.   Login to StoreLocatorPlus.com and download the latest add-on pack updates, preferably version 4.3.xx.  Go to the WordPress plugins page, deactivate then delete any 4.2 SLP add-on packs.  Add new, upload the recently downloaded add-ons, and activate them.

SLP 4.3 Info Example

Want A Smooth Transition to SLP 4.3?

Take a few hours and launch a staging version of your site.  If you are on a service like WP Engine it is very easy to do.    Once you get your STAGING version of your site up-and-running, install the SLP 4.3 prerelease as well as any prerelease copies of your add-on packs.

Let me know what breaks.     The more people that can help test the prerelease builds the better.   

Release Candidate builds of Store Locator Plus 4.3 and the add-on packs (those that do NOT end with alpha-xx) should be out soon.   Once you see RC-xx on a prerelease build, go ahead and test.   These are the release-candidates that I hope are stable enough to launch to the public but have not been fully tested yet.

Premier Members have early access to every single prerelease build of every add-on pack.     Other customers should see a download for both the production release and the prerelease of add-on packs they own.   Store Locator Plus Prerelease is a FREE product available from the StoreLocatorPlus.com store.

What Is In 4.3?

SLP 4.3 is the “stabilize, bug fix, performance” release.    It has gone a long way toward making the code easier to maintain and more stable.    For example, there were no less than FOUR different ways to save/access/interact with various plugin settings; Saving the radius options was done differently than saving the address search label.       Most of that is gone now, using a simplified code base.     The new code also uses more of the WordPress best practices internally and on the UI.

There are some visible UI changes on the admin interface.    There are a lot of settings where the text descriptions or labels changed.   Things have moved around a little.  MOST of the changes are to make managing locations and settings easier on tablets and small-screen laptops.    The documentation and screen shots may be out-of-date for a while, but most things are easier-to-find and can be cross-referenced with the 4.2-style documentation fairly easily.

SLP 4.2.67 vs 4.3 Experience Results
SLP 4.2.67 vs 4.3 Experience Results

There are also a lot of new ways to extend the inner workings and, more importantly, the user-interface elements of Store Locator Plus.    The changes pave the way for cool new ways to interact with Google Maps, the user interface, and the back-end data using the WordPress AJAX interfaces and advanced Google tool kits.    You will see more of the “goodness” those changes will bring after 4.3 launches when new features start to roll out via the Premier plugin.

The 4.3 Schedule

These are the target time-frames for the various updates with a Friday release target.

Significant compatibility or functionality issues may push products up on the release schedule.  The goal is to accelerate the schedule for all products when SLP 4.3 goes into production.

July, Last Week:

Release Candidates for Store Locator Plus, Premier, Pro 4.3, and Enhanced Map/Search/Results.

August, First Week:

Release Candidates for Tagalong, Pages, Directory Builder, Widgets.

August, Third Week:

Production launch for Store Locator Plus, Premier, Pro 4.3, Enhanced Map/Search/Results, Tagalong, Pages, Directory Builder, Widgets.

Release Candidates for Contact Extender, Location Extender (likely to be merged into a single product).

Work with DeBaat on Release Candidates for Event Manager, Gravity Forms, Multimap, Social Media Extender, and User Managed Locations.

September, First Week:

Production launch for Contact Location Extender, Event Manager, Gravity Forms, Multimap, Social Media Extender, and User Managed Locations.

Note: Due to lack of interest, Real Estate Extender will be sunset during this update.

A Note About Premier

What’s that?  You’re not a Premier member?  You should be.    Yes it is a monthly subscription, but the sell-it-once-support-it-forever model makes it difficult to improve Store Locator Plus and provide support to the ever-growing customer base.

Did you know the are more than 12,000 sites are running Store Locator Plus right this very minute?  12,000 sites that want support, bug fixes, and new features.   Unfortunately, less than 20% of those 12,000 sites purchase an add-on pack.   In order to continue improving support AND adding new features there needs to be more than a one-time sale of $50, or even $500, from a select group of customers.

Lance's Daily SLP Email Deluge
Lance’s Daily SLP Email Deluge

Between CiCi and myself we answer dozens of direct email messages per day, dozens more forum questions, take dozens of screen shots, sh0ot videos, and do all the other things that come with supporting customers from around-the-world.   That is on top of writing hundreds of lines of code and keeping up-to-date with the latest WordPress Core developments to ensure compatibility when the WordPress 4.3 release comes out next month.

The best way to ensure the longevity of the product and retain YOUR investment in time and energy you put into employing Store Locator Plus on your site is to purchase a Premier membership.    A $250 one-time-fee and $30/month goes a long way toward creating a sustainable product.   That steady stream of monthly payments provides the means to hire another coder and another support person to make YOUR experience better.

SLP 4.3 Premier
SLP 4.3 Premier

It also ensures you get all those cool new features that are coming out in the Premier plugin.  Things like cluster maps that came out last month, results pagination the month before, and the forthcoming geo-boundary address search influence this month.   You also get priority access to myself and CiCi to answer your questions or get your feature request on the top of our development queue.  $30/month gets you a lot more than a buy-once-and-forget-about-it plugin.

I understand that sometimes a one-time purchase is all you need.  Not everyone needs a premium add-on.      The free plugin will always be there and the buy-it-and-own-it add-ons are not going away any time soon.    For those that have supported this project, even through a single add-on purchase, it is very much appreciated.

For those that have purchased a Premier Membership, thank you for your continued support.  It is helping achieve new goals, such as bringing CiCi on board to improve support, that would not be possible otherwise.   Enjoy the exclusive Premier Plugin features that are coming your way each month!

 

– Lance

 

 

Posted on

WordPress Map Solution Improves Initial Display

Store Locator Plus, a WordPress plugin that makes it easy to add the “enter your zip code to find our stores” map on a website, has improved the initial map rendering and location processing algorithm.  The product no longer includes the “center of the country” as a defining point when first rendering the map with the locations.    This allows the product to focus the map display around the initial group of locations being displayed with a tighter zoom level. The recent update removes settings that remained in the product for the past 18 months for legacy compatibility.   The change was made in the interest of improving the user experience for a majority of the install base as well as new customers.

Single Location Entry

Some of the most notable changes show up when rendering the first entered location on the map.  Version 4.2.60 and 4.2.61 vary dramatically on the initial display.

Version 4.2.61 Update

SLP 4.2.61 Single Location Query
SLP 4.2.61 Single Location Query

With version 4.2.61 the data queries remain essentially the same, however removing the requirement to drop a home location marker on the map, which happens to be in Coffeyville KS for US-based maps, allows the map to zoom in tighter on a single location.   Your location will need to be within 10,000 miles of the center of your country to display.  If it is further away you should either set “Center Map At” (User Experience / Map) or change “Radius To Search Initially” (User Experience / Results).

Address based searches, including those that are using the GPS location sensor provided by the Pro Pack add-on , will still drop a home marker at the address entered by the user (or selected by GPS).

 

Version 4.2.60 Behavior

SLP 4.2.60 with a single location
SLP 4.2.60 with a single location, USA.

In version 4.2.60 and earlier, entering a single location would yield a less-than-optimal map display with the map being centered halfway between the center of the USA and the first location brought up by the search.

In version 4.2.60 the locations would be selected using a query that returns the first 25 locations with 10,000 miles of the center of the USA.  If you leave the Center Map At entry blank , SLP will set your “starting home location” for the initial search in the center of your country.   For the USA this is near Coffeyville KS.   The other defaults are to search within 10,000 miles of that location and display the first 25 results.

SLP 4.2.60 Single Location Query
SLP 4.2.60 Single Location Query

The map rendering engine would then drop a marker at the home location in Coffeyville KS and from there extend the boundaries to include the locations returned from the search.  Think of it as though the edges of the map are one big elastic band with a pin stuck in Coffeyville KS.  Every time a  new location is added the band stretches and the center of the map changes.

Once all of the location pins are added and the boundary has been stretched the map would then zoom to show the locations.   The legacy zoom calculation in SLP 4.2.60 was overly complex and sometimes yielded strange results.  In the screen shot above the zoom would go in so far as to not show the home marker in Coffeyville or in Mount Pleasant, as shown here after zooming out EIGHT LEVELS (ouch).

SLP 4.2.60 Single Location Zoom Out 8 Levels
SLP 4.2.60 Single Location Zoom Out 8 Levels

 

Multiple Locations

Multiple locations have less variance in the output, but the 4.2.61 experience has been improved.   The zoom and boundaries are a simpler calculation which means less overhead on every map rendering whether initial display or subsequent address searches.

With version 4.2.60 the same rules apply to multiple locations, however the zoom algorithm is not as egregiously errant in the calculation.   The map shows all 15 locations but still includes the default home marker in Coffeyville KS.

SLP 4.2.60 15 Locations Test
SLP 4.2.60 15 Locations Test
SLP 4.2.61 15 Locations Test
SLP 4.2.61 15 Locations Test

Other Changes

In addition, Store Locator Plus 4.2.62 addresses issues with the manage locations search and sort order, removes more legacy code to reduce the memory footprint and simplify the codebase, and includes minor revisions to the manage locations interface for new installs.

Change Log

 

Posted on

Google Map Styles Come To Store Locator Plus

Custom Bluegreen Map Banner

Enhanced Map 4.2.05 was published today with support for Google Map Styles.   The map style rules are JSON-style settings that define the inner map look-and-feel.   Change your map style form the standard Google street map view to something better tailored to your site.   Give the map a dark “midnight mood” or high all the features other than the highways and water or highlight the highways in bold dark red lines.  It is possible with the discreet control provided by the Google Map styles now available in Enhanced Map 4.2.05.

EM Map Style Midnight Commander
[{“featureType”:”all”,”elementType”:”labels.text.fill”,”stylers”:[{“color”:”#ffffff”}]},{“featureType”:”all”,”elementType”:”labels.text.stroke”,”stylers”:[{“color”:”#000000″},{“lightness”:13}]},{“featureType”:”administrative”,”elementType”:”geometry.fill”,”stylers”:[{“color”:”#000000″}]},{“featureType”:”administrative”,”elementType”:”geometry.stroke”,”stylers”:[{“color”:”#144b53″},{“lightness”:14},{“weight”:1.4}]},{“featureType”:”landscape”,”elementType”:”all”,”stylers”:[{“color”:”#08304b”}]},{“featureType”:”poi”,”elementType”:”geometry”,”stylers”:[{“color”:”#0c4152″},{“lightness”:5}]},{“featureType”:”road.highway”,”elementType”:”geometry.fill”,”stylers”:[{“color”:”#000000″}]},{“featureType”:”road.highway”,”elementType”:”geometry.stroke”,”stylers”:[{“color”:”#0b434f”},{“lightness”:25}]},{“featureType”:”road.arterial”,”elementType”:”geometry.fill”,”stylers”:[{“color”:”#000000″}]},{“featureType”:”road.arterial”,”elementType”:”geometry.stroke”,”stylers”:[{“color”:”#0b3d51″},{“lightness”:16}]},{“featureType”:”road.local”,”elementType”:”geometry”,”stylers”:[{“color”:”#000000″}]},{“featureType”:”transit”,”elementType”:”all”,”stylers”:[{“color”:”#146474″}]},{“featureType”:”water”,”elementType”:”all”,”stylers”:[{“color”:”#021019″}]}]
EM Map Style Subtle Grayscale
[{“featureType”:”landscape”,”stylers”:[{“saturation”:-100},{“lightness”:65},{“visibility”:”on”}]},{“featureType”:”poi”,”stylers”:[{“saturation”:-100},{“lightness”:51},{“visibility”:”simplified”}]},{“featureType”:”road.highway”,”stylers”:[{“saturation”:-100},{“visibility”:”simplified”}]},{“featureType”:”road.arterial”,”stylers”:[{“saturation”:-100},{“lightness”:30},{“visibility”:”on”}]},{“featureType”:”road.local”,”stylers”:[{“saturation”:-100},{“lightness”:40},{“visibility”:”on”}]},{“featureType”:”transit”,”stylers”:[{“saturation”:-100},{“visibility”:”simplified”}]},{“featureType”:”administrative.province”,”stylers”:[{“visibility”:”off”}]},{“featureType”:”water”,”elementType”:”labels”,”stylers”:[{“visibility”:”on”},{“lightness”:-25},{“saturation”:-100}]},{“featureType”:”water”,”elementType”:”geometry”,”stylers”:[{“hue”:”#ffff00″},{“lightness”:-25},{“saturation”:-97}]}]
In addition to the map styling update a patch has been included to retain custom per-location map markers during map address searches.   A bug in a previous release removed the custom map marker when an address search was performed even though it the marker was loaded when the map was first rendered.

Change Log

Posted on

Premium Updates for Store Locator Plus

Several premium add-on packs for Store Locator Plus have been updated this afternoon.   Most updates are minor patches with revised hyperlinks, typo fixes, or language file updates.    The patches bump the version of the add-on packs to ensure that all sites are updated to the latest release due to a series of version control system updates that were not being reported to all users.   The heightened security on one of the CSA servers prevented the version reference file from updating, in turn stopping update notices from getting out to all users.

Directory Builder 4.2.10

A Dutch language file update is included in this release.

Users that missed the 4.2.09 update notice will also get the 4.2.09 feature that allows nonces to be disabled for better SEO performance of the directory listings.

Enhanced Map 4.2.07

Minor updates to the hyperlinks and typo fixes.

Users that missed the 4.2.06 and 4.2.05 update notices will get the new Google JSON Style rules feature for maps as well as the custom map markers patch for per-location map markers.

Enhanced Results 4.2.07

Minor updates for hyperlinks and typo fixes.

Users that missed the 4.2.06 update will laos receive the new popup email formatting and CSS rules set in SLP 4.2.48.

Enhanced Search 4.2.09

Not updated today, this release was pushed to production again to ensure all users get the update.   It includes patches for the state and country dropdown selectors.  Also set autocomplete to not fire until at least 3 characters are entered when “address zip autocomplete” is enabled.   Includes the Dutch translation update.

Widget Pack 4.2.04

No update today.  4.2.04 updates the widget pack to work with Enhanced Results 4.2.06+.

Posted on

WordPress Locator Improves Social Media

Store-Locator-Plus-SME-480x480-24b

Social Media Extender version 4.2.05 was released today adding support for direct CSV import and export along with standard location data.    Several bug fixes are included in this release to improve compatibility with WordPress 4.2.2 and Store Locator Plus.   The issues address various data and display issues on specific web server configurations.

Social Media Extender is a premium add-on pack for Store Locator Plus.    Social Media Extender makes it easy to add social media icons and links to location listing results.   The social media platforms are pre-configured with Twitter and Facebook as sample media sites, however any social media platform can be added to the list.    Icons are provided for Blogger, Delicious, DeviantArt, Digg, Dribble, email, Facebook, Flickr, FriendFeed, Google +, Instagram, LastFM, LinkedIn, Pinterest, rss feeds, Skype, SoundCloud, Spotify, StumbleUpon, Tumblr, Twitter, TypePad, Vimeo, WordPress, and YouTube.    Once a social media platform has been configured, any location can be updated with links to that store’s social media pages.     When users search for locations the results will show the social icons and link directly to the location’s social media pages.

Store Locator Plus is a free plugin for WordPress that provides a simple interface to place an “enter your zip code” map of locations on your site.   A variety of premium add-on packs allow extensive modification of the interface and provided added functionality to the base product.   For more information visit www.StoreLocatorPlus.com.

SME Change Log

Posted on

Store Locator Plus New Install Fatal Error Fixed

Silk Map Banner 774x363

Store Locator Plus 4.2.60 addresses a fatal error that was occurring during a “clean” installation of the plugin. Sites that were upgrading from prior releases did not run into the issue. The problem was introduced in Store Locator Plus 4.2.51 with the automated saving of custom plugin theme files (css files). The auto-saving routine worked but on upgrading to version 4.2.51 or higher the restore functionality would crash on a new installation which did not have the auto-saved CSS folder in place. The problem could also appear on servers that restricted permissions on either the active plugin CSS directory or the saved CSS file directory after the auto-save completed. Version 4.2.60 gets Store Locator Plus back online for anyone that is exploring the plugin for the first time.

In addition version 4.2.60 now checks that WordPress 3.8 or higher is installed and gracefully warns the site administrator of potential issues if they are not running WordPress 3.8. Several other enhancements were made while address the CSS auto-save feature that removed excess plugin startup processing that was inherited with legacy cross-plugin drivers from the original framework used to build Store Locator Plus.

Change Log

Posted on

Locator Enhanced Search Updated

Stainless Search Binoculars 680x317

Enhanced Search , a premium add-on pack for Store Locator Plus, was updated to version 4.2.09 today.  Enhanced Search extends the search interface feature set for the WordPress locator plugin adding elements such as auto-created city, state, and country drop down menus to help guide site visitors to physical business locations.    The patch addresses an issue with the state drop down menu which uses an improved data query in Store Locator Plus version 4.2.58.   The 4.2.09 patch for Enhanced Search ensures the state dropdown is functional with the new improved query.

Enhanced Search 4.2.09 - Locations and State Dropdown
Enhanced Search 4.2.09 – Locations and State Dropdown

Sites employing Enhanced Search should upgrade to Store Locator Plus version 4.2.58 and then upgrade Enhanced Search to version 4.2.09.

Change Log

Posted on

WordPress Locator Improves Bulk Import/Export

Pin In Map Banner

Store Locator Plus , a plugin for placing location maps on your WordPress site, was updated to version 4.2.58 today. The new update includes several patches that work toward further performance and reliability improvements.

Store Locator Plus 4.2.58

The patches include removal of several custom network handlers in favor of the built-in WordPress core methods for managing HTTP requests. This provides a more consistent and secure fallback (in non-geek-speak: trying different ways to accomplish a task) when getting data or information from other web servers. This has reduces the size of the install for the base plugin and improves both base plugin and add-on pack performance and security.

The update also includes removal of several custom behind-the-scenes methods and functions that Store Locator Plus has been “carrying around” for some time since the initial legacy release of Store Locator Plus 2. The removal of these methods lessens the code complexity and also reduces memory consumption.

Pro Pack 4.2.14

In conjunction with Store Locator Plus 4.2.58, which is now required for Pro Pack 4.2.14, the Pro Pack has built on the patches of 4.2.58 to improve bulk location import/export processing.

For bulk location imports the File Import feature for recurring file imports from a remote file destination has been improved.  The new implementation uses the built-in WordPress core remote file request handler to fetch the remote file.  This ensures that the full list of fallback methods for retrieval are employed.  This is especially useful on hardened systems that do not allow remote URL fopen requests.    In the previous versions of the Pro Pack , systems with allow_url_fopen turned off would not be able to retrieve the remote file.   In addition, the time allowed to fetch the remote file has been increased from 30 seconds to 5 minutes to provide ample time to make the server connection and fetch the complete file contents.

Pro 4.2.14 Locations Import
Pro 4.2.14 Locations Import

For location exports, a patch has been included that stops the field data output in the CSV files from “randomly shifting” causing the CSV file headers to not match the column data.   The problem is related to empty data fields that are not output on various systems.   The root source of the “dropped empty columns” was never discovered, but several servers that exhibited this behavior have received the Pro Pack 4.2.14 update and the issue appears to have been resolved.   Somewhere buried deep in the PHP configuration settings or one of the compiled-in libraries there is a setting that is causing empty data fields to be skipped.   It does not appear to be a simple PHP install version issue but rather a unique combination of PHP environment settings.

Pro Pack 4.2.14 Export Locations
Pro Pack 4.2.14 Export Locations

Change Log