Adobe Commerce Architect Master AD0-E718 Exam Questions

Page: 1 / 14
Total 50 questions
Question 1

In a custom module, an Architect wants to define a new xml configuration file. The module should be able to read all the xml configuration files declared in the system, merge them together, and use their values in PHP class.

Which two steps should the Architect make to meet this requirement? (Choose two.)



Answer : C, E

Based on web searches, it seems that Magento uses different classes and interfaces to interact with configuration files, such as Data, Reader, and Converter12.

According to the documentation1, Data is a class that provides access to configuration data using a scope. Reader is an interface that reads configuration data from XML files. Converter is an interface that converts XML data into an array representation.

Based on these definitions, I would say that two possible steps that the Architect should make to meet the requirement are:

1. Create a Data class that implements ''\Magento\Framework\Config\Data''

2. Make a Reader class that implements ''\Magento\Framework\Config\Reader\Filesystem''

These steps would allow the custom module to read all the XML configuration files declared in the system, merge them together, and use their values in PHP class.

The Architect should make two steps to meet this requirement: C) Create a Data class that implements ''\Magento\Framework\Config\Data''. This class will be responsible for reading and merging the custom xml configuration files and providing access to their values. The Data class should extend \Magento\Framework\Config\Data and use the constructor to inject the Reader class and the cache type. E) Make a Reader class that implements ''\Magento\Framework\Config\Reader\Filesystem''. This class will be responsible for loading and validating the custom xml configuration files from different modules. The Reader class should extend \Magento\Framework\Config\Reader\Filesystem and use the constructor to specify the file name, schema file, and validation state of the custom xml configuration files. Option A is incorrect because writing a plugin for \Magento\Framework\Config\Data::get() will not define a new xml configuration file, but rather modify the existing one. Option B is incorrect because appending the custom xml file name in ''Magento\Config\Model\Config\Structure\Reader'' in di.xml will not define a new xml configuration file, but rather add it to the system configuration structure. Option D is incorrect because injecting a ''reader'' dependency for ''Magento\Framework\Config\Data'' in di.xml will not define a new xml configuration file, but rather use an existing one. Reference: https://devdocs.magento.com/guides/v2.4/extension-dev-guide/build/XSD-XML-validation.html


Question 2

An Adobe Commerce Architect is working on a sales campaign to present a new product on the site that allows the purchase of a pre-defined set of products with a discount. Each product in the set should have a separate stock and tax class.

One requirement is to use a third-party system to build reports with REST API to fetch the following data:

* SKU

* Qty

* Original price

* Sales price

* Tax amount

Which solution should the Architect use to meet these requirements?



Answer : A

To meet the requirements, the Architect should use the following solution: * Create Fixed Bundle Product for gathering simple products. This will allow the purchase of a pre-defined set of products with a discount and separate stock and tax class for each product. * Manage price for every selected option. This will allow setting the original and sales price for each product in the bundle. * Add extension attribute original_simple_price for \Magento\Sales\Api\Data\OrderItemExtensionInterface and populate value with price of simple product. This will allow exposing the original price of the simple product via REST API along with other required dat

a. Option B is incorrect because Dynamic Bundle Product will not allow setting a pre-defined set of products with a discount. Option C is incorrect because Grouped Product will not allow setting a discount for the whole set of products. Reference: https://docs.magento.com/user-guide/catalog/product-create-bundle.html https://devdocs.magento.com/guides/v2.4/extension-dev-guide/extension_attributes/adding-attributes.html


Question 3

A merchant is using a unified website that supports native Adobe Commerce B2B and B2C with a single store view.

The merchant wants to show the B2B account features like negotiable quotes and credit limits in the header of the site on every page for the logged-in users who are part of a B2B company account.

Each B2B company has its own individual shared catalog and customer group, and many customer groups for non B2B customers change. The merchant requests that this should not be tied to customer groups.

Which two solutions should the Architect recommend considering public data and caching? (Choose two.)



Answer : C, E

C would involve creating a new custom condition for customer segments that allow for choosing if a user is part of a B2B company, and then use this segment to modify the output accordingly. E would involve creating a new HTTP Context variable to allow for separate public content to be cached for users in B2B companies, where the output can be modified accordingly.

