An Adobe Commerce Architect needs to scope a bespoke news section for a merchant's Adobe Commerce storefront. The merchant's SEO agency requests that the following URL structure:
news/{date}/{article_url_key}l where {date} is the publication date of the article, and {article_url_key} is the URL key of the article.
The Architect scopes that a news entity type will be created. The date and URL key data will be stored against each record and autogenerated on save. The values will be able to be manually overridden.
The Architect needs to manage routing this functionality and adhere to best practice.
Which two options should the Architect consider to meet these requirements? (Choose two.)
Answer : A, E
To manage routing this functionality and adhere to best practice, you need to consider the following options:
Create a standard controller route and an Index/Index index controller class that loads the relevant news article by matching the URL date and URL key parts. This option will create a simple and straightforward way to handle the news requests using the standard Magento routing mechanism. The Index/Index controller class will receive the date and URL key parameters from the request and use them to load the news article model from the database.
Create a custom router that runs before the standard router and matches the news portion of the URL, then looks for and loads a news article by matching the date and URL key parts of the URL. This option will create a more flexible and customizable way to handle the news requests using a custom router class that implements \Magento\Framework\App\RouterInterface. The custom router class will check if the request path starts with news, then extract the date and URL key parts from the path and use them to load the news article model from the database.
: https://belvg.com/blog/how-to-create-custom-router-in-magento-2.html : https://devdocs.magento.com/guides/v2.4/extension-dev-guide/routing.html
An Adobe Commerce Architect is reviewing api-functional test code. Some tests send errors to indicate that the customer address does not exist.
The test codes show the following:
Which steps should the Architect take to fix the test errors?
A)
B)
C)
Answer : B
The test errors are caused by using the wrong customer ID and address ID in the request. The correct customer ID and address ID should be obtained from the response of the previous request to create a customer and an address. The test code should use $this->customer->getId() and $this->address->getId() instead of hard-coded values. Reference: https://devdocs.magento.com/guides/v2.4/get-started/web-api-functional-testing.html
An Adobe Commerce Architect is asked by a merchant using B2B features to help with a configuration issue.
The Architect creates a test Company Account and wants to create Approval Rules for orders. The Approval Rules tab does not appear in the Company section in the Customer Account Menu when the Architect logs in using the Company Administrator account.
Which two steps must be taken to fix this issue? (Choose two.)
Answer : A, C
Enabling Purchase Orders at both the B2B Admin and the Company Record levels is necessary for Approval Rules to appear in the Company section of the Customer Account Menu. When 'Enable Purchase Orders' is set to TRUE, the system assumes that the company will be making purchases using purchase orders, and the Approval Rules tab becomes visible.
An Architect is working to implement Adobe Commerce into a pre-built ecosystem in a company.
Communication between different company domains uses event-driven design and is driven via AMQP protocol with using RabbitMQ.
The Architect needs to establish the data flow between the ERP system and Adobe Commerce.
The ERP system stores only customer data excluding customer addresses.
The role of Adobe Commerce is to provide Customer Address data to the enterprise ecosystem.
Primary Customer data should not be changed from Adobe Commerce side; it should only be updated by messages data from ERP.
Which three AMQP configurations should be considered to meet these requirements? (Choose three.)
Answer : A, C, E
To establish the data flow between the ERP system and Adobe Commerce using AMQP protocol with RabbitMQ, you need to consider the following AMQP configurations:
Create a queue_consumer.xml and communication.xml configuration files for Customer data messages. These files will define the topics, handlers, and consumers that will receive and process the messages from the ERP system. The communication.xml file will also specify the schema for the Customer data messages.
Create a queue_publisher.xml configuration file for Customer Address messages. This file will define the exchange where the Customer Address messages will be published to. The exchange will route the messages to the appropriate queues based on the binding rules.
Create a queue_topology.xml configuration file for Customer Address messages. This file will define the message routing rules and declare the queues and exchanges for the Customer Address messages. The queue_topology.xml file will also specify the connection name and type for RabbitMQ.
1: https://devdocs.magento.com/guides/v2.3/extension-dev-guide/message-queues/config-mq.html
An Adobe Commerce Architect needs to customize the workflow of a monthly installments payment extension. The extension is from a partner that is contracted with the default website PSR which has its own legacy extension (a module using deprecated payment method).
The installment payment partner manages only initializing a payment, and then hands the capture to be executed by the PSP. Once the amount is successfully captured, the PSP notifies the website through an IPN. The goal of the IPN is only to create an "invoice" and save the 'capture information' to be used later for refund requests through the PSP itself.
The Architect needs the most simple solution to capture the requested behavior without side effects.
Which solution should the Architect implement?
Answer : C
The best solution for the Adobe Commerce Architect to implement in order to capture the requested behavior without side effects is to declare a capture command with type Magento\payment\Gateway\Command\NullCommand for the payment method CommandPool in di.xml. This will allow the partner to initialize the payment and then hand the capture over to the PSP, while also preventing the website from calling the $payment->capture() method. It will also allow the PSP to notify the website through an IPN, which will create an 'invoice' and save the 'capture information' to be used later for refund requests through the PSP itself.
A company has an Adobe Commerce store. An attribute named "my.attribute" (type "text") is created to save each product's global ID that is shared between multiple systems.
Several months after going live, the values of "my.attribute" are all integer. This causes a problem for the other systems when those systems receive this data.
An Adobe Commerce Architect needs to recommend a solution to change the type of "my.attribute" from textXo int
Which two steps should the Architect take to achieve this? (Choose two.)
Answer : A, D
An Adobe Commerce Architect is setting up a Development environment for an on-premises project that will be used for developers to specifically test functionality, not performance, before being passed to the Testing team.
The Magento application must run with the following requirements:
1. Errors should be logged and hidden from the user
2. Cache mode can only be changed from Command Line
3. Static files should be created dynamically and then cached
Which Application Mode is required to achieve this?
Answer : C
Developer Mode is the mode best suited to achieve the requirements set out by the Adobe Commerce Architect. In Developer Mode, errors are logged and hidden from the user, and the cache mode can only be changed from the command line. Additionally, static files are created dynamically and then cached, which is the desired behavior for this project.