[Plugin update] Product Importer Deluxe 2.2.1 for WooCommerce

Hi WooCommerce store owners, the 2.2.1 Plugin update is a minor Plugin release resolving import issues affecting some non-www stores as well as SSL sites with weird certificates. Import support for WooCommerce Unit of Measure has been added and better logging and validation reporting is now available at import time.

Here’s the full changelog:

Fixed

  • Fixed: WooCommerce Show Single Variations not merging correctly (thanks Roy)
  • Fixed: Stripping out www. from external file downlodas (thanks Ryan)
  • Fixed: Logging to woo_pd… files in WooCommerce 3.1+
  • Fixed: Link to sample import files and templates
  • Fixed: Merging Products with mismatching Post ID vs duplicate Product ID (thanks Ryan)

Changed

  • Changed: Initial export notice links to Store Exporter Deluxe available from My Account > Downloads

Added

  • Added: Additional logging Filters
  • Added: Filter fallback for wp_remote_fopen (thanks Ryan)
  • Added: Import support for WooCommerce Unit of Measure (thanks David)

Download the latest Plugin update from My Account, or via Dashboard > Updates within the WordPress Administration and for more information visit the Plugin detail page for Product Importer Deluxe.

[Plugin update] Store Exporter Deluxe 2.3.7 for WooCommerce

Hi WooCommerce store owners, the 2.3.7 Plugin release is a minor Plugin update that was intended to be a point release (2.3.6.1) but just kept on growing (as soon as it gets an “added” it’s no longer a point release)! The urgency for the point release was to fix compatibility with WooCommerce’s logging engine that defaulted to log… in WC 3.1+, not major but an inconvenience when raising a support ticket.

Here’s the full changelog:

Fixed

  • Fixed: Exporting Order Shipping Weight in WooCommerce 3.1+ (thanks Sarun)
  • Fixed: Override default Product Types when bulk exporting from Products screen
  • Fixed: Logging to woo_ce… files in WooCommerce 3.1+
  • Fixed: Filtering Orders by Coupon case-sensitivity mis-match (thanks Scott)
  • Fixed: Custom Product Attributes not showing as export columns without a single Global Attribute (thanks David)

Added

  • Added: Additional logging Filters
  • Added: Filter woo_ce_enable_advanced_product_attributes to hide advanced Product Attribute fields (thanks Corin)
  • Added: Export support for WooCommerce Unit of Measure (thanks David)

Download the latest Plugin update from My Account, or via Dashboard > Updates within the WordPress Administration and for more information visit the Plugin detail page for Store Exporter Deluxe.

[Plugin update] Store Exporter Deluxe 2.3.6 for WooCommerce

Hi WooCommerce store owners, the 2.3.6 Plugin release is a minor Plugin update adding pagination to the Scheduled Export screen, integration with Store Toolkit for managing the export of custom Post meta linked to Products, Orders and Coupons, there’s additional smart notices and logging capabilities as well as speed optimisations for Order exports plus a typical laundry list of fixes and changes.

Gallery


Here’s the full changelog:

Fixed

  • Fixed: Check for WooCommerce pre-2.1 when exporting Products (thanks Yogesh)
  • Fixed: Check for corrupt Products export query (thanks Alex)
  • Fixed: Defaulting empty e-mail recipient for Scheduled Exports to WordPress Administration e-mail (thanks Bruno)
  • Fixed: Purchase Date offset applying to some GMT dates (thanks Joe)
  • Fixed: Slashes appearing in custom labels (thanks Craig)
  • Fixed: CSS styling on tabs in Edit Export Template screen (thanks Phil)
  • Fixed: CSS styling on tabs in Edit Scheduled Export screen
  • Fixed: Quick Export slowdown for stores with thousands of Coupons (thanks Simon and Rees)
  • Fixed: Exporting multiple values (separate fee) for Extra Product Options Order Items (thanks Dave)
  • Fixed: Filtering Orders to the same date returned Orders from the next day (thanks Taavi)
  • Fixed: Lowest Product Variation Price snippet causing fatal PHP error (thanks Ingmar)