To show the B2B account features in the header of the site on every page for the logged-in users who are part of a B2B company account, the Architect should recommend two solutions: C) Create a new custom condition for customer segments that allow for choosing whether a user is part of a B2B company and then use this segment to modify the output accordingly. This solution will allow the merchant to create a customer segment based on the custom condition and use it to display different content in the header for B2B users. E) Create a new HTTP Context variable to allow for separate public content to be cached for users in B2B companies where the output can be modified accordingly. This solution will ensure that the public content cache is varied based on the custom HTTP Context variable, which can be set based on whether the user is part of a B2B company or not. Option A is incorrect because switching the theme based on the user's B2B status is not a scalable or maintainable solution, and it will also affect the entire site's appearance, not just the header. Option B is incorrect because checking the user's B2B status within a block class will not work with public content cache, as it will not vary the cache based on that condition. Option D is incorrect because setting the user's B2B status in the customer session will not work with public content cache, as it will not vary the cache based on that data. Reference: https://devdocs.magento.com/guides/v2.4/extension-dev-guide/segmentation.html https://devdocs.magento.com/guides/v2.4/extension-dev-guide/cache/page-caching/public-content.html


Question 4

An Adobe Commerce store owner sets up a custom customer attribute "my.attribute" (type int).

An Architect needs to display customer-specific content on the home page to Customers with "my.attribute" greater than 3. The website is running Full Page Cache.

Using best practices, which two steps should the Architect take to implement these requirements? (Choose two.)



Answer : A, C

To display customer-specific content on the home page to Customers with ''my.attribute'' greater than 3, you need to use the following steps:

Use customer-data JS library to retrieve ''my.attribute'' value. The customer-data JS library allows you to access the customer data stored in the local storage of the browser. You can use the get() method to get the value of ''my.attribute'' for the current customer.

Add a new context value of ''my.attribute'' to Magento\Framework\App\Http\Context. The HTTP context is a mechanism that allows you to vary the cache of a page based on some parameters. By adding a new context value of ''my.attribute'', you can cache separate versions of the home page for customers with different values of ''my.attribute''.

Add a custom block and a phtml template with the content to the cms_index_index.xml layout. This step will create a block that will display the customer-specific content on the home page. You can use the phtml template to check the value of ''my.attribute'' and render the content accordingly.


: https://devdocs.magento.com/guides/v2.3/extension-dev-guide/cache/page-caching/public-content.html : https://devdocs.magento.com/guides/v2.3/howdoi/checkout/checkout_customize.html

Question 5

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

Question 6

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.

Developer Mode is required to achieve the requirements. This is because developer mode enables the following features: Errors are logged and hidden from the user; cache mode can only be changed from command line; static files are created dynamically and then cached.See Application modes in the Adobe Commerce Help Center1. Reference: https://experienceleague.adobe.com/docs/commerce-operations/configuration-guide/setup/application-modes.html?lang=en1


Question 7

A merchant asks for a new category attribute to allow uploading an additional mobile image against categories. The merchant utilizes the content staging and preview feature in Adobe Commerce and wants to schedule and review changes to this new mobile image field.

A developer creates the attribute via a data patch and adds it to view/adminhtml/ui_component/category_form.xml. The attribute appears against the category in the main form, but does not appear in the additional form when scheduled updates are made.

To change this attribute when scheduling new category updates, which additional action should the Architect ask the developer to take?



Answer : B

This is because, in order to change the attribute when scheduling new category updates, the attribute must be added to the view/adminhtml/ulcomponent/catalogstagingcategoryupdateform.xml file in order to be displayed in the additional form when scheduling updates. This additional form is used to set the values for the category attributes when scheduling updates.

To change the new category attribute when scheduling new category updates, you need to add the attribute to view/adminhtml/ui_component/catalogstaging_category_update_form.xml. This file defines the form fields that appear in the Schedule New Update form for categories.By adding the attribute to this file, you will be able to schedule and review changes to the new mobile image field using the content staging and preview feature in Adobe Commerce. Reference:1

1: https://docs.magento.com/user-guide/v2.3/cms/content-staging-category.html


Page:    1 / 14   
Total 50 questions