Miva Merchant 9.6 Release Notes
New Features
Feeds Subsystem
New Feeds subsystem allows modules to be configured to generate data feeds for pushing catalog information to external systems. Two bundled feed modules provide the following functionality:
A new scheduled task mechanism allows maintenance tasks to be scheduled and executed in the background. This mechanism is available to all modules.
A new Subscription subsystem allows automatic reordering of products
8943: Module: canvat: it's impossible to place a non-Canadian order while using Canadian vat and require tax.
19664: Shipping/Packaging Rules: Add a weight field to boxes
19762: Module: mvga: Google Analytics should be updated to make use of the URIs when available
19832: Module: marketplaces: Marketplaces: eBay: Variation listing needs to handle UPC being required for each variation
20299: Administrative Interface: Module management interface does not include description
20592: Module: cmp-cssui-basket: formatted_subtotal_comprehensive should be made available in the basket component
20593: Attribute Templates: Feature Request: Add assigned/referenced product list to the Edit Attribute Template screen
20604: Administrative Interface: Business Account not displayed in Order Processing
20956: Universal Search: ReadyTheme does not appear in Universal Search
20957: Universal Search: Marketplaces does not appear in Universal Search
20971: Template Subsystem: features/tui/tui_json.mv: Missing build_ident.mv include
20972: Administrative Interface: Order Processing > Edit Order > Clicking "Assign" button for customer and then quickly clicking "Escape" produces JS error
21001: Crypto Library: Encryption key generation should delete the public key if the private key insert fails
21002: Wish Lists: EOF error when removing items from Wish List in runtime
21014: Patches: LSK does not contain include files for updated shipping modules
21025: Administrative Interface: MMDialog_FieldList_Controller.prototype.MarkInvali dFields does not work correctly
21027: Payment: lock on the orders when processing refunds
21028: Module: productimport: Productimport: limit payment methods gets checked when setting limit shipping methods during import
21029: Module: discount_shipping_product: Discount_Shipping_Product does not copy the basket residential flag correctly
21030: Module: mvfedexsoap: mvfedexsoap: Unable to generate label with bill recipient when no recipient account number is avaliable
21032: Provisioning: PRV_Action_Provision_Store_Page_Item creates blank provide_xml:name value
21033: Core JSON: Cannot update attribute code to same value, different case
21034: Core JSON: Cannot update option code to same value, different case
21090: Database Layer: lib/dbprim/notes.mv Add function NoteList_Load_Order
21215: Module: mvcanadapost: Canada Post should allow for commercial rates for non-contract "small business" accounts
21266: Core JSON: Canceling a return should update the Order Status
21267: Module: customfields: Provisioning Product/Category/CustomerField_Value functions return 0, when they should return PRV_Error
21280: Universal Search: Marketplaces > Get Orders should not be present when using universal search
21302: Module: uriexport: URIsExport_Export_Pages fails to output an empty value when Products are also set to be output
21310: Provisioning: Order note counts can potentially be wrong
21313: Template Subsystem: Token List displays runtime error when loading an inactive product while display predicted discounts is checked
21328: Inventory Subsystem: inv_rt.mv: Function Inventory_Is_Available_Inventory_Limited is returning the wrong value
21331: Module: cmp-cssui-breadcrumbs: Breadcrumbs default to Canonical Category code when loading a product when using legacy SEO short links.
21333: Uninstall Script: remove.mvc needs to support Two Factor Authentication if the Domain has it enabled
21335: Administrative Interface: Order Processing: Orders: Advanced Search "Product Code" field should allow the product lookup dialog to be displayed
21423: URI Management: It is possible to have multiple canonical URIs for all destination types
21434: Provisioning: URI_Add does not ensure the canonical attribute tag was valid
21459: Utility Library: v9_SendEmail can potentially output too many CRLFs in the headers
21463: Administrative Interface: Users with insufficient privileges are shown checkbox sliders throughout the core software
21483: Module: uriimport: URI import, when setting canonical to No URIs are imported as if canonical was set to yes.
21500: URI Management: URI management should have a default store select for handling URI not found
21531: Price Groups: Coupons Add/Edit Dialog: Button should say "Add" when adding a coupon
21541: URI Management: Page URI list does not refresh when updating a new URI to be canonical replacing an old URI that was canonical.
21542: URI Management: Product URI list does not refresh when updating a new URI to be canonical replacing an old URI that was canonical.
21543: URI Management: Category URI list does not refresh when updating a new URI to be canonical replacing an old URI that was canonical.
21545: Module: mvcanadapost: CanadaPostServiceList_Load doesn't close the correct VIEW
21598: Framework Import/Export: Unable to upload frameworks when root directory for graphics is set to /
21604: Template Subsystem: Cannot apply framework to store that has a nested directory setup
21608: Module: discount_product: Product discount rounding doesn’t allow for 1 penny final price
21615: Administrative Interface: MMDialog: Validate_WholeNumber_GreaterThan should select the input field value
21616: MMBatchList: Order processing does not properly handle a large number of batches
21624: MMBatchList: MMBatchList_Column_Checkbox & MMBatchList_Column_CheckboxSlider should override SetOnExportData and output Yes/No values instead of true/false values
21628: Customers: Customer shipping description not updating from provisioning file
21793: Administrative Interface: Orders batchlist is inconsistently refreshed when changing order status.
21806: Administrative Interface: MySQL Strict error when adding/updating a product with a blank price/cost/weight
21807: Module: productdigitaldownloadcustomfields: Product Digital Downloads Custom Field headers do not show up in the header row when exporting products
21814: Module: marketplaces: JavaScript error when viewing the ebay listings tab as a limited user
21815: Module: paypaladv: Module does not pass the CURRENCY parameter
21816: Price Groups: Predicting product discounts is too slow, specifically when displaying volume discounts on a category page
21825: Administrative Interface: Order Processing: Hitting the enter key multiple times in the Authorize dialog generates multiple authoriztaions
21827: Administrative Interface: Multiple files are missing the build_ident.mv MvINCLUDE
21834: Module: orderhistorynotes: Order history notes creates records with a blank user_id when orders are created at runtime
21835: Database Layer: Order History Notes: <Deleted User> is displayed for order notes that are created at runtime
21838: Administrative Interface: Functions AJAX_Call_Module_FieldList and AJAX_Call_FieldList pass a blank parameter when the parameters parameter is blank
21853: Customers: Basket record address fields should be cleared when a customer logs out
21861: Module: marketplaces: Add variation listing dialog, attribute dropdown is misaligned when product is set to good till cancelled.
21867: Module: discount_volume: Module does not handle the minified JS flag properly in Module_Clientiside
21873: Module: discount_saleprice: Missing index causes slow performance with a large number of sale price entries
21875: Module: mvfedexsoap: 16:RequestedPackageLineItems tag does not get sent in the smart post call when you have a very heavy item
21878: Module: variantimport: Variant Import should allow current stock for part products to be set
21891: Related Products: Related product records get left behind when products are deleted.
21902: Module: flatcus: Flatcus: Standard fields should not have Business account on a separate line
21904: Module: paypal: Paypal Payments standard is not compatible with the authorization token.
21905: Module: amazonpay: Amazon Payments is not compatible with the authorization token.
21906: Module: paypaladv: PayPal Payments Advanced is not compatible with the authorization token when used in hosted checkout mode.
21908: Database Layer: lib/dbprim/productimages.mv function ProductImage_Load_ID parameter should be id and not product_id
21921: Discounting Subsystem: Using a coupon to add a free product to the basket returns "basket not eligible" error
22071: Import Subsystem: Import Settings: CSV/XLS Template download buttons should not be present for XML provisioning imports
22086: Customers: Edit Customer, Shipping/Billing information, update does not save changes when changing values to uppercase.
22098: Payment: Edit product, Permitted Payment Methods, payment module names disappear once you switch tabs
22110: Module: cmp-cssui-basket: Having both add to wish lists and coupon line items active for the BASK page causes formatting errors
22118: Module: mvga: mvga.mv: Google Analytics: Checkout options are no longer sent on OSEL submission
22119: Module: mvga: mvga.mv: Google Analytics: price fields inconsistently contained in quotes
22120: Module: mvga: mvga.mv: Google Analytics: never sends a transaction on INVC
22121: Module: mvga: mvga.mv: Incorrect product code being sent in AddToBasketSubmit call
22137: Module: marketplaces: Marketplaces: Edit Product: Marketplace tabs are displayed when the user does not have sufficent privileges
22201: Administrative Interface: Copyright date on the About screen should reflect the current year
22203: Module: cmp-mv-paymentmethod: Invalid payment methods are not validated when continuing from the OSEL page
22206: Upsale: Checkout with a product that has a sale price and is part of an upsale shows incorrect price when the sale price is greater than the upsale price therefore increasing your order cost
22210: Module: report_sales: Exporting recent sales data is missing dates column when not displaying the gross sales column
22219: URI Management: Product URI Batchlist does not update correctly when the user visible columns preference is set
22220: URI Management: Category URI Batchlist does not update correctly when the user visible columns preference is set
22221: URI Management: Edit Page URI Batchlist does not update correctly when the user visible columns preference is set
22223: Module: productdigitaldownloadcustomfields: DigitalDownload_ProductFieldValue_LoadAll_Cache does not cache data in the conventional way
22226: Administrative Interface: When adding an option to an attribute on the Attributes tab an error states to enter a code even when a code exists
22228: Administrative Interface: Fatal error when changing a Page code if the prodctgy_meta item is assigned to the page.
22308: Upgrade Subsystem: New StoreModule features are not inserted for upgraded modules
22327: Price Groups: Discounts Applied to Order dialog has Applied spelt wrong
22328: Price Groups: Coupons Applied to Order dialog has Applied spelled wrong
22365: Module: mvfedexsoap: mvfedexsoap.mv: Label generation dialog still shows FedEx Ground US instead of just FedEx Ground
22460: Administrative Interface: JavaScript errors when viewing the inventory variants tab as a limited user.
22465: Administrative Interface: Greyed out buttons freeze IE 11
22467: Module: cmp-cssui-basket: Legacy SEO and 9.5 templates > Redeem coupon button is broken.
22475: Gift Certificates: JS error when generating Gift Certificates w/ 0 amount
22517: Module: templateorderemails: Template Order Email sort by pc_days (Payment Card Expires within N Days) does not sort correctly
22518: Module: marketplaces: Marketplaces Google Shopping: Function JSON_Marketplaces_GoogleShoppingAccountList_Load has the JSON_ArrayElement_Start/End outside the foreach statement
22522: Module: marketplaces: The marketplaces google shopping privilege should be Marketplaces: Google Shopping
New Features
Feeds Subsystem
New Feeds subsystem allows modules to be configured to generate data feeds for pushing catalog information to external systems. Two bundled feed modules provide the following functionality:
- The Standard Sitemap Protocol module outputs a sitemap suitable for most major search engines, and supports automatic notification of Google and Bing when the sitemap is updated.
- The Template Based Feed module allows feeds to be easily constructed using template code.
- Support for Google Shopping and Etsy have been added to the Marketplaces module.
A new scheduled task mechanism allows maintenance tasks to be scheduled and executed in the background. This mechanism is available to all modules.
- A new Standard Scheduled Tasks module allows the following common maintenance tasks to be automatically performed:
- Pack Data Files
- Delete Expired Shopping Baskets
- Perform Module Cleanup Tasks
- Image Management has been updated to support checking for updated images and deleting unreferenced images through scheduled tasks.
- The PayPal Express Checkout and/or Website Payments Pro module has been updated to allow expired express checkout tokens to be deleted through scheduled tasks.
- Marketplaces now supports the following operations through scheduled tasks:
- eBay: Sync Inventory
- Amazon: Sync Inventory
- Amazon: Import Orders
- Etsy: Sync Inventory
- Etsy: Import Orders
- Google Shopping: Update All (listings)
- A new Review Baskets module allows administrative users to view, search and manipulate shopper baskets.
A new Subscription subsystem allows automatic reordering of products
- Requires MivaPay for payment processing
- The subscription term and frequency of reorder may be configured on a per product basis. Each product may have an unlimited number of subscription terms.
- Users may manage their subscriptions from the shopping interface.
- Products may be configured for optional or mandatory subscription.
- Digital download products may be delivered as subscriptions.
- Three new report modules provide information about subscriptions:
- Subscription Statistics
- Subscription Metrics
- Subscription Product Statistics
- MivaPay is a new service that provides tokenization of credit card numbers and an iframe-based checkout process that allows most merchants to meet PCI requirements with an SAQ-A. MivaPay works with the following existing payment gateways:
- Authorize.Net Payment Services v3.1
- CHASE Paymentech Orbital Gateway
- CyberSource
- PayPal Payments Advanced and/or Payflow Gateway (in Payflow Pro mode)
- Braintree
- First Data Global Gateway
- PayPal Express Checkout and/or Website Payments Pro (in PayPal Payments Pro mode)
- Intuit Merchant Services
- When MivaPay is enabled, shoppers may store credit cards in a wallet for use with subscriptions and to make the checkout process easier.
- Administrative users may collect payment from a stored customer payment card without having to enter the card number.
- Stored payment card tokens will continue to work even if the merchant changes payment gateways.
- NEW MODULE FEATURE: scheduledtask allows modules to implement scheduled tasks
- NEW MODULE FEATURE: feed allows module to provide feeds
- NEW MODULE FEATURE: not_subscript allows modules to be notified of changes in subscriptions
- The import and report features now support notification of the deletion of an import or report associated with a module
- The payment feature has been extended to support MivaPay and the concept of stored payment cards
Refer to the Miva Merchant 9 Module API Reference Guide, v3.0 for full documentation on the new features and changes above.
Other Changes- The Google Analytics module has been updated to properly support short URLs generated by URI Management.
- Braintree is now supported as a payment gateway.
- The Discounting subsystem has been optimized to improve performance when predicting discounts.
- The Inventory subsystem may now be configured to remove products from inventory at checkout rather than when added to the basket. When configured in this fashion, inventory is reverified during the checkout process and not removed from inventory until payment is successfully processed.
- The origin of an order is now tracked. Currently the order source may be one of the following:
- Admin User (created within the Administrative interface)
- Shopper (create within the runtime shopping interface)
- Marketplaces: Amazon
- Marketplaces: Etsy
- Marketplaces: eBay
- Subscription Reorder
- The default email templates have been updated with improved styling and a responsive design.
- New triggers have been added to handle subscriptions:
- Subscription Created
- Subscription Changed
- Subscription Cancelled
- A new trigger and default email have been added to notify shoppers when their stored payment card(s) are expired or will expire soon.
- Order emails may now be triggered depending on the origin of the order. This allows different emails to be sent for example, when a shopper places an order in runtime and when an Amazon order is imported through the Marketplaces module.
8943: Module: canvat: it's impossible to place a non-Canadian order while using Canadian vat and require tax.
19664: Shipping/Packaging Rules: Add a weight field to boxes
19762: Module: mvga: Google Analytics should be updated to make use of the URIs when available
19832: Module: marketplaces: Marketplaces: eBay: Variation listing needs to handle UPC being required for each variation
20299: Administrative Interface: Module management interface does not include description
20592: Module: cmp-cssui-basket: formatted_subtotal_comprehensive should be made available in the basket component
20593: Attribute Templates: Feature Request: Add assigned/referenced product list to the Edit Attribute Template screen
20604: Administrative Interface: Business Account not displayed in Order Processing
20956: Universal Search: ReadyTheme does not appear in Universal Search
20957: Universal Search: Marketplaces does not appear in Universal Search
20971: Template Subsystem: features/tui/tui_json.mv: Missing build_ident.mv include
20972: Administrative Interface: Order Processing > Edit Order > Clicking "Assign" button for customer and then quickly clicking "Escape" produces JS error
21001: Crypto Library: Encryption key generation should delete the public key if the private key insert fails
21002: Wish Lists: EOF error when removing items from Wish List in runtime
21014: Patches: LSK does not contain include files for updated shipping modules
21025: Administrative Interface: MMDialog_FieldList_Controller.prototype.MarkInvali dFields does not work correctly
21027: Payment: lock on the orders when processing refunds
21028: Module: productimport: Productimport: limit payment methods gets checked when setting limit shipping methods during import
21029: Module: discount_shipping_product: Discount_Shipping_Product does not copy the basket residential flag correctly
21030: Module: mvfedexsoap: mvfedexsoap: Unable to generate label with bill recipient when no recipient account number is avaliable
21032: Provisioning: PRV_Action_Provision_Store_Page_Item creates blank provide_xml:name value
21033: Core JSON: Cannot update attribute code to same value, different case
21034: Core JSON: Cannot update option code to same value, different case
21090: Database Layer: lib/dbprim/notes.mv Add function NoteList_Load_Order
21215: Module: mvcanadapost: Canada Post should allow for commercial rates for non-contract "small business" accounts
21266: Core JSON: Canceling a return should update the Order Status
21267: Module: customfields: Provisioning Product/Category/CustomerField_Value functions return 0, when they should return PRV_Error
21280: Universal Search: Marketplaces > Get Orders should not be present when using universal search
21302: Module: uriexport: URIsExport_Export_Pages fails to output an empty value when Products are also set to be output
21310: Provisioning: Order note counts can potentially be wrong
21313: Template Subsystem: Token List displays runtime error when loading an inactive product while display predicted discounts is checked
21328: Inventory Subsystem: inv_rt.mv: Function Inventory_Is_Available_Inventory_Limited is returning the wrong value
21331: Module: cmp-cssui-breadcrumbs: Breadcrumbs default to Canonical Category code when loading a product when using legacy SEO short links.
21333: Uninstall Script: remove.mvc needs to support Two Factor Authentication if the Domain has it enabled
21335: Administrative Interface: Order Processing: Orders: Advanced Search "Product Code" field should allow the product lookup dialog to be displayed
21423: URI Management: It is possible to have multiple canonical URIs for all destination types
21434: Provisioning: URI_Add does not ensure the canonical attribute tag was valid
21459: Utility Library: v9_SendEmail can potentially output too many CRLFs in the headers
21463: Administrative Interface: Users with insufficient privileges are shown checkbox sliders throughout the core software
21483: Module: uriimport: URI import, when setting canonical to No URIs are imported as if canonical was set to yes.
21500: URI Management: URI management should have a default store select for handling URI not found
21531: Price Groups: Coupons Add/Edit Dialog: Button should say "Add" when adding a coupon
21541: URI Management: Page URI list does not refresh when updating a new URI to be canonical replacing an old URI that was canonical.
21542: URI Management: Product URI list does not refresh when updating a new URI to be canonical replacing an old URI that was canonical.
21543: URI Management: Category URI list does not refresh when updating a new URI to be canonical replacing an old URI that was canonical.
21545: Module: mvcanadapost: CanadaPostServiceList_Load doesn't close the correct VIEW
21598: Framework Import/Export: Unable to upload frameworks when root directory for graphics is set to /
21604: Template Subsystem: Cannot apply framework to store that has a nested directory setup
21608: Module: discount_product: Product discount rounding doesn’t allow for 1 penny final price
21615: Administrative Interface: MMDialog: Validate_WholeNumber_GreaterThan should select the input field value
21616: MMBatchList: Order processing does not properly handle a large number of batches
21624: MMBatchList: MMBatchList_Column_Checkbox & MMBatchList_Column_CheckboxSlider should override SetOnExportData and output Yes/No values instead of true/false values
21628: Customers: Customer shipping description not updating from provisioning file
21793: Administrative Interface: Orders batchlist is inconsistently refreshed when changing order status.
21806: Administrative Interface: MySQL Strict error when adding/updating a product with a blank price/cost/weight
21807: Module: productdigitaldownloadcustomfields: Product Digital Downloads Custom Field headers do not show up in the header row when exporting products
21814: Module: marketplaces: JavaScript error when viewing the ebay listings tab as a limited user
21815: Module: paypaladv: Module does not pass the CURRENCY parameter
21816: Price Groups: Predicting product discounts is too slow, specifically when displaying volume discounts on a category page
21825: Administrative Interface: Order Processing: Hitting the enter key multiple times in the Authorize dialog generates multiple authoriztaions
21827: Administrative Interface: Multiple files are missing the build_ident.mv MvINCLUDE
21834: Module: orderhistorynotes: Order history notes creates records with a blank user_id when orders are created at runtime
21835: Database Layer: Order History Notes: <Deleted User> is displayed for order notes that are created at runtime
21838: Administrative Interface: Functions AJAX_Call_Module_FieldList and AJAX_Call_FieldList pass a blank parameter when the parameters parameter is blank
21853: Customers: Basket record address fields should be cleared when a customer logs out
21861: Module: marketplaces: Add variation listing dialog, attribute dropdown is misaligned when product is set to good till cancelled.
21867: Module: discount_volume: Module does not handle the minified JS flag properly in Module_Clientiside
21873: Module: discount_saleprice: Missing index causes slow performance with a large number of sale price entries
21875: Module: mvfedexsoap: 16:RequestedPackageLineItems tag does not get sent in the smart post call when you have a very heavy item
21878: Module: variantimport: Variant Import should allow current stock for part products to be set
21891: Related Products: Related product records get left behind when products are deleted.
21902: Module: flatcus: Flatcus: Standard fields should not have Business account on a separate line
21904: Module: paypal: Paypal Payments standard is not compatible with the authorization token.
21905: Module: amazonpay: Amazon Payments is not compatible with the authorization token.
21906: Module: paypaladv: PayPal Payments Advanced is not compatible with the authorization token when used in hosted checkout mode.
21908: Database Layer: lib/dbprim/productimages.mv function ProductImage_Load_ID parameter should be id and not product_id
21921: Discounting Subsystem: Using a coupon to add a free product to the basket returns "basket not eligible" error
22071: Import Subsystem: Import Settings: CSV/XLS Template download buttons should not be present for XML provisioning imports
22086: Customers: Edit Customer, Shipping/Billing information, update does not save changes when changing values to uppercase.
22098: Payment: Edit product, Permitted Payment Methods, payment module names disappear once you switch tabs
22110: Module: cmp-cssui-basket: Having both add to wish lists and coupon line items active for the BASK page causes formatting errors
22118: Module: mvga: mvga.mv: Google Analytics: Checkout options are no longer sent on OSEL submission
22119: Module: mvga: mvga.mv: Google Analytics: price fields inconsistently contained in quotes
22120: Module: mvga: mvga.mv: Google Analytics: never sends a transaction on INVC
22121: Module: mvga: mvga.mv: Incorrect product code being sent in AddToBasketSubmit call
22137: Module: marketplaces: Marketplaces: Edit Product: Marketplace tabs are displayed when the user does not have sufficent privileges
22201: Administrative Interface: Copyright date on the About screen should reflect the current year
22203: Module: cmp-mv-paymentmethod: Invalid payment methods are not validated when continuing from the OSEL page
22206: Upsale: Checkout with a product that has a sale price and is part of an upsale shows incorrect price when the sale price is greater than the upsale price therefore increasing your order cost
22210: Module: report_sales: Exporting recent sales data is missing dates column when not displaying the gross sales column
22219: URI Management: Product URI Batchlist does not update correctly when the user visible columns preference is set
22220: URI Management: Category URI Batchlist does not update correctly when the user visible columns preference is set
22221: URI Management: Edit Page URI Batchlist does not update correctly when the user visible columns preference is set
22223: Module: productdigitaldownloadcustomfields: DigitalDownload_ProductFieldValue_LoadAll_Cache does not cache data in the conventional way
22226: Administrative Interface: When adding an option to an attribute on the Attributes tab an error states to enter a code even when a code exists
22228: Administrative Interface: Fatal error when changing a Page code if the prodctgy_meta item is assigned to the page.
22308: Upgrade Subsystem: New StoreModule features are not inserted for upgraded modules
22327: Price Groups: Discounts Applied to Order dialog has Applied spelt wrong
22328: Price Groups: Coupons Applied to Order dialog has Applied spelled wrong
22365: Module: mvfedexsoap: mvfedexsoap.mv: Label generation dialog still shows FedEx Ground US instead of just FedEx Ground
22460: Administrative Interface: JavaScript errors when viewing the inventory variants tab as a limited user.
22465: Administrative Interface: Greyed out buttons freeze IE 11
22467: Module: cmp-cssui-basket: Legacy SEO and 9.5 templates > Redeem coupon button is broken.
22475: Gift Certificates: JS error when generating Gift Certificates w/ 0 amount
22517: Module: templateorderemails: Template Order Email sort by pc_days (Payment Card Expires within N Days) does not sort correctly
22518: Module: marketplaces: Marketplaces Google Shopping: Function JSON_Marketplaces_GoogleShoppingAccountList_Load has the JSON_ArrayElement_Start/End outside the foreach statement
22522: Module: marketplaces: The marketplaces google shopping privilege should be Marketplaces: Google Shopping
Comment