Miva 10.05.00 Release Notes

10.05.00 Resources (Release Date: 12/19/2022)

10.05.01 Resources (Release Date: 12/27/2022)

New Features & Improvements

PageBuilder - PageBuilder is Miva’s native visual tool for building, launching, and managing website pages and content. PageBuilder is a marketing-focused content manager which empowers non-technical users to easily create a broad range of beautiful ecommerce site pages, without the need for a developer or knowledge of HTML. PageBuilder Features Include:
New Shadows Theme
  • Refreshed User Experience including implementing a new Style guide for buttons, fonts and styles
  • Integration with PageBuilder default layouts + components
  • Restructured CSS to support CSS variables
  • Drops Support for IE 11
Subscription Out of Stock Handling & Notifications
  • Features Include:
    • New store level settings to govern behavior when a subscription is out of stock
    • Scheduled Task will log subscriptions skipped when they are out of stock
    • Override options when subscriptions are processed manually: Override Out of Stock Handling and Process Out of Stock Notifications
    • New Out of Stock Email Template and Trigger
    • Subscription Inventory Projection Report: See projections of future inventory based on existing subscriptions
Separate Admin URL Domain Setting
  • A new domain setting for "Secure URL for Administration Graphics" has been added. This sets the foundation for in the future to have Miva's admin URL different than runtime.
  • This change isolates the PageBuilder in-admin Live Preview and leverages the web browsers native Cross-Origin security features
  • There is now a new PA-DSS checklist item, verifying that the admin URL is different than runtime
JSON API Updates
New Runtime APIs for accessing product and category data across any page in Miva. These functions include features such as:
UPS Worldwide Economy - Both Duties Paid and Duties Unpaid are supported.
  • Ability to add HS Tarif Code and Country of origin both globally and at the product level
  • Supports Real-time rates during checkout and in admin as well as shipping label generation
  • Must be contracted with UPS to show Worldwide Economy rates
Brand New Development Framework for Miva - Flex Components
  • New architecture for building reusable User Interface components for Miva
  • Native Flex Components are implements as web components, enabling JavaScript as primary development language
  • Leverages flex.json configuration file to define properties
  • Available Properties Include:
    • Textbox, Textarea, Checkbox, Radio, select, color picker, date picker, date & time picker, image selector, product lookup, category lookup, link, text/icon editor, rich text editor, slider, distributed slider, group
  • Flex Components are importable and exportable which enables local development process
Copy Page & Copy Page Rules
  • Copy any page to a new or existing page or layout
  • Create custom copy page rules to govern what is copied (default everything is copied)
New Module API Features & Functions
New Miva Employee Admin User Type
  • Any Miva Employees who creates an Admin user in store now has additional 2-Factor security requirements and will show a visual indicator in the Miva admin to identify them
  • Additional Requirements for these users include:
    • VerifyBrowser may not be disabled
    • Email address cannot be changed, is read only and must end in @miva.com
    • 2FA cannot be disabled
    • All standard Two-Factor authentication dialogs and controls for Miva Employee accounts are disabled since they are forced though a centralized Miva 2-Factor system
    • A "Miva" badge (Miva logo) is displayed next to user name in User List
Preview Site & Price Groups at a future date and time
  • Template Branch Widget now allows you to preview any branch at a future date and time
  • This allows you to ensure scheduled components and price groups all work as expected ahead of time
New Clear Basket Action – CBSK
External Refund Payment Module – Allows external systems (such has Netsuite) to push refund information back to Miva to ensure accurate revenue reporting from Miva.
Custom Page Fields – Ability to create/view/update custom field data associated with pages, in addition to new functions to read/write custom page data.
New Public Custom Field Flag – Determines if custom field is available in new runtime product/category JSON APIs
Redis Page Caching now supports bzip2 compression for HTML to reduce the overall size of data store in memory (~80% reduction) but adds about ~3ms to each cached page load (to uncompressed the data)
Runtime_PaymentMethodList_Load now has a helper function in runtime.js to make it easier to call on any page
Shipping Method Rules now take into account discounts applied to the basket
If a user with the Administrator privilege is created with an expiration date, that user can no longer self-extend or remove their expiration. Another Administrator user is now required to make such a change.
As a result of the module API changes added for Store Utility Modules, both Manage Quotes and Review Baskets can be accessed without the admin user having full access to Utilities