Added

  • Added: Pagination of Recent Scheduled Exports on the Scheduled Export screen (thanks Joe)
  • Added: Hide any error notices when running a Quick Export after a fatal PHP error (thanks Yogesh)
  • Added: Notice for Extra Product Options users of memory warning with 1000+ Orders (thanks Colm)
  • Added: Export support for WooCommerce Deposits (thanks Niels)
  • Added: Add custom Order meta to exports from Edit Order screen
  • Added: Add custom Coupon meta to exports from Edit Coupon screen
  • Added: WOO_CD_DEBUG to WooCommerce > System Status screen
  • Added: WOO_CD_LOGGING to WooCommerce > System Status screen
  • Added: Export to FTP notice shows missing PHP functions on WooCommerce > System Status screen
  • Added: Export to SFTP notice shows missing PHP functions on WooCommerce > System Status screen
  • Added: Count column to Categories export type
  • Added: Count column to Tags export type
  • Added: Scheduled Export History meta box to Edit Scheduled Export screen (thanks Bill)
  • Added: Order attribute logging to woo_ce_debug_product_attributes
  • Added: Order speed optimisations by loading filter resources once (thanks Sarun)

Changed

  • Changed: WordPress Option woo_ce_order_coupons to woo_ce_order_coupon
  • Changed: Export Details meta box title to Scheduled Export Details
  • Changed: Renamed order-combined.php to order-combined-extend.php

Download the latest Plugin update from My Account, or via Dashboard > Updates within the WordPress Administration and for more information visit the Plugin detail page for Store Exporter Deluxe.

Hiding Awaiting processing, On-hold, Out of stock elements from the WooCommerce Status Dashboard widget

I’m making an effort to share the WooCommerce snippets powering visser.com.au, some are complex others like this PHP/CSS snippet has a simple purpose to hide non-relevant elements from the WooCommerce status Dashboard Widget. As a WooCommerce store selling non-physical goods I have no need to see Products that are either:

  • awaiting processing
  • on-hold
  • low in stock
  • out of stock
  • etc.

In the above screenshot I left the WooCommerce Subscriptions elements intact but those too can easily be hidden by fetching the HTML class associated with each element (signup-count and renewal-count).

Add the following to your Theme’s admin.css – this file is dedicated to WordPress Administration styling (if available) – otherwise use the bottom snippet which can be added to your Theme’s functions.php.

View Code

This is the alternate snippet to be used where the Theme’s admin.css is unavailable, add this snippet to your Theme’s functions.php

View Code

That’s it! 🙂

[Plugin update] Product Importer Deluxe 2.2 for WooCommerce

Hi WooCommerce store owners, the 2.2 Plugin update is a minor Plugin release adding additional import logging when merging Product Variations and refreshes the import UI to match WooCommerce  3.1.

Here’s the full changelog:

Added

  • Added: Additional logging when merging Product Variations (thanks Guilia)
  • Added: Template file checks and additional debug logging

Changed

  • Changed: Import progress UI to match WooCommerce 3.1
  • Changed: Removed excess PHP files from legacy importer

Screenshots

Download the latest Plugin update from My Account, or via Dashboard > Updates within the WordPress Administration and for more information visit the Plugin detail page for Product Importer Deluxe.

[Plugin update] Product Importer Deluxe 2.1 for WooCommerce

Hi WooCommerce store owners, the 2.1 Plugin update is a minor Plugin release adding Attribute grouped menu support and import support WooCommerce Show Single Variations, a month worth of fixes made it into this update affecting imports and merges.

Here’s the full changelog:

Fixed

  • Fixed: Incorrect import log feedback for merging Sale Price without Price for Variations (thanks Roy)
  • Fixed: Past Import list not being populated after successful imports
  • Fixed: Merging Download File URL Path to existing Products (thanks Mike)
  • Fixed: Detecting Product by Product Name when merging (thanks Jason)
  • Fixed: Merging Attribute Variations and changing Product Type (thanks Jason)
  • Fixed: Do not set Price, Sale Price, Sale Price Dates From, Sale Price Dates To for Variables (thanks Johan)

Added

  • Added: Import and merge Featured Variation status for WooCommerce Show Single Variations users
  • Added: Import and merge support for additional WooCommerce Show Single Variations fields
  • Added: Log failed woo_pd_http_file_exists() external calls to the error log
  • Added: woo_pd_download_files_update_existing_orders Filter to restrict updating existing Orders
  • Added: Attribute name to Attribute column import menu item on import screen
  • Added: Additional import logging to woo_pd_duplicate_product_exists()
  • Added: Additional import logging where Product validation fails without a reason
  • Added: woo_pd_http_file_exists_force_exists Filter to force file exists condition
  • Added: Import file path on hover to import options screen

Changed

  • Changed: Cleaned up woo_pd_validate_columns()
  • Changed: woo_pd_http_args Filter name to woo_pd_http_file_exists_args
  • Changed: Re-ordered import field groupings in product-new.php vs product-merge.php
  • Changed: Increased import progress window size

