Miva Merchant 9 requires Miva Empresa (Miva Engine) 5.20 or higher to install and operate.
Miva Merchant 9 Has Over 100 New Features and Over 260 Bug Fixes.
Miva Merchant 9 Release Notes
New Features
Administrative Interface
New Discount Modules
Support for Coupons
Miva Merchant 9 introduces built-in support for coupons. Each coupon has a unique code and applies one or more price groups (and their associated discounting rules) to a basket. Coupons have the following additional features:
General Improvements
Price Group Changes
Other Changes
CSSUI Changes
Provisioning
Shipping Changes
Bugs Fixed
6049: Related Products: RelatedProduct_Update_Product should be removed in PR9
6287: Core - dbapi.mv: When connected to a MySQL database the current store's character set should be explicitly specified
7773: Provisioning: with a ",>,<, or & in the store code "Import Data and Settings in XML Provisioning Format" always errors out.
9563: Module: templateorderemails: BCC Field for Template Order Emails
9607: Module: productimport: CATEGORY_CODES column always appends category assignments
9829: Core Runtime: With image machine enabled, the generated script source links do not pass html5 validation.
10891: Module: canvat: Canadian vat PST/HST rate is always applied to shipping if the GST rate is set to tax shipping.
10928: Administrative Interface: Updating order total has a race condition that can cause the order total to be wrong.
10984: Provisioning: Child tags of Country_Update should not be required
10986: Provisioning: User_Add does not support HoverOn
10992: Provisioning: Store_Add/Store_Update: PriceGroupOverlap should use PRV_Tag_List
10994: Provisioning: Store_Update does not support the CharacterSet tag
10996: Provisioning: Product_Update allows a product name to be set to an empty string
11072: Provisioning: AffiliateOptions_Update uses PRV_Tag_Text for pay_thresh, which is a numeric field
11073: Provisioning: Affiliate_Update uses PRV_Tag_Text for ApplicationStatus
11081: Provisioning: Cosmetic: ImageType provisioning functions specify their tag names as lower case
11085: Provisioning: OrderShipment_SetStatus does not permit an empty TrackingType tag
11086: Provisioning: PRV_Action_Provision_Store_Order_Backorder_Items and helper functions pass tag names as lower case
11226: Core Runtime: Customer information variables are populated after a failed log in at runtime.
11257: Module: tokenlist: Token list does not properly parse the end of some entities
11466: SEO Settings: Search Friendly Storefront causes errors when shoppers arrive through a Google Adwords link
11469: Module: mvfedexsoap: Only the enabled flag of available services should be allowed to be updated when updating the configuration settings
11521: Module: productimport: Images uploaded via product import are added alphabetically by image type.
11522: Reporting Subsystem: reportaddeditdialog.js: Save_Callback does not declare variable "j"
11523: Reporting Subsystem: Report Add/Edit dialog does not apply correct styles to prompts after a validation error
11535: Module: shipexport: Export shipment information should export the ship to country code
11564: Administrative Interface: Authorize payment dialog does not apply correct styles to prompts after a validation error
11567: Module: shopascustomer: store code is not included in the shop as customer link.
11586: Module: customfields: Updating custom field options does not update field values when the options values are changed
11588: Administrative Interface: Google Chrome: Tabbing within a Textareas in Admin scrolls the textarea to the bottom
11702: Provisioning: PRV_Tag_Date causes a Fatal Error on the parent tag when Day, Month, Year, Hour, Minute, or Second does not validate correctly
11704: Module: imagemanagement: Image management: incorrect error returned when checking for updated images if the image file is missing.
11705: Module: mvfedexsoap: ShippingModule_Calculate_Basket does not properly handle the case where its BasketInfo record is not present
11706: Module: upsxml: ShippingModule_Calculate_Basket does not properly handle the case where its BasketInfo record is not present
11707: Module: mvusps: ShippingModule_Calculate_Basket does not store results in a BasketInfo record after recalling USPS
11740: Module: cbamazon: Checkout by Amazon: Updating a component shows fatal error instead of field error
11741: Module: mvga: Google Analytics does not retain information for individual product attributes
11993: Database Layer: Add function to lib/dbprim/orderpayments.mv that loads an order payment by refnum
11995: Shipping/Packaging Rules: Shipping method rules, restrict to zip codes list doesn't properly handle zip+4 scenarios
11997: Module: shopascustomer: Customer sessions are still treated as active after the basket expires
12026: Utility Library: AppendRuntimeParameter incorrect encodes its "value" parameter
12038: Module: mvfedexsoap: Weights that are exactly 0 should not be rounded up to .1lbs
12123: Administrative Interface: Recalculating shipping from admin does not properly recalculate tax on basket charges created by any modules other than the selected shipping module
12133: Core Runtime: Country code is not validated against the enabled store countries during checkout
12140: Module: customfields: Custom field option values should be trimmed on insert and update
12180: Administrative Interface: After pressing Add+, you can set focus to links and other elements behind the modal window using the tab key
12193: Administrative Interface: Variant dialog title should change based on adding/editing a variant
12194: Administrative Interface: Autocomplete="off" should be added to the add/edit variant dialog part code input field
12198: Administrative Interface: No hover effect in autocomplete in batch image assign dialog.
12203: Core Runtime: Gray bar at the top of the prod page in mmui & mmui css_fw (IE7 only)
12211: Administrative Interface: Additional images, Choose files button can not upload multiple files in FF 3.6.
12224: Administrative Interface: Multiple locations: target="_new" is not valid HTML and should be replaced with target="_blank"
12227: Module: cmp-cssui-hdft: modules/component/cmp-cssui-hdft.mv: unencoded ampersand output in search form action URL
12253: Administrative Interface: JavaScriptEncode does not properly handle UTF-8 multibyte sequences
12368: Administrative Interface: Setting attribute option of 000 to default while there are other all 0 options creates an error.
12408: Module: amazonpay: AMAZONPAY_OCST page does not display tax item fields, making Amazon Payments incompatible with Shopper Selected Sales Tax
12455: Module: mvcanadapost: Separate manifests are generated for domestic / international shipments
12459: Module: shipexport: Export shipment information should export the address line 2
12552: Module: authnet: Authnet should always send expiration month as a two digit value.
12553: Utility Library: Typing out the state name bypasses state based sales tax
12555: Upgrade Subsystem: Patch installation is not explicitly logged in the administrative activity log
12556: Module: customfields: Runtime custom field modifications log administrative activity log messages with an empty username
12559: CSSUI Templates: CSSUI SRCH page's main template needs to encode g.sessionurl for use in its search form action attribute
12560: CSSUI cssui_default_fw: (cssui_default_fw): CSSUI SRCH page's main template needs to encode g.sessionurl for use in its search form action parameter
12600: Administrative Interface: Generate Shipping Label dialog should remember the last used state of the "Mark Shipment as Shipped" checkbox
12668: Module: templateorderemails: Template based emails should have an order subtotal token
12703: Module: cmp-cssui-custfields: Need to encode the output of g.clientside_url in ToggleDetails script URL
12704: Module: cmp-cssui-invc-order: Order subtotal / formatted_subtotal should be made an available token
12705: CSSUI cssui_default_fw: Need to entity encode the output of g.clientside_url in the ToggleDetails.js URL
12711: Administrative Interface: Import link retains focus after modal dialog is displayed.
12713: Administrative Interface: Edit order, Edit item dialog uses order_itemdialog_complete_text for lookup list
12716: Attribute Templates: Edit order, line item attributes are not displayed in the correct order.
12730: Administrative Interface: Non-administrative users can update the preferences of other users
12733: Module: qbms: Updating Qbms via provisioning causes internal server error.
12746: Module: vat: Clicking edit for a product that is in edit here mode on the VAT tab takes you to add product.
12758: Import Subsystem: JSON output for Module information is incorrect
12764: Administrative Interface: Support request email error alert has incorrect support phone number
12765: Administrative Interface: Order status becomes "Partially Shipped" when an item is returned
12770: Module: variantimport: Variant import doesn't import additional images for variant products.
12782: Administrative Interface: JavaScript error: "Tab is not defined" when attempting to delete baskets
12798: Module: paypalpro: Using paypal express checkout at OSEL erases the ship to phone number.
12803: Module: paypalpro: Paypal should populate phone number field if it the ContactPhone tag is present.
12824: Module: chasepaytech: CVV message in wizard summary fields is not output encoded
12832: Module: paypalpro: PayPal In-Context Checkout uses incorrect endpoint URLs
12850: Module: mvusps: Priority mail express does not display when only the basic rate is returned.
12853: Module: mvcanadapost: Canada Post should save tracking-pin as the tracking number.
12891: Module: mvcanadapost: Create tracking link
12893: Module: amazonpay: Address Line 2 is not displayed in Miva Merchant
12904: Core Runtime: Basket total calculations are subject to catastrophic cancellation, resulting in +/- 0.01 order totals
12908: Administrative Interface: Labelprinting.jar gets “application will be blocked” message with java 7.51
12931: Module: amazonpay: Implement synchronous authorization and remove "prior authorization" warning text
12954: Administrative Interface: Module_Store_Head is not called when displaying global component module configuration on the Edit Page screen
12959: Module: mvusps: USPS doesn't use the specified "Source Zip Code for Calculations" when calculating rates.
12961: Framework Import/Export: Frameworks with more then one period in the file name can't be installed.
13540: Shipping/Packaging Rules: Adding and deleting boxes should be controlled by the modify shipping settings privilege
13545: Administrative Interface: Batch Image Assign tab appears without function when user has View Products privilege
13558: Module: cmp-cssui-afflink: Affiliate link edit fields do not use DrawTemplateTextArea
13572: Module: endicialabels: Endicia should not limit USPS insurance value to $500.
13575: Module: qbms: CreditCardAddress should be trimmed to 30 characters
13579: Module: mvusps: USPS rates do not get displayed when only one shipping method is returned.
13580: Module: mvusps: USPS First-Class Mail Letter renamed First-Class Mail Stamped Letter
13593: Module: mvcanadapost: Transmit Shipments should verify the store company field is not blank
13601: Administrative Interface: not_order modules are not notified when an order is added to a batch
13603: Module: tokenlist: Tokenlist item gets created twice when added by a framework
13604: Module: cmp-mv-shipestimate: Shipestimate_rates item get created twice when added by a framework
13642: Administrative Interface: During store creation the Newfoundland and Labrador province code should be NL
13659: Administrative Interface: Product level shipping rules displays " as "e;
13660: Administrative Interface: Mail settings, mail password needs autocomplete=off.
13666: Administrative Interface: Manage orders should show date and time an order was placed.
14555: Module: qship: Progressive Quantity calculates prices incorrectly
14563: MMUI css_fw: Applying the css_fw causes the SMAP page to be created while the Sitemap is disabled
14670: Provisioning: Store_create tag doesn't install template based batch reports
14676: Administrative Interface: Export links for reports displayed on the home page are broken.
14715: Module: afwizard: Activating the affiliate email notification from the affiliate wizard causes fatal error in MySql strict
14832: Module: report_productsales: Product Sales Report sorts inconsistently in case of a tie
14870: Module: fdggwsapi: Cannot place an order using First Data Global Gateway while communicating to store over ipv6
14878: Customers: Customers are required to have a unique lost password email when creating accounts using the Customer_Login field
14882: Module: tokenlist: Some fields are not highlighted properly after clicking View Variable on Live Page button
15047: Module: templateorderemails: email's Date header renders time zone GMT +10 as 10000 instead of +1000
15049: Setup Script: Setup.mvc does not validate correctly when set via setup.xml
15101: Administrative Interface: Attribute image paths are not displayed if the path does not start from the root directory for graphics.
15115: Upsale: Upsold product always offered when "upsold price is less than: X%" is selected
15125: Core Runtime: Fatal error screens should output status code 500
15151: Module: tokenlist: TokenList requires Administrator or Store Manager privilege
15157: Administrative Interface: Order processing: Creating a batch changes the batch selection but does not properly reload the list of orders
15163: Administrative Interface: Administrative user without administrator or creation privileges cannot change its own password
15171: Core Runtime: Multiple runtime pages: XSS on Error_Messages and Information_Messages
15218: Module: cmp-mmui-prodlist: In mmui stores, code variables are missing the product codes after the product listing.
15267: Administrative Interface: It should be possible to add image types from the image picker
15271: MMBatchList: Display order batch list does not handle errors properly
15272: MMBatchList: Display order batch list does not focus the input fields on a failed update
15273: Administrative Interface: Order processing: batch capture not working when no orders are selected.
15274: MMBatchList: Buttons that are not functional are still displayed when a delete record error occurs
15280: Administrative Interface: In IE 11: Can't sort Template Based Batch Reports using header links.
15290: Administrative Interface: MMButtons: Vertical alignment is not centered correctly in FF
15293: Administrative Interface: The page does not load completely when opening menu items in a new tab (IE8-11)
15303: Administrative Interface: Broken Reference error when viewing a page if you do not have permissions to view the default tab.
15307: Administrative Interface: LRNS doesn't disappear when resizing from a small window to a large window when viewing a legacy import
15309: Administrative Interface: The More Tabs dropdown arrow is not touching the menu
15333: Module: flatrate: FlatRate MMBatchList Constructor has unused variable declarations
15342: Administrative Interface: Base Category Assign List: Show Categories toggle button does not work
15343: Administrative Interface: Base Product Assign List: Show Products toggle button does not work
15347: Administrative Interface: MMImagePicker: Selecting image that failed to upload displays the image type drop-down
15348: Administrative Interface: Tab Sections in the Domain do not get their collapse state saved/restored
15349: Administrative Interface: The more tabs dropdown select should display HTML correctly
15350: Discounting Subsystem: Fatal error during checkout when applying more then one discount to a line item
15351: Administrative Interface: JavaScript Class Name replacing could potentially replace incorrect values
15355: Framework Import/Export: Progress bar remains after uploading a framework
15357: Administrative Interface: No error message when submitting a support ticket with an invalid email address
15358: Administrative Interface: The edit order, add items auto fill list should sort results by smallest first.
15359: Administrative Interface: Some third party modules with links under utilities do not get displayed in mm9
15361: Administrative Interface: Support Google Authenticator for two factor login
15364: Administrative Interface: The word "runtime" appears in the merchant URL after clicking on view store
15365: Administrative Interface: MM9Screen: Scrape_Content function does not properly scrape frames that don't use the BeginScreen_XXX functions in IE7
15366: Administrative Interface: Inventory Kit Builder: Edit Parts dialog does not resize to view the autocomplete list
15367: Administrative Interface: Non admin users do not have access to the Edit User screen.
15369: Price Groups: the "customers" column should be titled "eligibility" on the Price Groups batch edit list
15370: Administrative Interface: JSON_Encode should not encode the colon symbol
15371: Related Products: Cannot change the display order of related products
15373: Administrative Interface: Attribute options remain visible when type is changed to non-option attribute
15374: Administrative Interface: Runtime error when viewing merchant.mvc if no stores exist.
15375: Administrative Interface: View store link should not be displayed in the Quicklinks when no stores exist
15376: Administrative Interface: response variable is not defined in AJAX_Call_Initialize
15378: Administrative Interface: g.adminurl is set incorrectly when a non-secure admin is setup
15382: Administrative Interface: Errors when deleting an order are not displayed in the Manage Orders list
15384: Administrative Interface: Add the ability to refresh the order overlay detail and list
15385: Administrative Interface: The order Processing filter "payment" should be named payment status
15386: Administrative Interface: The order Processing filter "status" should be named order status
15387: Administrative Interface: The order Processing "payment status" column always displays pending
15388: Administrative Interface: Frameworks tab mmBatchList has extra columns.
15390: Attribute Templates: Attribute templates are not default sorted alphabetically on the Attribute Templates screen
15391: Attribute Templates: Attribute templates are not default sorted alphabetically when adding to a product
15392: Administrative Interface: User Interface/Settings: Settings do not revert after accepting warning message and returning to tab.
15393: Administrative Interface: Image type update function loads image types by code instead of ID
15394: Administrative Interface: Image Types should be tied to the User Interface screen and PAGE privilege
15395: Administrative Interface: Create a "Main" image type by default on store creation
15397: Administrative Interface: Edit product attributes advanced search does not recognize attribute templates
15398: Module: imagemanagement: Image managements processing dialog is missing the word "processing"
15399: Administrative Interface: MMBatchList: Loading records should be done more efficiently
15403: Administrative Interface: The store list doesn’t get cleared correctly when the navigation is refreshed.
15404: Administrative Interface: Order processing Date Range filter doesn't work right
15406: Administrative Interface: MMBatchList: Clientside validation should allow multiple errors
15407: Administrative Interface: USPS tracking link needs to be updated.
15408: Core JSON: JSON logins do not enforce expired passwords
15409: Administrative Interface: Order Processing, shipments tab should not display ID and Label_count columns
15410: Administrative Interface: Order Processing, shipments tab, default displayed columns should match pr8
15411: Administrative Interface: Order Processing, shipments tab, track type and track link should be in advanced search only.
15412: Administrative Interface: Order Processing, shipments tab, the tracking column should still be a link.
15413: Administrative Interface: Bredcrumbs are not cleared when sub menu item is clicked
15414: Module: endicialabels: Endicia Account Activity screen needs to be converted over to use beginscreen for MM9 scraping
15415: Administrative Interface: The edit shipping method priorities dialog should wrap long method names.
15416: Administrative Interface: Installing a module through provisioning should refresh the navigation menu
15417: Database Layer: lib/dbeng/order_compat.mv - Bad MvDO to BasketCoupon_Delete_All_Order
15418: Database Layer: lib/dbeng/order_compat.mv - Bad MvDO to BasketDiscount_Delete_All_Order
15419: Module: mvga: PRV_LogMessage misspelled
15420: Module: packbyquantity: PRV_LogError is referencing admin.mvc instead of features/prv/prv_ad.mvc
15421: Module: packbyweight: PRV_LogError is referencing admin.mvc instead of features/prv/prv_ad.mvc
15422: Module: cbamazon: Error is referencing lib/db.mvc instead of lib/util.mvc
15423: Core JSON: Bad MvDO to JSON_Import_Validate
15424: Core JSON: Bad MvDO to JSON_Payout_Delete
15425: Core JSON: Bad MvDO to JSON_Report_Validate
15426: Administrative Interface: Bad MvDO to OrderCharge_Update
15427: Administrative Interface: Bad MvDO to Discount_Basket_LowLevel
15428: Administrative Interface: Shipping 'Action' not removed from admin.mv
15429: Administrative Interface: Bad MvDO to AttributeTemplateAttr_Load_Code & AttributeTemplateOption_Load_Code
15431: Database Layer: sNN_DiscountOptions table is not deleted on store delete
15432: Module: templateorderemails: Template Based Email list should have an assignlist style on/off toggle for the "Automatic" column
15439: CSSUI Templates: NTFD page template is not setting error_message_count correctly
15441: Core Runtime: Sorting products on a page with a non-numeric value loads all items rather than the default value
15444: MMBatchList: (Optionally) display a message when an MMBatchList is empty
15446: Framework Import/Export: Framework directory path is incorrect
15448: Reporting Subsystem: Reports screen needs to be updated
15579: Administrative Interface: Shipping Method is not displayed on the Order Processing> Shipments scree
15580: Shipping/Packaging Rules: When viewing a ZPL shipping label, the list of printers never populates in FireFox on Mac OS X
15581: Core JSON: JSON_OrderShipmentLabel_Output does not output a base href when previewing ZPL labels
15583: Module: paypalpro: Bill Me Later rebranded to PayPal Credit
15592: Module: cmp-cssui-prodlist: Incorrect encoding of product code in hidden fields
15798: Administrative Interface: Too Many Sessions screen should have the ability to "try again"
15799: Template Import/Export: User Interface > Pages > Import Page does not work for the basket item
15800: Administrative Interface: Too Many Sessions screen should take itself out of the frameset (like Log In Screen) to prevent being displayed within admin
15944: Module: cmp-cssui-head: Batch list portion of the HEAD Tag Content/CSS tab needs to be converted to an MMBatchList
15945: Module: cmp-mv-head: Batch list portion of the HEAD Tag Content/CSS tab needs to be converted to an MMBatchList
15968: Administrative Interface: Order processing, edit address dialog should be slightly taller
15969: Module: cmp-mmui-vieworder: Cmp-mmui-vieworder doesn't properly close the tracking number link
15970: Module: cmp-cssui-vieworder: Cmp-cssui-vieworder doesn't properly close the tracking number link
(Continued in the next post)
Miva Merchant 9 Has Over 100 New Features and Over 260 Bug Fixes.
Miva Merchant 9 Release Notes
New Features
Administrative Interface
- The home screen has been redesigned to show information more clearly
- A new universal search feature makes it possible to search all catalog content and administrative interface screens/tabs from a single search bar
- New icons, which are now stored as glyphs in a font instead of separate PNG files
- New colors and fonts
- New dialog styling
- Breadcrumbs have been moved above the screen content
- All dialog boxes may now be repositioned, and many permit resizing. Modifications to the size/position of a dialog box are stored as per-user preferences so the next time the dialog is displayed it will retain the previous size and position.
- The left navigation menu has been eliminated in favor of a simplified top-level pull down menu with fewer top-level groupings.
- Many items which were previously on separate tabs are now displayed as separate sections of the same top-level tab
- Wizards are now available only through the universal search
- More consistent positioning of batch list buttons and use of the Go To button
- The scroll position of a screen is retained when interacting with controls (such as switching between "point + click" and advanced mode). This attribute may have a value of "if-empty" or "always", which controls when a field is focused on page load. Multiple fields may have the attribute, in which case the first field that wants the focus is focused. If no fields have this attribute, nothing is given focus on initial page load.
- Modules are now sorted by name on the various Add Module tabs (Store Utilities, Payment, Shipping, etc.)
- Discounts and coupons are now displayed in the order details in Admin
- Discounts and coupons may now be manually applied to existing or manually created orders in Admin
- Multiple additional administrative screens have been converted to use the new-style batch lists and dialogs
- First, Next, Last and Previous buttons that were present in Miva Merchant 5 when edition Products, Categories, Pages, etc., are now present in Version 9
- Groups, Countries, States and Order Encryption have been moved to the Store Settings screen
- Pages now known as User Interface
- Categories, Products, Attribute Templates and Inventory have been combined into a single Catalog screen
- Upsale, Affiliate Settings and Price Groups have been combined into a single Marketing screen
- Shipping and Packaging Rules have been combined into the Shipping screen
- Availability Groups have been moved into the Customers screen
- Manage Orders and Manage Shipments have been combined into a single Order Processing screen
- Items previously displayed under Payment Links are now displayed as a submenu under Payment in the main menu
- All import and export modules, as well as the previous content of the Import Data screen, are now displayed on the Data Management screen
- Items other than import/export which previously appeared under Utilities (such as Image Management), are now displayed as a submenu under Utilities in the main menu
- Component module settings which previously appeared on the Edit Store screen are now displayed on the User Interfacescreen. Most of the settings are grouped together on the Settings tab. These global settings no longer appear when editing individual pages.
- A new control allows the user to toggle word wrapping on the text area for product descriptions
- Users may now bookmark pages within the administrative interface by clicking on the flag displayed in the upper right hand corner of the screen
- The administrative interface now stores and displays each user's browsing history, making it easier to go back and forth between commonly used pages
- Most administrative pages now display navigational breadcrumbs
- New settings on the Attribute Machine, Product List and Product Display allow discounted prices to be calculated before a product is added to the basket and optionally displayed alongside or instead of the retail or base price of a product. A breakdown of the actual discounts that apply can also be displayed.
- In order processing, when viewing an order, the list of orders collapses to the left side of the screen, allowing the user to quickly scan through orders
- Dates and times are displayed in the time zone and with the locale settings of the browser
- The Batch Image Assign tab has been replaced with a button on the Product Attributes tab which allows images to be added to all variant part products for a particular attribute or option
- A new Image Picker allows users to browse/search previously uploaded images, upload new images, and assign image types
- The process of assigning modules to a store has been simplified. All modules now display a description of their functionality to make choosing modules easier.
- Batch processing simplified in the following ways:
- Lists can be navigated via Pagination or Infinite Scroll mode
- Advanced search options
- Settings are remembered per user
- Visible columns can be controlled
- Column positions and size may be changed
- CSV export of list data
- Inline editing of multiple records is now supported
New Discount Modules
- Add-on Product: Automatically adds a single product to the basket at a discounted price when the discount criteria are met
- Buy X Get Y: Provides "buy x quantity", "get y quantity" at a discounted rate
- Fixed Discount: Applies a fixed discount amount to one or more items or the basket subtotal
- Percentage Discount: Applies a percentage discount to one or more items or the basket subtotal
- Specific Sale Price: Allows the sale price of items to be overwritten with values specific to the price group being applied
- Shipping Discount (Entire Order): Discounts shipping rates for the entire order
- Shipping Discount (Eligible Products Only): Discounts shipping rates for eligible products within an order
- Volume Pricing: Discounts items based on the quantity purchased
Support for Coupons
Miva Merchant 9 introduces built-in support for coupons. Each coupon has a unique code and applies one or more price groups (and their associated discounting rules) to a basket. Coupons have the following additional features:
- Configurable validity date range
- Configurable maximum number of total uses
- Configurable maximum number of uses per shopper (based on billing email address)
- Coupons may be restricted to a specific customer or customers
- The software can batch-generate unique coupon codes, optionally assigning each unique coupon to a specific customer account.
General Improvements
- Amazon Payments now supports synchronous authorization
- The TokenList module now provides dummy payment fields so that checkout pages may be previewed when there are no payment modules configured
- The administrative interface and administrative users may now be configured to require two-factor authentication using the TOTP (time based one time passwords) algorithm. The software may be configured to be used with any TOTP app or provider, and the default settings are tailored for use with Google Authenticator.
- The Buy X Get Y discount module now uses products assigned as Qualifying Products for "X", allowing separate products to be configured as triggers and discounted products
- The Mini-Basket module has been updated to support discount display and price strikethrough
- The Google Analytics module has been converted to use the new analytics.js script and now supports enhanced ecommerce tracking features
- 2-factor authentication QR codes now include a "Miva" identifier
- The software may now be configured to issue SET NAMES and SET CHARACTER SET statements when connecting to a MySQL database
- A new not_order API function, Module_Notify_Order_BatchChange, is called for modules with an API version of 9.00 and higher and provides notification to modules when orders are placed into batches
- Product lists can now be searched for products within a category, using the advanced search dialog
- The Template Based Emails module now supports BCC.
- Coupons may be imported from CSV files.
- Non-legacy price groups and coupons may now be managed through provisioning.
- The volume pricing discount module can now display a volume pricing table for products in runtime.
- The discounting subsystem fully supports inventory variants.
- A new mechanism allows external integrations that automatically log into the administrative interface to indicate that the session should be immediately expired after the request is complete by sending GET/POST field "TemporarySession" with a value of "1".
- The Additional Images tab on the Edit Product screen has been renamed Images; legacy image fields are now identified as "Legacy Images" in a separate tab section
- Image Types may now be added from the image picker
- Image Types are now configured from the User Interface page and are available to users who have the "Pages" privilege.
Price Group Changes
- Price groups may now be applied to all shoppers or all logged in customers, in addition to specific customers (as in previous versions)
- Price groups may now be configured to apply only within a certain time window
- In addition to the legacy calculations, price groups may now discount products using discount modules, which allows more complicated discounting schemes
- Price groups that apply discounts using a discount module have the following additional features:
- New qualifying product configuration allows separation of the products that qualify a basket for a discount and the products that are actually discounted within the basket
- Price group application may be restricted by qualifying product or basket characteristics, such as subtotal, quantity and weight
- The order in which price groups are applied to the basket is now configurable
- Overlapping price group exclusions may now be configured on a basket or item level
Other Changes
- The Order Export module can now export the SKU of products within an order
- The Content component module now imports and exports its contents when pages are imported and exported
- Automatic focus of input fields is now controlled by a data-mmautofocus attribute on text inputs and textareas
- The way batch lists load records has been modified to improve performance
- The Basket Inventory module has been modified to improve product batch list performance
- The Image Management module's "check for updated images and remove unreferenced images" functionality may now be triggered through provisioning
- The Product/Category Header/Footer modules have been modified to improve product and category batch list performance
- The Template Order Emails module now properly handles discounts and coupons. For newly created stores (or newly created emails), point + click settings are available to control the display.
- The Template Based Batch Reports module now properly handles discounts and coupons. For newly created stores (or newly created reports), point + click settings are available to control the display.
- MMUI and CSSUI basket, invoice and order history components now fully support coupons and discounts and provide point + click settings for controlling the display
- A new "Priority" Price Group Overlap setting allows Legacy Price Groups to be applied according to their (new in MM9) configured priority values. This will be the default for newly added stores.
- When assigning a customer account to an order in the administrative interface, the user is now asked if they wish to re-discount the order to reflect the new customer account.
- Lookup screens within the administrative interface have been converted to dialog boxes.
- The ReadyTheme module is bundled with the core software.
CSSUI Changes
- Error messages displayed in runtime, including payment module error messages, may now be edited
- The CSSUI basket and invoice component modules now have a Point + Click configuration mode, which allows easy configuration of the following common functions:
- Display of a single product image within the basket
- Control over discount display
- Control over coupon application
Provisioning
- New provisioning tags permit more detailed third party order management integration using mmprovision:
- Order_Update
- Order_Update_Item
- Order_Delete_Item
Shipping Changes
- The Shipment Export module now includes the destination country in its output
- Shipping rates and applied discounts are now recalculated when manipulating the contents of an order. Details of this functionality may be configured on the Settings tab of the Marketing screen.
Bugs Fixed
6049: Related Products: RelatedProduct_Update_Product should be removed in PR9
6287: Core - dbapi.mv: When connected to a MySQL database the current store's character set should be explicitly specified
7773: Provisioning: with a ",>,<, or & in the store code "Import Data and Settings in XML Provisioning Format" always errors out.
9563: Module: templateorderemails: BCC Field for Template Order Emails
9607: Module: productimport: CATEGORY_CODES column always appends category assignments
9829: Core Runtime: With image machine enabled, the generated script source links do not pass html5 validation.
10891: Module: canvat: Canadian vat PST/HST rate is always applied to shipping if the GST rate is set to tax shipping.
10928: Administrative Interface: Updating order total has a race condition that can cause the order total to be wrong.
10984: Provisioning: Child tags of Country_Update should not be required
10986: Provisioning: User_Add does not support HoverOn
10992: Provisioning: Store_Add/Store_Update: PriceGroupOverlap should use PRV_Tag_List
10994: Provisioning: Store_Update does not support the CharacterSet tag
10996: Provisioning: Product_Update allows a product name to be set to an empty string
11072: Provisioning: AffiliateOptions_Update uses PRV_Tag_Text for pay_thresh, which is a numeric field
11073: Provisioning: Affiliate_Update uses PRV_Tag_Text for ApplicationStatus
11081: Provisioning: Cosmetic: ImageType provisioning functions specify their tag names as lower case
11085: Provisioning: OrderShipment_SetStatus does not permit an empty TrackingType tag
11086: Provisioning: PRV_Action_Provision_Store_Order_Backorder_Items and helper functions pass tag names as lower case
11226: Core Runtime: Customer information variables are populated after a failed log in at runtime.
11257: Module: tokenlist: Token list does not properly parse the end of some entities
11466: SEO Settings: Search Friendly Storefront causes errors when shoppers arrive through a Google Adwords link
11469: Module: mvfedexsoap: Only the enabled flag of available services should be allowed to be updated when updating the configuration settings
11521: Module: productimport: Images uploaded via product import are added alphabetically by image type.
11522: Reporting Subsystem: reportaddeditdialog.js: Save_Callback does not declare variable "j"
11523: Reporting Subsystem: Report Add/Edit dialog does not apply correct styles to prompts after a validation error
11535: Module: shipexport: Export shipment information should export the ship to country code
11564: Administrative Interface: Authorize payment dialog does not apply correct styles to prompts after a validation error
11567: Module: shopascustomer: store code is not included in the shop as customer link.
11586: Module: customfields: Updating custom field options does not update field values when the options values are changed
11588: Administrative Interface: Google Chrome: Tabbing within a Textareas in Admin scrolls the textarea to the bottom
11702: Provisioning: PRV_Tag_Date causes a Fatal Error on the parent tag when Day, Month, Year, Hour, Minute, or Second does not validate correctly
11704: Module: imagemanagement: Image management: incorrect error returned when checking for updated images if the image file is missing.
11705: Module: mvfedexsoap: ShippingModule_Calculate_Basket does not properly handle the case where its BasketInfo record is not present
11706: Module: upsxml: ShippingModule_Calculate_Basket does not properly handle the case where its BasketInfo record is not present
11707: Module: mvusps: ShippingModule_Calculate_Basket does not store results in a BasketInfo record after recalling USPS
11740: Module: cbamazon: Checkout by Amazon: Updating a component shows fatal error instead of field error
11741: Module: mvga: Google Analytics does not retain information for individual product attributes
11993: Database Layer: Add function to lib/dbprim/orderpayments.mv that loads an order payment by refnum
11995: Shipping/Packaging Rules: Shipping method rules, restrict to zip codes list doesn't properly handle zip+4 scenarios
11997: Module: shopascustomer: Customer sessions are still treated as active after the basket expires
12026: Utility Library: AppendRuntimeParameter incorrect encodes its "value" parameter
12038: Module: mvfedexsoap: Weights that are exactly 0 should not be rounded up to .1lbs
12123: Administrative Interface: Recalculating shipping from admin does not properly recalculate tax on basket charges created by any modules other than the selected shipping module
12133: Core Runtime: Country code is not validated against the enabled store countries during checkout
12140: Module: customfields: Custom field option values should be trimmed on insert and update
12180: Administrative Interface: After pressing Add+, you can set focus to links and other elements behind the modal window using the tab key
12193: Administrative Interface: Variant dialog title should change based on adding/editing a variant
12194: Administrative Interface: Autocomplete="off" should be added to the add/edit variant dialog part code input field
12198: Administrative Interface: No hover effect in autocomplete in batch image assign dialog.
12203: Core Runtime: Gray bar at the top of the prod page in mmui & mmui css_fw (IE7 only)
12211: Administrative Interface: Additional images, Choose files button can not upload multiple files in FF 3.6.
12224: Administrative Interface: Multiple locations: target="_new" is not valid HTML and should be replaced with target="_blank"
12227: Module: cmp-cssui-hdft: modules/component/cmp-cssui-hdft.mv: unencoded ampersand output in search form action URL
12253: Administrative Interface: JavaScriptEncode does not properly handle UTF-8 multibyte sequences
12368: Administrative Interface: Setting attribute option of 000 to default while there are other all 0 options creates an error.
12408: Module: amazonpay: AMAZONPAY_OCST page does not display tax item fields, making Amazon Payments incompatible with Shopper Selected Sales Tax
12455: Module: mvcanadapost: Separate manifests are generated for domestic / international shipments
12459: Module: shipexport: Export shipment information should export the address line 2
12552: Module: authnet: Authnet should always send expiration month as a two digit value.
12553: Utility Library: Typing out the state name bypasses state based sales tax
12555: Upgrade Subsystem: Patch installation is not explicitly logged in the administrative activity log
12556: Module: customfields: Runtime custom field modifications log administrative activity log messages with an empty username
12559: CSSUI Templates: CSSUI SRCH page's main template needs to encode g.sessionurl for use in its search form action attribute
12560: CSSUI cssui_default_fw: (cssui_default_fw): CSSUI SRCH page's main template needs to encode g.sessionurl for use in its search form action parameter
12600: Administrative Interface: Generate Shipping Label dialog should remember the last used state of the "Mark Shipment as Shipped" checkbox
12668: Module: templateorderemails: Template based emails should have an order subtotal token
12703: Module: cmp-cssui-custfields: Need to encode the output of g.clientside_url in ToggleDetails script URL
12704: Module: cmp-cssui-invc-order: Order subtotal / formatted_subtotal should be made an available token
12705: CSSUI cssui_default_fw: Need to entity encode the output of g.clientside_url in the ToggleDetails.js URL
12711: Administrative Interface: Import link retains focus after modal dialog is displayed.
12713: Administrative Interface: Edit order, Edit item dialog uses order_itemdialog_complete_text for lookup list
12716: Attribute Templates: Edit order, line item attributes are not displayed in the correct order.
12730: Administrative Interface: Non-administrative users can update the preferences of other users
12733: Module: qbms: Updating Qbms via provisioning causes internal server error.
12746: Module: vat: Clicking edit for a product that is in edit here mode on the VAT tab takes you to add product.
12758: Import Subsystem: JSON output for Module information is incorrect
12764: Administrative Interface: Support request email error alert has incorrect support phone number
12765: Administrative Interface: Order status becomes "Partially Shipped" when an item is returned
12770: Module: variantimport: Variant import doesn't import additional images for variant products.
12782: Administrative Interface: JavaScript error: "Tab is not defined" when attempting to delete baskets
12798: Module: paypalpro: Using paypal express checkout at OSEL erases the ship to phone number.
12803: Module: paypalpro: Paypal should populate phone number field if it the ContactPhone tag is present.
12824: Module: chasepaytech: CVV message in wizard summary fields is not output encoded
12832: Module: paypalpro: PayPal In-Context Checkout uses incorrect endpoint URLs
12850: Module: mvusps: Priority mail express does not display when only the basic rate is returned.
12853: Module: mvcanadapost: Canada Post should save tracking-pin as the tracking number.
12891: Module: mvcanadapost: Create tracking link
12893: Module: amazonpay: Address Line 2 is not displayed in Miva Merchant
12904: Core Runtime: Basket total calculations are subject to catastrophic cancellation, resulting in +/- 0.01 order totals
12908: Administrative Interface: Labelprinting.jar gets “application will be blocked” message with java 7.51
12931: Module: amazonpay: Implement synchronous authorization and remove "prior authorization" warning text
12954: Administrative Interface: Module_Store_Head is not called when displaying global component module configuration on the Edit Page screen
12959: Module: mvusps: USPS doesn't use the specified "Source Zip Code for Calculations" when calculating rates.
12961: Framework Import/Export: Frameworks with more then one period in the file name can't be installed.
13540: Shipping/Packaging Rules: Adding and deleting boxes should be controlled by the modify shipping settings privilege
13545: Administrative Interface: Batch Image Assign tab appears without function when user has View Products privilege
13558: Module: cmp-cssui-afflink: Affiliate link edit fields do not use DrawTemplateTextArea
13572: Module: endicialabels: Endicia should not limit USPS insurance value to $500.
13575: Module: qbms: CreditCardAddress should be trimmed to 30 characters
13579: Module: mvusps: USPS rates do not get displayed when only one shipping method is returned.
13580: Module: mvusps: USPS First-Class Mail Letter renamed First-Class Mail Stamped Letter
13593: Module: mvcanadapost: Transmit Shipments should verify the store company field is not blank
13601: Administrative Interface: not_order modules are not notified when an order is added to a batch
13603: Module: tokenlist: Tokenlist item gets created twice when added by a framework
13604: Module: cmp-mv-shipestimate: Shipestimate_rates item get created twice when added by a framework
13642: Administrative Interface: During store creation the Newfoundland and Labrador province code should be NL
13659: Administrative Interface: Product level shipping rules displays " as "e;
13660: Administrative Interface: Mail settings, mail password needs autocomplete=off.
13666: Administrative Interface: Manage orders should show date and time an order was placed.
14555: Module: qship: Progressive Quantity calculates prices incorrectly
14563: MMUI css_fw: Applying the css_fw causes the SMAP page to be created while the Sitemap is disabled
14670: Provisioning: Store_create tag doesn't install template based batch reports
14676: Administrative Interface: Export links for reports displayed on the home page are broken.
14715: Module: afwizard: Activating the affiliate email notification from the affiliate wizard causes fatal error in MySql strict
14832: Module: report_productsales: Product Sales Report sorts inconsistently in case of a tie
14870: Module: fdggwsapi: Cannot place an order using First Data Global Gateway while communicating to store over ipv6
14878: Customers: Customers are required to have a unique lost password email when creating accounts using the Customer_Login field
14882: Module: tokenlist: Some fields are not highlighted properly after clicking View Variable on Live Page button
15047: Module: templateorderemails: email's Date header renders time zone GMT +10 as 10000 instead of +1000
15049: Setup Script: Setup.mvc does not validate
15101: Administrative Interface: Attribute image paths are not displayed if the path does not start from the root directory for graphics.
15115: Upsale: Upsold product always offered when "upsold price is less than: X%" is selected
15125: Core Runtime: Fatal error screens should output status code 500
15151: Module: tokenlist: TokenList requires Administrator or Store Manager privilege
15157: Administrative Interface: Order processing: Creating a batch changes the batch selection but does not properly reload the list of orders
15163: Administrative Interface: Administrative user without administrator or creation privileges cannot change its own password
15171: Core Runtime: Multiple runtime pages: XSS on Error_Messages and Information_Messages
15218: Module: cmp-mmui-prodlist: In mmui stores, code variables are missing the product codes after the product listing.
15267: Administrative Interface: It should be possible to add image types from the image picker
15271: MMBatchList: Display order batch list does not handle errors properly
15272: MMBatchList: Display order batch list does not focus the input fields on a failed update
15273: Administrative Interface: Order processing: batch capture not working when no orders are selected.
15274: MMBatchList: Buttons that are not functional are still displayed when a delete record error occurs
15280: Administrative Interface: In IE 11: Can't sort Template Based Batch Reports using header links.
15290: Administrative Interface: MMButtons: Vertical alignment is not centered correctly in FF
15293: Administrative Interface: The page does not load completely when opening menu items in a new tab (IE8-11)
15303: Administrative Interface: Broken Reference error when viewing a page if you do not have permissions to view the default tab.
15307: Administrative Interface: LRNS doesn't disappear when resizing from a small window to a large window when viewing a legacy import
15309: Administrative Interface: The More Tabs dropdown arrow is not touching the menu
15333: Module: flatrate: FlatRate MMBatchList Constructor has unused variable declarations
15342: Administrative Interface: Base Category Assign List: Show Categories toggle button does not work
15343: Administrative Interface: Base Product Assign List: Show Products toggle button does not work
15347: Administrative Interface: MMImagePicker: Selecting image that failed to upload displays the image type drop-down
15348: Administrative Interface: Tab Sections in the Domain do not get their collapse state saved/restored
15349: Administrative Interface: The more tabs dropdown select should display HTML correctly
15350: Discounting Subsystem: Fatal error during checkout when applying more then one discount to a line item
15351: Administrative Interface: JavaScript Class Name replacing could potentially replace incorrect values
15355: Framework Import/Export: Progress bar remains after uploading a framework
15357: Administrative Interface: No error message when submitting a support ticket with an invalid email address
15358: Administrative Interface: The edit order, add items auto fill list should sort results by smallest first.
15359: Administrative Interface: Some third party modules with links under utilities do not get displayed in mm9
15361: Administrative Interface: Support Google Authenticator for two factor login
15364: Administrative Interface: The word "runtime" appears in the merchant URL after clicking on view store
15365: Administrative Interface: MM9Screen: Scrape_Content function does not properly scrape frames that don't use the BeginScreen_XXX functions in IE7
15366: Administrative Interface: Inventory Kit Builder: Edit Parts dialog does not resize to view the autocomplete list
15367: Administrative Interface: Non admin users do not have access to the Edit User screen.
15369: Price Groups: the "customers" column should be titled "eligibility" on the Price Groups batch edit list
15370: Administrative Interface: JSON_Encode should not encode the colon symbol
15371: Related Products: Cannot change the display order of related products
15373: Administrative Interface: Attribute options remain visible when type is changed to non-option attribute
15374: Administrative Interface: Runtime error when viewing merchant.mvc if no stores exist.
15375: Administrative Interface: View store link should not be displayed in the Quicklinks when no stores exist
15376: Administrative Interface: response variable is not defined in AJAX_Call_Initialize
15378: Administrative Interface: g.adminurl is set incorrectly when a non-secure admin is setup
15382: Administrative Interface: Errors when deleting an order are not displayed in the Manage Orders list
15384: Administrative Interface: Add the ability to refresh the order overlay detail and list
15385: Administrative Interface: The order Processing filter "payment" should be named payment status
15386: Administrative Interface: The order Processing filter "status" should be named order status
15387: Administrative Interface: The order Processing "payment status" column always displays pending
15388: Administrative Interface: Frameworks tab mmBatchList has extra columns.
15390: Attribute Templates: Attribute templates are not default sorted alphabetically on the Attribute Templates screen
15391: Attribute Templates: Attribute templates are not default sorted alphabetically when adding to a product
15392: Administrative Interface: User Interface/Settings: Settings do not revert after accepting warning message and returning to tab.
15393: Administrative Interface: Image type update function loads image types by code instead of ID
15394: Administrative Interface: Image Types should be tied to the User Interface screen and PAGE privilege
15395: Administrative Interface: Create a "Main" image type by default on store creation
15397: Administrative Interface: Edit product attributes advanced search does not recognize attribute templates
15398: Module: imagemanagement: Image managements processing dialog is missing the word "processing"
15399: Administrative Interface: MMBatchList: Loading records should be done more efficiently
15403: Administrative Interface: The store list doesn’t get cleared correctly when the navigation is refreshed.
15404: Administrative Interface: Order processing Date Range filter doesn't work right
15406: Administrative Interface: MMBatchList: Clientside validation should allow multiple errors
15407: Administrative Interface: USPS tracking link needs to be updated.
15408: Core JSON: JSON logins do not enforce expired passwords
15409: Administrative Interface: Order Processing, shipments tab should not display ID and Label_count columns
15410: Administrative Interface: Order Processing, shipments tab, default displayed columns should match pr8
15411: Administrative Interface: Order Processing, shipments tab, track type and track link should be in advanced search only.
15412: Administrative Interface: Order Processing, shipments tab, the tracking column should still be a link.
15413: Administrative Interface: Bredcrumbs are not cleared when sub menu item is clicked
15414: Module: endicialabels: Endicia Account Activity screen needs to be converted over to use beginscreen for MM9 scraping
15415: Administrative Interface: The edit shipping method priorities dialog should wrap long method names.
15416: Administrative Interface: Installing a module through provisioning should refresh the navigation menu
15417: Database Layer: lib/dbeng/order_compat.mv - Bad MvDO to BasketCoupon_Delete_All_Order
15418: Database Layer: lib/dbeng/order_compat.mv - Bad MvDO to BasketDiscount_Delete_All_Order
15419: Module: mvga: PRV_LogMessage misspelled
15420: Module: packbyquantity: PRV_LogError is referencing admin.mvc instead of features/prv/prv_ad.mvc
15421: Module: packbyweight: PRV_LogError is referencing admin.mvc instead of features/prv/prv_ad.mvc
15422: Module: cbamazon: Error is referencing lib/db.mvc instead of lib/util.mvc
15423: Core JSON: Bad MvDO to JSON_Import_Validate
15424: Core JSON: Bad MvDO to JSON_Payout_Delete
15425: Core JSON: Bad MvDO to JSON_Report_Validate
15426: Administrative Interface: Bad MvDO to OrderCharge_Update
15427: Administrative Interface: Bad MvDO to Discount_Basket_LowLevel
15428: Administrative Interface: Shipping 'Action' not removed from admin.mv
15429: Administrative Interface: Bad MvDO to AttributeTemplateAttr_Load_Code & AttributeTemplateOption_Load_Code
15431: Database Layer: sNN_DiscountOptions table is not deleted on store delete
15432: Module: templateorderemails: Template Based Email list should have an assignlist style on/off toggle for the "Automatic" column
15439: CSSUI Templates: NTFD page template is not setting error_message_count correctly
15441: Core Runtime: Sorting products on a page with a non-numeric value loads all items rather than the default value
15444: MMBatchList: (Optionally) display a message when an MMBatchList is empty
15446: Framework Import/Export: Framework directory path is incorrect
15448: Reporting Subsystem: Reports screen needs to be updated
15579: Administrative Interface: Shipping Method is not displayed on the Order Processing> Shipments scree
15580: Shipping/Packaging Rules: When viewing a ZPL shipping label, the list of printers never populates in FireFox on Mac OS X
15581: Core JSON: JSON_OrderShipmentLabel_Output does not output a base href when previewing ZPL labels
15583: Module: paypalpro: Bill Me Later rebranded to PayPal Credit
15592: Module: cmp-cssui-prodlist: Incorrect encoding of product code in hidden fields
15798: Administrative Interface: Too Many Sessions screen should have the ability to "try again"
15799: Template Import/Export: User Interface > Pages > Import Page does not work for the basket item
15800: Administrative Interface: Too Many Sessions screen should take itself out of the frameset (like Log In Screen) to prevent being displayed within admin
15944: Module: cmp-cssui-head: Batch list portion of the HEAD Tag Content/CSS tab needs to be converted to an MMBatchList
15945: Module: cmp-mv-head: Batch list portion of the HEAD Tag Content/CSS tab needs to be converted to an MMBatchList
15968: Administrative Interface: Order processing, edit address dialog should be slightly taller
15969: Module: cmp-mmui-vieworder: Cmp-mmui-vieworder doesn't properly close the tracking number link
15970: Module: cmp-cssui-vieworder: Cmp-cssui-vieworder doesn't properly close the tracking number link
(Continued in the next post)
Comment