Skip to content

B2B - Hyvä Theme - Upgrading to 1.0.0 (from 0.5.0 pre-release version)

Release 1.0.0 includes support for all B2B features offered in Adobe Commerce via the B2B add-on for magento/extension-b2b version 1.4.0 and above.

This upgrade guide covers notable changes from the previously released early access version: 0.5.0 along with any notable differences to Luma. Prior changes are not covered (i.e. 0.4.x and lower)

Notable news

Feature parity with Luma

This initial release brings compatibility with all key B2B features along with some bug fixes/enhancements that are currently present in Luma.

Notable differences include:

  • All grids (listing pages, such 'my quotes', 'my purchase orders', 'company credit' and many more) are reimplemented using View Models, collections and the default pager block, with standardized table markup (inline with the 'my orders' page)
    • They are all server side rendered for performance and simplicity, using query parameters for filtering
    • This replaces the UI component (client side rendered) approach in Luma
    • For standardization, all implementations inherit from \Hyva\Enterprise\ViewModel\AbstractList
  • Other JavaScript heavy areas, such as the company structure and company permissions trees are now server side rendered
  • Updates to the company structure, such as moving nodes, are still handled client side, however, a full re-paint of the entire tree is now avoided to reduce network requests
  • The company shipping block on the company view/edit adheres to company role permissions
    • On Luma, this block always displays even if the current user does not have permission to view it
  • The inline toggleable panel to add products to a requisition list is replaced with a standard modal
    • This resolves the markup being duplicated by the number of products visible on the page
    • There is now just one instance of the markup with product ID/data being passed to the modal on trigger
    • This has most impact on product listing pages (category) pages given the number of products
  • Most detail (individual entity) pages (such as quotes, purchase orders and requisition lists) have dedicated 'current entity' View Models for a consistent way to retrieve and access data from the model without duplicated calls
  • The UX (user experience) has been simplified on negotiable quote and purchase order detail pages
  • Tabbed sections are replaced with HTML <details> sections for simplification
    • Non-interactive elements (such as links or buttons) are hidden, rather than disabled, when they cannot be interacted with without a full page reload occurring, to simplify UX (reduce clutter)
    • Quote item notes are moved inline on the page (from a modal)
      • This is also to reduce duplicated markup
  • Customer custom attributes for company users correctly function
    • In Luma may types of custom attribute cause JavaScript errors, making the add/edit user modal unusable
  • All custom form validation requirements have been implemented as additions to advanced JavaScript form validation
    • This includes URL, file type, file size, image dimensions, date from/to, value min/max and more
  • A standardized and streamlined way to access company permissions has been implemented
    • For non FPC (full page cache) pages (e.g. the account area), see: \Hyva\MagentoCompany\ViewModel\CompanyPermissions and in particular the isAllowed() method, along with the class constants for the relevant permissions available across the entire B2B suite
    • For FPC pages a new JavaScript event has been added that provides all the relevant data: company-permissions-loaded
    • This functions and can be used in the same way as private-content-loaded

Deprecated code removed

All code deprecated prior this release during Early Access has been removed to provide a cleaner, less cluttered codebase from this initial stable version.

Warning

Some code was also removed in very early versions without being deprecated, which is not listed below. Please review the changes between 0.1.x, 0.2.x and 0.n.x versions (i.e. major pre-release version changes) within the relevant modules if not upgrading from 0.5.0 B2B metapackage.

Hyva_MagentoCompany

See commit 7771def7 for full details including replacement code/files.

Classes
  • \Hyva\MagentoCompany\ViewModel\CompanyRolesTree
  • \Hyva\MagentoCompany\ViewModel\CompanyUserEditModal
  • \Hyva\MagentoCompany\ViewModel\CustomerData
Methods and properties
  • \Hyva\MagentoCompany\ViewModel\CompanyPermissions::VIEW_COMPANY
  • \Hyva\MagentoCompany\ViewModel\CompanyPermissions::VIEW_ACCOUNT
  • \Hyva\MagentoCompany\ViewModel\CompanyPermissions::EDIT_ACCOUNT
  • \Hyva\MagentoCompany\ViewModel\CompanyPermissions::VIEW_CONTACTS
  • \Hyva\MagentoCompany\ViewModel\CompanyPermissions::VIEW_SHIPPING
  • \Hyva\MagentoCompany\ViewModel\CompanyPermissions::VIEW_PAYMENT
  • \Hyva\MagentoCompany\ViewModel\CompanyPermissions::MANAGE_USERS
  • \Hyva\MagentoCompany\ViewModel\CompanyPermissions::VIEW_ROLES
  • \Hyva\MagentoCompany\ViewModel\CompanyPermissions::EDIT_ROLES
  • \Hyva\MagentoCompany\ViewModel\CompanyPermissions::VIEW_USERS
  • \Hyva\MagentoCompany\ViewModel\CompanyPermissions::EDIT_USERS