Notable Bugs Fixed

  • l.quote:items array not being reset between iterations on quote reminder/expiration emails
  • TaxJar: Any error returned from TaxJar in the scheduled task causes the scheduled task to exit
  • TaxJar: New transactions created after a refund transaction incorrectly uses the original transaction date
  • Subscriptions yet to be processed are included in the report data
  • PayPal CP – Recalculate taxes and update order total once full address is know
  • PayPal CP – Fixed Orders getting created with Missing address/email/phone information
  • MailChimp - Set MailChimp cookie with Secure flag
  • MailChimp - URL tracking parameters are now registered with Miva Cache Settings upon install so they are ignored from cache key
  • Template Based Feeds - note_count, dt_pwchg, tax_exempt, order_cnt, order_avg, and order_tot fields to the customer feed


Bugs Fixed

Bug ID Component Description
MM-3614Administrative InterfaceAdding a product with an attribute code that is too long caused multiple products to be added to the order. (mysql strict mode)
MM-8584Administrative InterfaceReplace legacy page-based lookup screens with lookup dialogs
MM-11410Administrative InterfaceRuntime error: relation "pages" does not exist
MM-11542Administrative InterfaceIncorrect file path when creating a CSS/JS in a store with multiple branches
MM-11585Administrative InterfaceSetEditorSupprtsFullScreenSave_Enabled is misspelled in MMTextEditorCustomElement
MM-11586Administrative InterfaceMMSelectCustomElement can draw multiple MMSelect elements
MM-11587Administrative InterfaceMMSelectCustomElement generates incorrect options
MM-11802Administrative InterfaceMMDialog's does not properly reset auto-height when existing fullscreen
MM-11814Administrative InterfaceAdding a rule from the Copy Page dialog should refresh the list of rules
MM-11815Administrative InterfaceAdd implicit Copy Page Rule
MM-11820Administrative InterfaceMMSelectCustomElement does not return created option in "add" function
MM-11826Administrative InterfaceJs error when viewing the shipping label overlay
MM-11841Administrative InterfaceOff by one rounding errors when calculating negative tax value for a basket level discount.
MM-11967Administrative InterfaceName field of "Add Product" is able to be occupied by more than 100 characters.
MM-12048Administrative InterfaceOpening a runtime context from admin allows window.opener context to be run from runtime, allowing security vulnerabilities
MM-12110Administrative InterfaceMMDialog: SetFullscreenEnabled_MaintainDialogIntegrity does not set fullscreen height on subsequent fullscreen starts
MM-12162Administrative InterfaceMMImagePicker: Close "X" button no longer shows the icon
MM-12228Administrative InterfacePage Builder Preview Session Verification
MM-12331Administrative InterfaceCreate a login specific combined JS feature
MM-12415Administrative InterfaceUsers should never be able to update their own expiration date
MM-12439AffiliatesJSON_EarningList_Load_Query does not properly sort the Voided By column
MM-11651Caching SubsystemFlush Cache fails if Store Settings are accessed through universal search
MM-11809Copy ProductCopy product fails to copy all custom fields in certain scenarios
MM-11360Core JSONContent-Type charset in JSON should always be utf-8
MM-11440Core JSONInclude Part weight in Parts object in the OrderList_Load_Query JSON API response
MM-11490Core JSONAll JSON functions should output disp_order where supported
MM-11525Core JSONJSON_ProductVariant_Insert should validate all user submitted data
MM-11530Core JSONCallers of Store_Update_CacheSettings should not update g.Store
MM-11635Core JSONJSON_ProductPriceGroupList_Load_Query does not properly sort the "type" column on PostgreSQL
MM-11834Core JSONInclude Part Cost in Parts object in the OrderList_Load_Query JSON API response
MM-11852Core JSONAdditional API functions for MMT
MM-11880Core JSONJSON_Output should call miva_json_encode
MM-11922Core JSONJSON_Search_Filter_Contains_Field does not properly search SUBWHERE fields
MM-11923Core JSONCore JSON Custom Field Callback functions need to be updated to allow a list of allowed custom fields to be filtered/queried/sorted on
MM-11975Core JSONCustom field plan generators should not limit which modules can use "multitext" custom fields
MM-12000Core JSONJSON_OrderItem_OnDemandColumns does not output product_id
MM-12210Core JSONPost 10.04.01 merge, JSON_Runtime_Product_Read needs to use Runtime_Product_InventoryFields_Read_WithInventorySettings
MM-12411Core JSONJSON_Runtime_ProductList_Load_Query should support outputting subscription settings / terms as an ondemandcolumn
MM-12431Core JSONCaching of runtime category and product list JSON function results
MM-12002Core RuntimeRuntime product list API function facet support
MM-12215Core RuntimeMove BasketDiscountTotal_Delete_All_Basket to Runtime_Basket_Empty
MM-12216Core RuntimeMove Basket_Update_SubCount into Runtime_Basket_Empty
MM-11317CustomersPassword Last Changed is no longer visible on the Customer Dashboard
MM-11407CustomersFrom the Customer Dashboard tab, deleting the customer with no other customers on the store will produce a blank screen
MM-11654CustomersWhen deleting a customer from customer dashboard with other existing customers, admin returns to customer list instead of next customer dashboard
MM-11786CustomersAdmin logging within Action_CustomerAddress_Insert doesn't include the customer record
MM-11588Database LayerScreen_StoreUtilityModuleLinkList Should check for an open store
MM-11772Database LayersNN_Basket/OrderDiscountOptions should use the sNN_Basket/OrderOption id column for its unique identifier
MM-12016Database LayerDB_Filter_ISNULL should wrap expression in parenthesis when dealing with 2 or more expressions
MM-12166Database LayerAdd an index to the Bookmarks table that uses the disp_order column
MM-12286Database LayerImage_Update_Dimensions fails to notify not_image modules of changed dimensions in certain scenarios
MM-12302Database LayerSQL_Query_Index_OrderBy does not properly handle null_integer/number/double/bool columns
MM-11549Discounting SubsystemWhen adding a coupon to a basket via Review Baskets, then adding a qualifying product in runtime, the discount is not removed
MM-12217FacetsLeakage of loaded facets in FacetList_Load_All_LowLevel_With_Query can result in fatal runtime errors
MM-9839JSON APIAdd AllOrderPaymentList_Load_Query to JSON API whitelist
MM-11395JSON APIAPI Insert / Add functions should return the newly created record
MM-11593JSON APIJSON_StoreCountryList_Load_Query improperly references the result set disp_order value
MM-12101JSON APIPriceGroup and Coupon should output datetime fields using JSON_DateTime
MM-12212JSON APIProductVariant_Insert and ProductVariantList_Load_Query output inconsistent
MM-11642MMBatchListJS error in advanced search on the Template history for branch dialog batchlist.
MM-11875MMBatchListMMList: Full screen mode is missing the close X on the exit fullscreen button.
MM-11965MMDialogCustomer payment card add/edit dialog gives generic, unhelpful error messages
MM-10692MMListIncorrect Sort order when moving records with drag and drop
MM-11952MMListMMList: Viewable Text Area column "View" buttons can be misaligned
MM-11874MMMenuButtonRuntime Branch Preview: Selection can get stuck in certain circumstances
MM-11114Module: avataxAvaTax: When shipping price groups use a discounted charge for discount, a negative tax is applied
MM-12149Module: avataxAvaTax advanced search "AvaTax From Country" is unusable
MM-12130Module: braintreeMivapay reported error when Braintree credentials are incorrect is unhelpful.
MM-11550Module: cmp-cssui-afflinkAffiliate Sign-In Link code should only attempt to load the affiliate session if the affiliates program is enabled
MM-10705Module: cmp-cssui-prodlistAdd custom module validation to prodlist provisioning
MM-11836Module: cmp-mv-flexSupport for multiple CSS/JS files per flex component
MM-11837Module: cmp-mv-flexNaming Terminology Change: Flex "Item" to "Flex Component"
MM-12343Module: cmp-mv-flexFlexComponentAdd modifications for use in frameworks
MM-12345Module: cmp-mv-flexAllow FlexComponentDelete to retain resources
MM-12447Module: cmp-mv-flexAdding a Flex component should support existing inline resources
MM-12003Module: cmp-mv-prodctgy-metaProduct & Categories Fields should return the custom field type
MM-12015Module: cmp-mv-prodctgy-metasNN_METAXXX value/value_long columns should contain NULLs instead of empty strings
MM-11830Module: cmp-mv-sequenceUse TemplateManager_DateTime for sequence date comparisons
MM-11948Module: customfieldsFields set via Product/Category/Customer/OrderField_Value should update the in-memory cache of the existing product
MM-12030Module: customfieldsXXXField_Update does not allow removing the custom field from a group
MM-12031Module: customfieldsXXXField_Update does not allow changing the case of a field code
MM-12032Module: customfieldsXXXField_Update does not delete field options when the field type changes
MM-12033Module: customfieldsJSON_CustomFieldList_Load_Query outputs an unused field option "type" value
MM-12034Module: customfieldsModule_Provision_Store_OrderField_Value incorrectly logs the order ID when an order value is set
MM-12185Module: customfieldsCustom Field page values should be copied when the page is copied
MM-11504Module: endicialabelsEndicia shipping labels, Sign up for an ELS sandbox account link is dead.
MM-12360Module: imagemanagementCheck for Updated Images does not refresh image attributes on Image Management screen
MM-12361Module: imagemanagementGenerated images are not deleted from the server after using "Check for Updated Images"
MM-10704Module: mailchimpSet MailChimp cookie with Secure flag
MM-10898Module: mailchimpRegister MailChimp URL tracking parameters with Miva Cache Settings
MM-11535Module: mailchimpMailChimp tracking cookie doesn't set an expiration time
MM-11957Module: marketplacesScheduledTaskOperationList_Load leaks operations across modules
MM-11200Module: paypalcpPayPal Commerce Platform: MivaSQL bug causes UNIQUE constraint index error
MM-11812Module: paypalcpPaypalCP orders created with missing address information during paypal checkout.
MM-12104Module: paypalcpModify OnApprove behavior to recalculate taxes with full address to fix tax discrepancy
MM-12369Module: paypalcpPayPal Commerce Platform unnecessarily patches the PayPal order at checkout
MM-12372Module: paypalcpPayPal Commerce Platform: Unable to clear PO box from shipping address once present in basket
MM-12398Module: paypalcpPO Box exclusion is not enforced when using PayPal checkout
MM-11984Module: productdataThe generated custom field plan should not limit multitext custom fields to modules with an API version of 9.08 or higher
MM-11673Module: qshipShippingModule_Description returns unencoded method name
MM-10392Module: quoteAdd id column to sNN_QuoteOptions
MM-11321Module: quoteManage Quotes: Multiple Quotes per basket should be supported
MM-11528Module: quoteStore Utility privilege should not be required to use the quoting portions Manage Quotes
MM-11626Module: quotel.quote:items array not being reset between iterations on quote reminder/expiration emails
MM-11773Module: quotesNN_QuoteOptionDiscounts can have duplicate index errors when multiple custom attributes exist
MM-11864Module: quoteInclude Part Cost in Parts object in the QuoteList_Load_Query JSON response
MM-11866Module: quoteManage Quotes should implement the cleanup_store feature
MM-11868Module: quoteQuote_DummyBasket_Cleanup doesn't correctly delete the QuoteXBasket record
MM-11869Module: quoteInclude Part weight in Parts object in the QuoteList_Load_Query API response
MM-11882Module: quoteTest Case C377062 - Request Quote tab on ABUS page has a blank template that can't be edited
MM-12332Module: quoteShipping method does not persist when reopening dialog in Manage Quotes
MM-12418Module: readythemeReadyTheme should not resize the images if the specified size matches the existing image
MM-11442Module: report_geosalesreport_geosales, Fatal error when running a report with date range set to all dates
MM-11961Module: report_salesY axis labels not properly displaying the lower range in sales report
MM-11523Module: report_subscription_metricsSubscriptions metrics report does not work with “every N months” subscriptions.
MM-11616Module: report_subscription_metricsAnnual Reoccurring Revenue is incorrectly calculated for "Every N Days" subscription term frequency
MM-11617Module: report_subscription_metricsSubscriptions yet to be processed are included in the report data
MM-11529Module: reviewbasketsStore Utility privilege should not be required to use Review Baskets
MM-11781Module: reviewbasketsJSON_ReviewBaskets_ItemList_Load could output an error mid-success response
MM-11910Module: shipimportShipment import, mysql strict error when excluding the optional cost field during import.
MM-11538Module: squareSquare Configuration Dialog is mis-sized when the processing icon is spinning
MM-11611Module: stdschtasksStandard Scheduled Tasks: Generate Dashboard Reports: Reports that fail should be logged with an error
MM-12142Module: taxjarTaxJar Product / Category custom fields do not sort properly on PostgreSQL
MM-12348Module: taxjarAny error returned from TaxJar in the scheduled task causes the scheduled task to exit
MM-12371Module: taxjarNew transactions created after a refund transaction incorrectly uses the original transaction date
MM-11486Module: templatefeedAdd note_count, dt_pwchg, tax_exempt, order_cnt, order_avg, and order_tot fields
MM-11522Module: templatefeedTemplate Based Feeds: Customer shipping / billing fields are not retained when in Point + Click mode
MM-12292Module: upsxmlUPS Developer Kit attempts to insert invalid basket info records in certain scenarios
MM-12274Page BuilderAdd way to preview site at a future date from In admin site preview in Page Builder
MM-12393Page BuilderAdd Title tag to Page Builder Refresh Button
MM-11943PaymentJSON_CustomerPaymentCardList_Delete has the incorrect Admin Log message
MM-12068PaymentPayment_reCAPTCHA_Is_Active causes an MvDO error if an invalid module is passed in
MM-11964ProvisioningPRV_Action_Provision_Store_ProductSubscriptionTerm_Update deletes all term dates even when the Frequency tag is omitted
MM-12320ProvisioningPRV_Order_Item does not properly handle variant digital downloads
MM-11603Setup Scriptsetup.mvc serves up insecure content when run over https
MM-12229Shared CoreRestrict crossorigin="use-credentials" to clientside resources intended to be used in sandboxed iframes
MM-10443Shipping/Packaging RulesShipping method rule subtotal checks should take into account discounts.
MM-11630Shipping/Packaging RulesPackaging Rules: Box Packing selection is not checking to ensure module is active
MM-11510SubscriptionsCustomer Information is missing from the Authorization Failure Log when a Subscription fails to process
MM-11920SubscriptionsJSON_Subscription_Insert should use the customer's default address when the Customer Address is not specified
MM-12167SubscriptionsAdd an index to the sNN_ProductSubscriptionTerms table that uses the disp_order column
MM-11573Template SubsystemRedis page caching should ultilize bzip2 compression
MM-11610Template SubsystemCannot sort or search Linked Pages for Resource by Cache
MM-11614Template SubsystemItemPageList_Load_Query fails to sort/search the Cache column
MM-11785Template SubsystemTrim notes for TemplateManager_Page_Update_Settings and TemplateManager_Page_Update_Global_Settings
MM-11808Template SubsystemLayouts are not being prevent to be rendered at runtime
MM-12043UpsaleCheckout 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
MM-12458Utility LibraryDiscountState_Adjusted_Price should return the product price when product:pgrpcount == 0

10.05.01 Bugs Fixed

Bug ID Component Description
MM-12499Administrative InterfaceSorting products within a category doesn't save the sort order
MM-12503Administrative InterfaceSorting products within Related Products doesn't save the sort order
MM-12497cmp-include-imagetypescmp-include-imagetypes incorrectly defines ComponentModule_Render_Head
MM-12501MMTextEditorRich Text Editor in Source mode does not display existing content or line numbers
MM-12498Module: customfieldsNon-Facet Custom Fields are displayed as facets at runtime
MM-12500Module: sitemapStandard Sitemap Protocol Feed Should Not Output Layout Page Links
MM-12490Page BuilderChoose a Layout page should support double clicking on a layout to continue

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.

Accept

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