Magento 2.x Undefined constant Magento\Framework\Encryption\Adapter\SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES

Once Installing Magento 2.4.x and getting below errors

Undefined constant Magento\Framework\Encryption\Adapter\SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES

Solution:: The following below steps need to follow

Step [1] – Open Apache config file (httpd-xampp.conf)

Path Location = D:\xampp\apache\conf\extra\httpd-xampp.conf

Step [2] – Go to Line Number 17 of file httpd-xampp.conf as below

LoadFile "D:/xampp/php/php8ts.dll"

LoadFile "D:/xampp/php/libpq.dll"

LoadFile "D:/xampp/php/libsqlite3.dll"

LoadModule php_module "D:/xampp/php/php8apache2_4.dll"

Step [3] – Load File Path “D:/xampp/php/libsodium.dll” at the end

LoadFile "D:/xampp/php/php8ts.dll"
LoadFile "D:/xampp/php/libpq.dll"
LoadFile "D:/xampp/php/libsqlite3.dll"
LoadModule php_module "D:/xampp/php/php8apache2_4.dll"
here need to file path as per step 4

Step [4] – After adding, finally added the line as below & restart Apache Server

LoadFile "D:/xampp/php/php8ts.dll"
LoadFile "D:/xampp/php/libpq.dll"
LoadFile "D:/xampp/php/libsqlite3.dll"
LoadModule php_module "D:/xampp/php/php8apache2_4.dll"
LoadFile "D:/xampp/php/libsodium.dll



















How To Connect Adobe Commerce 2.x or (Magento 2.x) To Adobe Experience Manager (AEM)

The following below steps need to follow to connect Adobe Commerce 2.x or (Magento 2.x) to Adobe Experience Manager (AEM)

Step [1] – Install Adobe Commerce integration modules for Adobe Experience Manager:

Adobe provides integration modules that enable seamless connectivity between Adobe Commerce and Adobe Experience Manager. These modules include the “Commerce Integration Framework (CIF)” and “Commerce Integration Module (CIM).”
Follow the official documentation to download and install these modules into your Adobe Experience Manager environment.


Step [2] – Configure Adobe Commerce integration settings in Adobe Experience Manager:

In Adobe Experience Manager, access the configuration settings for the Commerce Integration Framework (CIF) and Commerce Integration Module (CIM). Configure the connection settings such as the URL of your Adobe Commerce instance, authentication credentials, and other required information.


Step [3] – Configure Adobe Experience Manager integration settings in Adobe Commerce:

In the Adobe Commerce Admin panel, navigate to Stores -> Configuration -> Adobe Experience Manager. Configure the connection settings for Adobe Experience Manager, including the URL, authentication credentials, and other necessary information.


Step [4] – Set up data synchronization between Adobe Commerce and Adobe Experience Manager:

Define the data synchronization settings to determine which data (such as products, categories, pricing, etc.) should be synchronized between the two systems. Configure the frequency and scope of data synchronization, as well as any mapping or transformation rules if required.


Step [5] – Test and validate the integration: Perform tests to ensure that data is synchronized correctly between Adobe Commerce and Adobe Experience Manager. Verify that product information, pricing, categories, and other relevant data is accurately shared between the two systems.


Step [6] – Implement customizations (optional):
If needed, develop customizations or enhancements to tailor the integration to your specific requirements. This may involve building custom components, templates, or workflows in Adobe Experience Manager or extending functionality in Adobe Commerce.

What is the Agile Manifesto & explain Its 4 Values & 12 Principles

The Agile Manifesto is a set of document with key values and principles.

The four values of the Agile Manifesto are:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

The 12 Agile Manifesto principles are:

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity — the art of maximizing the amount of work not done — is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

What are features of Adobe Commerce 2.4.6 or Magento Open Source 2.4.6

Adobe Commerce is 2.4.6 was released on March 14, 2023, It includes a number of new features and enhancements as below.

Support for PHP 8.2 :: Adobe Commerce 2.4.6 support for PHP 8.2. PHP 8.1 remains fully supported. PHP 7.4 support has been removed from this release. You cannot run Adobe Commerce 2.4.6 on PHP 7.4.


