Miva 10.04.01 Release Notes

Release Date: 10/4/22

New Features & Improvements

Product Notification Module API Improvements
  • Additional Module APIs have been added to allow other modules to be notified when product-related actions occur including:
    • Product Custom Fields values are changed
    • Attributes or Options are changed
    • Related Products are assigned or unassigned
    • Inventory Changes for a product
    • A product is assigned or unassigned from a price group or price group settings are updated
    • Time-based price group events (a scheduled price group)
    • A new variant is added/update/deleted, or all variants are generated or deleted for a product
    • An image for a product is added/updated or deleted
    • A product is assigned or unassigned from a category or the category is deleted
    • A product's URI is changed
New Product Data Fields and Feeds Module
  • This brand-new feed module ties into the new notification APIs listed above and regenerates the feed template for each product as change happens. This allows for far greater performance when generating the final feed, which is done in a few seconds, rather than hours. Example use cases include:
    1. Generation of very large bulk product feeds for 3rd party search providers such as Searchspring
    2. Pre-Generation and Caching of Google Structured Product Data
  • Features Include:
    • Queuing of updated products for regeneration of template
    • JSON API Function to mark a product as modified
    • Page Template generation of output with optimal loading of inventory, sale price, predict discounts and custom fields
    • A Scheduled Task to process queue
    • Integration with Miva Feed system to write feed file to server
Searchspring Live Indexing & Live Pricing
  • This new integration with Searchspring’s Live Indexing and Live Pricing APIs pushes up product changes in real time to ensure Searchspring has the latest pricing and inventory data. This integration also reduces the reliance on a bulk data feed as changes are pushed up to Searchspring throughout the day
  • Features Include:
    • A Queue for product updates that are processed by a scheduled task
    • Manual button to force delete the queued products
    • Support for Live Indexing Delete operations
    • Template-level functions for adding products to the queue
    • JSON API function to load pricing and inventory for a list of products
JSON API Updates
  • ProductVariant_Insert and ProductVariant_Update have been updated to make them more flexible
  • New JSON API function that is part of the Product Data Fields and Feeds module for ProductModified to mark a product as modified
  • New JSON API function that is part of the Searchspring Live Indexing Module for PricingAndInventory to get the sales price and inventory counts for an array of products
  • All insert/create functions now always return the newly created record in its response. This impacts the following functions:
    • AttributeTemplateAttribute_Insert
    • AttributeTemplateOption_Insert
    • AttributeTemplate_Insert
    • Attribute_Insert
    • AvailabilityGroup_Insert
    • BusinessAccount_Insert
    • CategoryURI_Insert
    • CustomerAddress_Insert
    • CustomerCreditHistory_Insert
    • FeedURI_Insert
    • Note_Insert
    • Option_Insert
    • PageURI_Insert
    • Product_Insert
    • ProductImage_Add
    • ProductURI_Insert
    • URI_Insert
    • Coupon_Insert
    • PriceGroup_Insert
    • PrintQueueJob_Insert
    • ProductVariant_Insert
    • SubscriptionAndOrderItem_Add
Miva Admin Batch List Optimizations for Extremely Large Data Sets
  • Improvements to the way we retrieve custom field values when there are more than 100,000 products that need to be sorted
  • A new user setting to prevent saving list sort when a search is applied
  • Sort Column is now saved as part of a Saved Search
  • User preferences now are not saved until at least one record load has completed, preventing saving a user preference that could cause a timeout

Video Walkthrough - Feature Highlights

Bugs Fixed

