Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
eb0b43b
AC-14314:: [AdobeDocs Approval] Dev doc update after upgrading eslint…
cod62627 May 6, 2025
cd06992
AC-14314:: [AdobeDocs Approval] Dev doc update after upgrading eslint…
cod62627 May 7, 2025
45781fa
Apply suggestions from code review
jeff-matthews May 7, 2025
1d59895
fix: validation
jeff-matthews May 7, 2025
19b0aa7
Merge pull request #382 from cod62627/AC-14314-v1
jeff-matthews May 7, 2025
29457bd
Merge branch 'main' into 2.4.9-develop
jeff-matthews May 7, 2025
0ae63e8
AC-15364::Backport Devdocs Link Updates for Hugerte.org
cod43156 Aug 22, 2025
10e31ec
Merge pull request #406 from cod43156/2.4.9-develop
jeff-matthews Aug 22, 2025
38e5886
AC-15629::Adobe Development Doc - Message Queues - ActiveMq (Artemis)…
Sep 16, 2025
22888d0
AC-15629::Adobe Development Doc - Message Queues - ActiveMq (Artemis)…
Sep 18, 2025
9d2dc2e
AC-15629::Adobe Development Doc - Message Queues - ActiveMq (Artemis)…
Sep 18, 2025
9580cd2
Merge pull request #410 from djadobe16/AC-15629
jeff-matthews Sep 18, 2025
164f171
AC-15629::Adobe Development Doc - Message Queues - ActiveMq (Artemis)…
Sep 19, 2025
e07d3ee
AC-15629::Adobe Development Doc - Message Queues - ActiveMq (Artemis)…
Sep 20, 2025
27c46b9
AC-15629::Adobe Development Doc - Message Queues - ActiveMq (Artemis)…
Sep 20, 2025
bc9caf6
AC-15629::Adobe Development Doc - Message Queues - ActiveMq (Artemis)…
Sep 20, 2025
7936194
Merge pull request #412 from djadobe16/AC-15629-v1
jeff-matthews Sep 22, 2025
3a147a7
Updated documentation for custom command create
harshityadav90 Oct 7, 2025
f432d61
Merge pull request #416 from harshityadav90/docs-update-custom-command
dshevtsov Nov 21, 2025
a139d54
Merge branch 'main' into 2.4.9-develop
dshevtsov Apr 3, 2026
4970853
Build site metadata
dshevtsov Apr 6, 2026
dd7da4b
Merge pull request #441 from commerce-docs/sync-develop
dshevtsov Apr 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/pages/adp-site-metadata.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"total":3,"offset":0,"limit":3,"data":[{"key":"contributors","value":"src/pages/contributors.json"},{"key":"get-credentials","value":null},{"key":"site-wide-banner","value":null}],":type":"sheet"}
{"total":4,"offset":0,"limit":4,"data":[{"key":"contributors","value":"src/pages/contributors.json"},{"key":"get-credentials","value":null},{"key":"site-wide-banner","value":null},{"key":"code-playground","value":null}],":type":"sheet"}
31 changes: 30 additions & 1 deletion src/pages/coding-standards/js.md
Original file line number Diff line number Diff line change
Expand Up @@ -361,4 +361,33 @@ var foo = 'bar',

There is a set of custom Eslint rules to ensure code compatibility with the latest versions of third-party libraries.