Improved performance and scalability:: Adobe Commerce 2.4.6 is significantly faster than previous versions, thanks to a number of performance improvements. This can lead to a better customer experience, as pages load more quickly and checkout times are reduced.

Increased scalability:: Adobe Commerce 2.4.6 is also more scalable than previous versions, meaning that it can handle more traffic and more data. This is important for businesses that are growing or that expect to experience spikes in traffic.


New B2B features:: Adobe Commerce 2.4.6 includes a number of new features that are designed to make it easier for businesses to sell to businesses (B2B). These features include the ability to create custom pricing rules, manage customer quotes, and track orders.

IMS Modules Separated From Adobe Commerce 2.4.6:: Adobe IMS modules have been decoupled from the Adobe Commerce 2.4.6 core code and are now packaged as a separate metapackage:

adobe-ims
adobe-ims-api
admin-adobe-ims


Enhanced security:: Adobe Commerce 2.4.6 includes a number of security enhancements that help to protect your store from hackers and other malicious actors. These enhancements include improved password hashing, support for two-factor authentication, and the ability to scan your store for known security vulnerabilities.

Braintree Enhancement :: The Pay Later button and banners (messages) for Italy and Spain have been enabled for Braintree.

  • The Pay Later button and banners (messages) for Italy and Spain have been enabled for Braintree.
  • Added Fraud Protection and ACH web hooks. The Fraud Protection web hook is triggered when a risk decision has been made in Braintree. The ACH web hook is triggered when the status of an ACH payment is updated to settled or settlement decline.
  • PayLater messaging with PayPal Vault has been enabled.
  • Added LPM (Local Payment Methods) web hook.

Page Builder:: Page Builder v.1.7.3 is compatible with Adobe Commerce 2.4.6.

PWA Studio:: PWA Studio v.13.0.x is compatible with Adobe Commerce 2.4.6. It includes multiple enhancements to improve accessibility.