Download the latest Plugin update from My Account, or via Dashboard > Updates within the WordPress Administration and for more information visit the Plugin detail page for Product Importer Deluxe.

[Plugin update] Store Exporter Deluxe 2.3.5 for WooCommerce

Hi WooCommerce store owners, the 2.3.5 Plugin release is a minor Plugin update adding support for field labels within Export Templates, you can hide excess Export Types from the Quick Export screen, plus fixes for the Order Time and Order Shipping Method ID’s.

Changelog viewable from the Dashboard > Updates screen


Custom field labels within the Edit Export Template screen


Here’s the full changelog:

Fixed

  • Fixed: Variations being trimmed from Product export when filtering by Type (thanks Roy)
  • Fixed: Order Items: Product Variations missing custom per-Product Attributes
  • Fixed: Removed setting of $order->id related to forced WooCommerce 3.0 deprecation
  • Fixed: Order Time not reflecting local timezone (thanks Joe)
  • Fixed: wc_format_datetime not available in WC 2.7 (thanks Guillaume)
  • Fixed: Empty Shipping Method ID in Orders (thanks Jeremy and Rod)

Added

  • Added: WordPress Filters to restrict categories of debugging notices
  • Added: woo_ce_debug_subscriptions Filter for debugging Subscriptions
  • Added: woo_ce_debug_product_attributes Filter for debugging Product Attributes
  • Added: String cell detection and type support for PHPExcel cells (thanks Niels)
  • Added: Force text wrapping for Excel format cells that contains strings
  • Added: woo_ce_debug_cron_export_email Filter for debugging Scheduled Export e-mails
  • Added: woo_ce_debug_cron_export_ftp Filter for debugging Scheduled Export FTP/SFTP/FTPS transfers
  • Added: Custom label support for Export templates
  • Added: Hide excess Export Types from the Quick Export screen

Changed

  • Changed: Moved alot of debugging notices to be WOO_CD_LOGGING dependent
  • Changed: PHP function rename woo_ce_sanitize_key to woo_ce_filter_sanitize_key

Download the latest Plugin update from My Account, or via Dashboard > Updates within the WordPress Administration and for more information visit the Plugin detail page for Store Exporter Deluxe.

Development workshop: Week 2

The second week of this development workshop has come to an end, this week was dedicated to the development of new Plugin functionality but meant we had to deal with the elephant in the room; how to manage support tickets and the priority of feature requests. I’m making progress on this front and changing how new support tickets vs feature requests are being processed, thank you for your patience during this transition.

I’m proud to announce that support for Export Templates on the Quick Export screen is well underway as is reducing the memory footprint of export elements which will greatly affect large Product and Order exports.

Custom field labels within the Edit Export Template screen

Export Templates now support setting custom column labels on a per-Export Template basis, this functionality will be included in the next minor Plugin release due Monday; the Friday update curse is in effect today.


Export Template integration to the Quick Export screen

I’m proud to announce that Export Template integration to the Quick Export screen is well underway with support for export field visibility and sorting working.


Summary

This final week ahead is exclusively Plugin work focused and I expect to get both minor Plugin updates of Store Exporter Deluxe and Product Importer Deluxe out the door. Here’s a re-cap.

The goals of this development workshop are:

  • to add Export Template integration to the Quick Export screen in Store Exporter Deluxe (in progress)
  • to reduce the memory footprint of export elements when preparing exports in Store Exporter Deluxe (in progress)
  • to complete the WooCommerce 3.0 CRUD model transition for Order exports *1
  • to move the Product import logic from Product Importer Deluxe to Store Importer Deluxe
  • to add Order and Order Item import support to Store Importer Deluxe
  • to add file attachment support to the Premium Support form (achieved)
  • to add file attachment support to the My Account > Support section (in progress)
  • to continue customising the visser.com.au storefront (achieved)
  • to make available the Jigoshop to WooCommerce migration Plugin to existing Product Importer Deluxe customers *2

*1 – we currently avoid conflicting with WooCommerce 3.0 Order and Order Item resources which trigger deprecation notices

*1 – in the same way that Product Importer Deluxe customers have access to early builds of Store Importer Deluxe as it is being developed

That’s it for now, thank you for respecting this opportunity to focus on development over support for this three week period. This development workshop will benefit all of us.

Changes to Visser Labs Support