These custom rules are included using the `rulePaths` setting in the [Eslint Grunt configuration](https://github.com/magento/magento2/blob/2.4/dev/tools/grunt/configs/eslint.json).
In previous versions of ESLint, these custom rules were included using the `rulePaths` setting in the [ESLint Grunt configuration](https://github.com/magento/magento2/blob/2.4/dev/tools/grunt/configs/eslint.json).

However, since ESLint 9 has deprecated `rulePaths`, you must update the configuration accordingly.

The following example shows the necessary changes to implement custom Eslint rules in the `dev/tools/grunt/configs/eslint.json` file.

```json
{
"file": {
"options": {
"overrideConfigFile": "vendor/magento/magento-coding-standard/eslint/eslint.config.mjs",
"useEslintrc": false
}
},
"test": {
"options": {
"overrideConfigFile": "vendor/magento/magento-coding-standard/eslint/eslint.config.mjs",
"outputFile": "dev/tests/static/eslint-error-report.xml",
"format": "junit",
"quiet": true
}
}
}
```

### Applying custom rules

To add or modify custom rules, update the `eslint.config.mjs` file in the `magento-coding-standard` repository.
In the latest version of ESLint, the configuration has transitioned from using the legacy `.eslintrc` settings to the new flat configuration.
Refer to the [migration guide](https://eslint.org/docs/latest/use/configure/migration-guide) in the ESlint documentation for detailed instructions on migrating to the new format.
2 changes: 1 addition & 1 deletion src/pages/contributors.json

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions src/pages/development/cli-commands/custom.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,9 @@ Following is a summary of the process:

```php
<?php

declare(strict_types=1);

namespace Magento\CommandExample\Console\Command;

use Magento\Framework\Exception\LocalizedException;
Expand Down Expand Up @@ -125,7 +125,7 @@ Following is a summary of the process:
protected function execute(InputInterface $input, OutputInterface $output): int
{
$exitCode = 0;

if ($name = $input->getOption(self::NAME)) {
$output->writeln('<info>Provided name is `' . $name . '`</info>');
}
Expand All @@ -144,21 +144,21 @@ Following is a summary of the process:
));
$exitCode = 1;
}

return $exitCode;
}
}
```

Style the output text by using `<error>`, `<info>`, or `<comment>` tags. See [Symfony](https://symfony.com/doc/current/console/style.html#output-coloring) documentation for more information about styling.

1. Declare your Command class in `Magento\Framework\Console\CommandListInterface` and configure the command name using dependency injection (`<your component root dir>/etc/di.xml`):
1. Declare your Command class in `Magento\Framework\Console\CommandList` and configure the command name using dependency injection (`<your component root dir>/etc/di.xml`):

```xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
...
<type name="Magento\Framework\Console\CommandListInterface">
<type name="Magento\Framework\Console\CommandList">
<arguments>
<argument name="commands" xsi:type="array">
<item name="commandexample_somecommand" xsi:type="object">Magento\CommandExample\Console\Command\SomeCommand</item>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ The message queue topology configuration links all auto-generated topic names wi
</exchange>
```

The connection type is automatically determined from your `env.php` configuration.

<InlineAlert variant="info" slots="text"/>

The message queue connection is defined dynamically based on the deployment configuration in `env.php`. If AMQP or STOMP is configured for the queue, that connection is used. Otherwise, the database connection is used. Because the connection is resolved dynamically, explicit declarations are unnecessary in the [message queue configuration files](configuration.md): `queue_consumer.xml`, `queue_publisher.xml`, `queue_topology.xml`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ The `queue_consumer.xml` file defines the relationship between a queue and its c
</config>
```

The connection type (AMQP or STOMP) is determined automatically from the `env.php` configuration.
The connection type (AMQP or STOMP) is determined automatically from your `env.php` configuration.

### queue_publisher.xml

Expand All @@ -346,6 +346,8 @@ The `queue_publisher.xml` file defines the exchange where a topic is published.

Alternatively, you can explicitly specify the connection and exchange:

**For RabbitMQ (AMQP):**

```xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/publisher.xsd">
<publisher topic="<topic_name>">
Expand Down Expand Up @@ -378,6 +380,8 @@ The `queue_topology.xml` file defines message routing rules and declares queues
</config>
```

The connection type is automatically determined from your `env.php` configuration.

<InlineAlert variant="info" slots="text"/>

Message queue connections are resolved dynamically from `env.php`. When AMQP or STOMP is configured, the corresponding connection is applied; otherwise, the database connection is used. You can omit connection declarations from `queue_consumer.xml`, `queue_publisher.xml`, and `queue_topology.xml` when using AMQP or STOMP. ActiveMQ Artemis (STOMP) was introduced in Adobe Commerce 2.4.5 and uses ANYCAST addressing mode for point-to-point message delivery and load balancing across multiple consumers. See [Message queue configuration files](configuration.md).
Message queue connections are resolved dynamically from `env.php`. When AMQP or STOMP is configured, the corresponding connection is applied; otherwise, the database connection is used. You can omit connection declarations from `queue_consumer.xml`, `queue_publisher.xml`, and `queue_topology.xml` when using AMQP or STOMP. ActiveMQ Artemis (STOMP) support was introduced in Adobe Commerce 2.4.5. For STOMP connections, use ANYCAST addressing mode for point-to-point message delivery and load balancing across multiple consumers. See [Message queue configuration files](configuration.md).
39 changes: 38 additions & 1 deletion src/pages/development/components/message-queues/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Message queues provide an asynchronous communications mechanism in which the sen

## Message Queue Framework overview

The Adobe Commerce Message Queue Framework (MQF) is a fully-functional system that allows a module to publish messages to queues and create consumers to receive them asynchronously.
The Adobe Commerce and Magento Open Source Message Queue Framework (MQF) is a fully-functional system that allows a module to publish messages to queues and create consumers to receive them asynchronously.

The MQF supports the following messaging brokers:

Expand Down Expand Up @@ -112,3 +112,40 @@ The following example shows how to switch a topic to an external broker. Replace
```

For example, to switch the `product_action_attribute.update` topic to RabbitMQ, use `amqp-magento` as the publisher and `amqp` as the connection name.

### Example: switch a topic to ActiveMQ Artemis (STOMP)

The following configuration shows how to configure a topic to use STOMP instead of MySQL:

```php
'queue' => [
'topics' => [
'inventory.update' => [
'publisher' => 'stomp-magento'
]
],
'config' => [
'publishers' => [
'inventory.update' => [
'connections' => [
'stomp' => [
'name' => 'stomp',
'exchange' => 'magento',
'disabled' => false
],
'db' => [
'name' => 'db',
'exchange' => 'magento',
'disabled' => true
]
]
]
]
],
'consumers' => [
'inventory.update' => [
'connection' => 'stomp',
],
]
],
```
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ The Adobe Commerce and Magento Open Source 2.1 `communication.xml` file has not

To upgrade from Adobe Commerce or Magento Open Source 2.0, you must create the following files in the `<module>/etc` directory for each module that will use the message queue framework.

- `queue_consumer.xml` - Defines the relationship between an existing queue and its consumer.
- `queue_consumer.xml`Defines the relationship between an existing queue and its consumer.
- `queue_topology.xml`—Defines the message routing rules.
- `queue_publisher.xml`—Defines the relationship between a topic and its publisher.

Expand Down
2 changes: 1 addition & 1 deletion src/pages/module-reference/module-cms.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The CMS module provides the create, edit, and manage functionality on pages for

## Wysiwyg

The Wysiwyg UI component is a customizable and configurable TinyMCE editor.
The Wysiwyg UI component is a customizable and configurable HugeRTE editor.

The default implementation has the following customizations:

Expand Down
Loading