Google ReCAPTCHA ERROR: Can not resolve reCAPTCHA parameter. {“exception”:”[object] has been resolved:: A reCAPTCHA error in the var/log/exception.log file for the Google V3 reCAPTCHA Admin login has been resolved, and no error messages are logged. Previously, the following error was thrown every few seconds when an admin user configured their Configuration > Security > Google reCAPTCHA Admin Panel settings

Duplicate Email Issue has been resolved once order created by Admin::

Adobe Commerce no longer sends a customer duplicate emails after an order is created from the Admin.

Admin order emails are no longer sent when the Email order confirmation setting is disabled.

GraphQL Performance Enhancements:: Improved response time when querying categories with category permissions enabled. Response times have improved when querying products in categories for which category permissions are enabled and that contain many customer groups or shared catalogs. Code changes that support this performance improvement following below things:

  • GraphQL resolver operation has been optimized.
  • The data provider no longer re-sets runtime-cached data for every new product being processed, which has improved performance.
  • Product permission processing has been optimized in the GraphQL resolver. Product permissions are now applied to product collections instead now on a per-product basis.
  • Optimized permissions read in shared catalogs in the addProductsToCart mutation.
  • Product permissions have been optimized with product inline fragments.

How Ecommerce Chatbot Works

An e-commerce chatbot is a conversational AI tool designed to interact with users and provide assistance, information, and support within an e-commerce context.

The following below steps defines, how an e-commerce chatbot works:

Step-1 – User Interaction : The chatbot interacts with users through a chat interface, which can be embedded on an e-commerce website, mobile app, or messaging platforms like Facebook Messenger or WhatsApp. Users can ask questions or engage in conversation with the chatbot.

Step-2 – Natural Language Processing (NLP) : When a user sends a message or query to the chatbot, the chatbot’s underlying technology, such as natural language processing (NLP), analyzes and understands the user’s intent and the context of the conversation. NLP enables the chatbot to interpret user input and extract relevant information.

Step-3 -Knowledge Base and Backend Integration : The chatbot is typically connected to a knowledge base or a database that contains information about products, services, and other relevant data related to the e-commerce store. It may also be integrated with backend systems like inventory management, order processing, or customer relationship management (CRM) systems to access real-time data.

Step-4 – Responses and Recommendations : Based on the user’s input and the information available in the knowledge base, the chatbot formulates a response. It may provide answers to common questions, recommend products based on user preferences, provide order updates, or assist with other e-commerce-related tasks.

Step-5 – Personalization and Recommendations : E-commerce chatbots often leverage user data, such as browsing history, purchase history, and preferences, to personalize their responses and make relevant product recommendations. This helps enhance the user experience and increase the likelihood of conversions.

Step-6 – Transactional Capabilities : In some cases, e-commerce chatbots may have the ability to process transactions directly within the chat interface. Users can add items to their cart, initiate the checkout process, and even make payments, all without leaving the chatbot interface.

Step-7 – Continuous Learning : Chatbots can be designed to learn and improve over time. They can analyze user interactions, collect feedback, and adapt their responses based on user behavior and preferences. This iterative learning process helps the chatbot become more accurate, efficient, and personalized over time.

What are the Roles & Responsibilities of the Technical Project Manager for Adobe Commerce

Adobe Commerce Technical Project Manager is managing / controlling the technical aspects of projects related to the implementation, customization, and maintenance of Adobe Commerce (formerly Magento) e-commerce platforms. Here are some key responsibilities and tasks you might have in this role:

Step-1:: Project Planning – Collaborate with stakeholders to define project objectives, scope, and requirements. Develop project plans, timelines, and resource allocation strategies.

Step-2:: Technical Expertise Possess in-depth knowledge of Adobe Commerce and its technical components. Understand the platform’s architecture, customization options, integration capabilities, and extension development.

Step-3:: Team Management – Lead a team of developers, designers, and other technical professionals. Assign tasks, provide guidance, and ensure efficient collaboration to meet project goals.

Step-4:: Requirement Analysis Work closely with clients or business stakeholders to understand their e-commerce requirements. Translate business needs into technical specifications and ensure alignment with Adobe Commerce capabilities.

Step-5:: Solution Design: Collaborate with architects and developers to design technical solutions that meet the project requirements. Identify and evaluate potential risks and propose mitigation strategies.

Step-6:: Project Execution: Monitor project progress, track milestones, and ensure adherence to timelines and budgets. Coordinate with cross-functional teams to resolve issues and ensure successful project delivery.

Step-7:: Quality Assurance: Define and implement quality assurance processes to ensure the stability, performance, and security of Adobe Commerce implementations. Conduct testing, bug tracking, and issue resolution activities.

Step-8:: Stakeholder Communication: Maintain regular communication with project stakeholders, providing updates on project status, risks, and dependencies. Address any concerns or queries and ensure effective stakeholder engagement.

Step-9:: Documentation and Reporting: Create and maintain project documentation, including technical specifications, project plans, and progress reports. Prepare and present project status reports to stakeholders and management.

Step-10:: Continuous Improvement: Stay updated with the latest trends, best practices, and updates related to Adobe Commerce and e-commerce in general. Identify opportunities for process improvements and contribute to the enhancement of project management methodologies.

Exception #0 (Magento\Framework\Exception\ValidatorException): Invalid template file

Once Installed Magento 2.x & try to open frontend & backend & getting below error

Exception #0 (Magento\Framework\Exception\ValidatorException): Invalid template file: 'D:/xampp/htdocs/mage244/vendor/magento/module-backend/view/adminhtml/templates/page/js/require_js.phtml' in module: 'Magento_Backend' block's name: 'require.js'

Solution:: Follow below steps

Step [1] – Open file Validator.php below path

Magento2.x_base-path\vendor\magento\framework\View\Element\Template\File

Step [2] – Go To Function — protected function isPathInDirectories($path, $directories) & replace with below code

protected function isPathInDirectories($path, $directories) {

	$realPath = str_replace('\\', '/', $this->fileDriver->getRealPath($path));

	if (!is_array($directories)) 

	{ $directories = (array)$directories; } 

	foreach ($directories as $directory) { 

	if (0 === strpos($realPath, $directory)) 

	{ return true; } 

	} return false; 

	}

Step [3] – Finally Save File & run below command & issue will resolved

php bin/magento setup:upgrade && php bin/magento setup:static-content:deploy -f && php bin/magento indexer:reindex && php bin/magento cache:flush

How To Regenerate Url rewrites in Magento 2.x / Adobe Commerce 2.x

Magento 2.x / Adobe Commerce 2.x “Regenerate Url rewrites” extension add a CLI feature which allow to regenerate a Url rewrites of products/categories in all stores or specific store.

Need to use below magento2-regenerate_url_rewrites extension

https://github.com/olegkoval/magento2-regenerate_url_rewrites extension

Installation By Composer (“Regenerate Url rewrites” extension)


composer require olegkoval/magento2-regenerate-url-rewrites

How To Enable Extension

enable extension (use Magento 2 command line interface as below):

php bin/magento module:enable OlegKoval_RegenerateUrlRewrites

To make sure that the enabled module is properly registered, run ‘setup:upgrade’:

php bin/magento setup:upgrade

[if needed] re-compile code and re-deploy static view files:

php bin/magento setup:di:compile $> php bin/magento setup:static-content:deploy

HOW TO USE “Regenerate Url rewrites” extension:


Step[1] – To regenerate Url Rewrites of all products in all stores (only products) set entity type to “product”: >

php bin/magento ok:urlrewrites:regenerate --entity-type=product

because product entity type is default – you can skip it:

php bin/magento ok:urlrewrites:regenerate

Step[2] – To regenerate Url Rewrites in the specific store view (e.g.: store view id is “2”) use option –store-id:

php bin/magento ok:urlrewrites:regenerate --store-id=2

Step[3] – To regenerate Url Rewrites of some specific product then use option product-id (e.g.: product ID is “122”):

php bin/magento ok:urlrewrites:regenerate --entity-type=product --product-id=122

or

php bin/magento ok:urlrewrites:regenerate --product-id=122

Step[4] – To regenerate Url Rewrites of specific products range then use option products-range (Example regenerate for all products with ID between “101” and “152”):

php bin/magento ok:urlrewrites:regenerate --entity-type=product --products-range=101-152
  • if in the range you have a gap of ID’s (in range 101-152 products with ID’s 110, 124, 150 not exists) – do not worry, script handle this.

or

php bin/magento ok:urlrewrites:regenerate –products-range=101-152

Step[5] – To save a current Url Rewrites (you want to get a new URL rewites and save current) use option –save-old-urls:

php bin/magento ok:urlrewrites:regenerate --save-old-urls

Step[6] – To prevent regeneration of “url_key” values (use current “url_key” values) use option –no-regen-url-key:

php bin/magento ok:urlrewrites:regenerate --no-regen-url-key

if you do not want to run a full reindex at the end of Url Rewrites generation then use option –no-reindex:

php bin/magento ok:urlrewrites:regenerate --no-reindex

if you do not want to run cache:clean at the end of Url Rewrites generation then use option –no-cache-clean:

php bin/magento ok:urlrewrites:regenerate --no-cache-clean

if you do not want to run cache:flush at the end of Url Rewrites generation then use option –no-cache-flush:

php bin/magento ok:urlrewrites:regenerate --no-cache-flush

if you do not want to display a progress progress bar in the console then use option –no-progress:

php bin/magento ok:urlrewrites:regenerate --no-progress

Regenerate url rewrites of category


Step [1] – To regenerate Url Rewrites of all categories in all stores set entity type to “category”:

php bin/magento ok:urlrewrites:regenerate –entity-type=category

Step [2] – To regenerate Url Rewrites of some specific category then use option category-id (e.g.: category ID is “15”):

php bin/magento ok:urlrewrites:regenerate –entity-type=category –category-id=15

Step [3] – To regenerate Url Rewrites of specific categories range then use option categories-range (e.g.: regenerate for all categories with ID between “4” and “12”):

php bin/magento ok:urlrewrites:regenerate --entity-type=category --categories-range=4-12

if in the range you have a gap of ID’s (in range 4-12 category with ID “6” not exists) – do not worry, script handle this.

If you use options –category-id or –categories-range then you can skip option –entity-type=category – extension will understand that you want to use a category entity.