Bug ID Component Description
MM-11441Administrative InterfaceAdmin batch reports, Session timeout error in safari 15.3
MM-11649Administrative InterfaceAbility to log system messages to a local file
MM-11940Administrative InterfaceAll admin activity logs should include the current version of the software
MM-12133Administrative InterfacePoor performance/timeouts on large datasets when sorting by a custom field with multiple custom fields displayed
MM-11929Attribute Templatesnot_attemp Module API Feature
MM-11927Copy ProductCall Module_Notify_Product_Update when product custom fields are updated
MM-11949Copy ProductCall Product_Update_LastUpdated when product data is updated
MM-11951Copy ProductAdd new Module_Notify_Product_Copy API function to the not_prod feature
MM-11955Core JSONUpdate JSON_ProductVariantPricing_Update to use current JSON_Input_XXX standards
MM-12044Core JSONOne user can update another user's basket item quantity/delete an item from their basket
MM-12061Core JSONJSON_ProductImage_Update_Type should not clear out an image with the existing type as ProductImage_Update_Type already does that
MM-11925Database LayerCreate index sNN_Products_7 on sNN_Products ( sku )
MM-11928Database Layernot_attr Module API Feature
MM-11987Database LayerBatchList_Load_Closed & ShipmentBatchList_Load_Closed should return all batches when closed is set to 0
MM-12013Database LayerNotification of product image changes
MM-12040Database LayerModule_Notify_xxx_Delete functions should be called prior to the deletion, not after it
MM-12041Database Layernot_cat notification of category product assignment changes
MM-12050Database LayerProductImage_Replace_Type never sets the productimage variable when replacing the image
MM-12060Database LayerCategory_Delete should bulk decrement product catcount and bulk delete sNN_CategoryXProduct records
MM-10456Discounting SubsystemSubtotal checks for basket discounts of equal priority are inconsistently applied.
MM-11934Inventory Subsystemnot_variant Module API Feature
MM-11395JSON APIAPI Insert / Add functions should return the newly created record
MM-12090JSON APIPricing Method in JSON_ProductKit_Generate_Variants should accept string named values
MM-12140Module: avatax"AvaTax From Country" field value for unconfigured products differs when retrieved via Module_Product_Field_Value and Module_Product_Field_Query_Value
MM-11942Module: quoteAdd "View Quotes" Link to Shadows Navigation Set when Manage Quotes is Installed
MM-12047Module: quoteModule should use BasketItemList_Load_Basket_Group
MM-12075Module: readythemeAdd the ability to add an item to a navigation set
MM-11918Module: searchspringliveSearchspring Live Indexing and Pricing
MM-11933Module: stdschtasksNotify Modules of Time-based Price Group Events
MM-11916Module: upsxmlupsxml, DCISType 1 is no longer supported and should be removed.
MM-11939Module: upsxmlDeclared value/insured value is not supported by UPS surepost and should not be send for surepost rate calls.
MM-11944Module: upsxmlUPS Developer Kit - Label for CN22 Size value of 6 should be labeled 4 x 8
MM-11932Price Groupsnot_pricegroup Module API Feature
MM-11938Price GroupsJSON_PriceGroupQualifyingProduct_Update_Assigned should error when attempting to assign a product to a legacy price group
MM-12025Price GroupsModule_Notify_PriceGroup_Delete should be called before the price group is deleted
MM-12124Price GroupsAssigning a coupon to an order removes price groups excluded at the basket level
MM-11930Related Productsnot_relprod Module API Feature
MM-11935SubscriptionsSubscription next order date gets set incorrectly when spanning a DST change.
MM-11996Utility LibraryEnsurePathExists does not work correctly if the top-level path does not exist
MM-11998Utility LibraryEnsurePathPermissions does not work correctly using an absolute path in the Data directory
MM-12046Wish ListsOne user could move another user's basket item into their wish list

Looking for Developer Docs?

We have a whole section for that, including: Developer Training Series, Template Language docs, Module Development tutorials and much, much more.

Head to the Developer Section

This website uses cookies to identify visitors, track visitors to our website, store login session information and to remember your user preferences. By continuing to use this site you agree to our use of cookies. Learn More.

This website uses cookies. By continuing to use this site you agree to our use of cookies. Learn More.


Copyright © 1997 – 2021 Miva©, Miva Merchant©, MivaPay©, MivaCon© Miva, Inc. All Rights Reserved.