Template files
  • Hyva_MagentoCompany::company/management/dialog/customer/delete-user.phtml
  • Hyva_MagentoCompany::company/management/dialog/customer/modal.phtml
  • Hyva_MagentoCompany::company/role/tree.phtml

Hyva_MagentoNegotiableQuote

See commit 54363654 for full details including replacement code/files.

Classes
  • \Hyva\MagentoNegotiableQuote\ViewModel\NoteModal
Methods and properties
  • \Hyva\MagentoNegotiableQuote\ViewModel\CurrentNegotiableQuote::getOrder()
  • \Hyva\MagentoNegotiableQuote\ViewModel\NegotiableQuoteList::formatPrice()
  • \Hyva\MagentoNegotiableQuote\ViewModel\NegotiableQuoteList::setPager()
Template files
  • Hyva_MagentoNegotiableQuote::checkout/cart/drawer.phtml
  • Hyva_MagentoNegotiableQuote::quote/address.phtml
  • Hyva_MagentoNegotiableQuote::quote/item/actions/note.phtml
  • Hyva_MagentoNegotiableQuote::quote/item/item_popup.phtml
  • Hyva_MagentoNegotiableQuote::quote/print/items.phtml
  • Hyva_MagentoNegotiableQuote::quote/print/shipping-info.phtml
  • Hyva_MagentoNegotiableQuote::quote/status.phtml

Hyva_MagentoOrderHistorySearch

See commit 7641e236 for full details including replacement code/files.

Classes
  • \Hyva\MagentoOrderHistorySearch\ViewModel\OrderHistorySearchViewModel

Hyva_MagentoPurchaseOrder

See commit 8b60517b for full details including replacement code/files.

Classes
  • \Hyva\MagentoPurchaseOrder\ViewModel\AddItemModal
  • \Hyva\MagentoPurchaseOrder\ViewModel\QuotePurchaseOrder
Methods and properties
  • \Hyva\MagentoPurchaseOrder\ViewModel\PurchaseOrderList::formatPrice()
Template files
  • Hyva_MagentoPurchaseOrder::purchaseorder/add_item.phtml
  • Hyva_MagentoPurchaseOrder::purchaseorder/view/additional.phtml

Hyva_MagentoQuickOrder

See commit 69c5cc28 for full details including replacement code/files.

Template files
  • Hyva_MagentoQuickOrder::advancedcheckout/customer/file.phtml
  • Hyva_MagentoQuickOrder::footer/b2blinks.phtml
  • Hyva_MagentoQuickOrder::footer/link.phtml
  • Hyva_MagentoQuickOrder::multipleskus.phtml
  • Hyva_MagentoQuickOrder::widget/sku.phtml

Hyva_MagentoRequisitionList

See commit f8a799e2 for full details including replacement code/files.

Classes
  • \Hyva\MagentoRequisitionList\ViewModel\RequisitionList

Many files were previously removed in the earlier 0.2.0 release of this module.

Translated phrases

Care was taken to keep inline with existing translated phrases as much as possible. A number of additional translated phrases where added where this was not possible.

Translation additions context

This includes phrases that are actually missing from translation dictionaries or had to be modified due to inconsistency with string replacement placeholders (e.g. %0 instead of %1) and phrases added to aid with accessibility.

B2B
Granting permissions does not affect which features are available for your company account. The merchant must enable features to make them available for your account.
Please select a user or team first.
Please select user or team
Region
This user cannot be deleted because child users are assigned to it. You must re-assign the child users before you can delete this user.
New value
Notes
Old and new value
Old value
The maximum file name length is %0 characters.
The seller will see the note when you send the quote back.
There are no comments in this quote
There are no items in this quote
No comments have been left for this purchase order.
Purchaser's Manager
Reject
Validate
Some items in your Shopping Cart are already in the ""%0"" requisition list.
The item ""%0"" is already in the ""%1"" requisition list.

Changelogs

The changelog is available here.

Tooling

Please refer to the Hyvä Enterprise upgrade docs for helpful information on how to upgrade.

Known Issues

Please check the GitLab issue tracker for known issues.