Hi WooCommerce, Jigoshop, Exchange and WP e-Commerce users, I’m here in the middle of week 2 of this development workshop and doing my best to build new Plugin functionality as discussed earlier, unfortunately I’m realising I have over-committed to delivering feature requests and new enhancements which while they benefit some users do not benefit the greater community.

This failure to manage support tickets and feature requests is eating into my dedicated development time here at this development workshop and has been a major conflict in reliably allocating development resources since I started developing and then maintaining WordPress Plugins.

I need your help and advice on how to resolve this as there are many suggestions to managing Plugin support requests but no easy fixes.

I do not want to sacrifice my speed to market for delivering new functionality or personal connection I have with new as well as long-established tickets (I recently saw a first support ticket from a customer in 2014!). Hearing directly from Plugin users allows me to deliver Plugin updates that I would never have considered and that directly affect store owners operations.

Some strategies going forward could include:

  1. build a support wall to reduce the volume of new tickets
  2. stop directly committing to new feature requests

Suggestion #1: Build a support wall

This strategy is employed by many major Plugin providers, that means:

  • adding level-based suppport staff (I’ve tried this)
  • introducing support subscriptions that expire (I haven’t tried this and am reluctant to)
  • validating support tickets against license purchases (I haven’t tried this and am reluctant to)
  • simply hide from difficult tickets (I’ve tried this, never ends well)

The con’s of this strategy are:

  • instead of taking 30 seconds to type a quick resolution (e.g. a PHP snippet) it could takes hours to days to filter through support levels (L2: Basic, L3: Moderate, L4: Advanced)
  • it would require employing dedicated support staff for each support level
  • support subscriptions are a annual cost which I can’t personally chew so can’t see why my customers would
  • checking valid support subscriptions against new tickets may hold back a few tickets but won’t make a significant difference

Suggestion #2: Stop being a yes man

This strategy means I will stop committing to new feature requests directly via Support.

Instead new feature requests as they come into Support would be added to a dedicated Trello board or bbPress board where conversations could develop, a link to these resources would be provided to the support ticket author to monitor progress of that feature request.

The con’s of this strategy means that Plugin customers requiring rapid deliverables would need to wait in line as feature requests are processed else consider funding the project if development resources are available (this would depend on the volume of open support issues). Currently I encourage customers requesting new functionality to ping me once a fortnight so their ticket floats to the surface within Zendesk but this is not a sustainable model and is frustrating to both Plugin customers who are WooCommerce integrators as well as myself.


I need your help

What do you think I should do?

As a first step I’ve internally set up separate Views in Zendesk to separate support issues from feature requests and pre-sales but this is just a cosmetic change, new support tickets are still streaming in and I’m doing my best to develop new functionality for Plugins while supporting you, my Plugin customers. Thanks for your time. 🙂

Development workshop: Week 1

The first week of this development workshop has come to an end, this week was dedicated to the visser.com.au website and supporting infrastructure, that has meant launching the new VLShop Theme, overhauling Plugin detail pages, preparing new documentation, improving contact forms and even working on our Plugin update infrastructure.

Here’s what has been achieved:

The next two weeks are exclusively Plugin work focused on nailing the goals established before beginning this development workshop. Here’s a re-cap.

The goals of this development workshop are:

  • to add Export Template integration to the Quick Export screen in Store Exporter Deluxe (in progress)
  • to reduce the memory footprint of export elements when preparing exports in Store Exporter Deluxe
  • to complete the WooCommerce 3.0 CRUD model transition for Order exports *1
  • to move the Product import logic from Product Importer Deluxe to Store Importer Deluxe
  • to add Order and Order Item import support to Store Importer Deluxe
  • to add file attachment support to the Premium Support form (achieved)
  • to add file attachment support to the My Account > Support section (in progress)
  • to continue customising the visser.com.au storefront (achieved)
  • to make available the Jigoshop to WooCommerce migration Plugin to existing Product Importer Deluxe customers *2

*1 – we currently avoid conflicting with WooCommerce 3.0 Order and Order Item resources which trigger deprecation notices

*1 – in the same way that Product Importer Deluxe customers have access to early builds of Store Importer Deluxe as it is being developed

That’s it for now, thank you for respecting this opportunity to focus on development over support for this three week period. This development workshop will benefit all of us.

Now it’s time for a Friday afternoon beer and a rare weekend away from the computer then starting Monday morning focus on getting the above functionality implemented. Expect new functionality across the WooCommerce Plugin suite being available soon in the next batch of minor Plugin releases. 🙂