You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/cloud/project/project-upgrade.md
+13-11
Original file line number
Diff line number
Diff line change
@@ -6,25 +6,25 @@ functional_areas:
6
6
- Upgrade
7
7
---
8
8
9
-
You can upgrade the core {{site.data.var.ee}} code base to a newer version. It is best to review the summary of the updated [technology stack] before upgrading your project. If you need to upgrade from a version older than 2.1, you must upgrade to a supported version first. See [Upgrades and patches] for upgrade path details.
9
+
You can upgrade the core {{site.data.var.ee}} code base to a newer version. Before upgrading your project, review the [{{site.data.var.ece}} service versions][version compatibility matrix] information for the latest software version requirements. If you need to upgrade from a version older than 2.1, you must upgrade to a supported version first. See [Upgrades and patches] for upgrade path details.
10
10
11
11
{% include cloud/note-upgrade.md %}
12
12
13
13
{% include cloud/note-ece-tools-package.md %}
14
14
15
-
## Upgrading from older versions of the Magento application
15
+
## Upgrade from older versions of the Magento application
16
16
17
-
If you are upgrading from 2.1.4 or later to 2.2.x or later, review the [Magento technology stack requirements]. Your upgrade tasks may include the following:
17
+
If you are upgrading from 2.1.4 or later to 2.2.x or later, review the [{{site.data.var.ece}} service versions][version compatibility matrix] information for the latest software version requirements. Your upgrade tasks may include the following:
18
18
19
19
- Upgrade your PHP version
20
20
- Convert an older configuration management file
21
21
- Update the `.magento.app.yaml` file with new settings for hooks and environment variables
22
-
- Upgrade to the latest supported version of Fastly
22
+
- Upgrade third-party extensions to the latest supported version
23
23
- Update the `.gitignore` file
24
24
25
25
### Configuration management
26
26
27
-
If you are upgrading from 2.1.4 or later to 2.2.x or later and use [Configuration Management], you need to migrate the `config.local.php` file. Older versions used a `config.local.php` file for Configuration Management, but version 2.2.0 and later use the `config.php` file. This file works exactly as the `config.local.php` file, with additional settings that include a list of your enabled modules, additional configurations, and a different name.
27
+
If you are upgrading from 2.1.4 or later to 2.2.x or later and use [Configuration Management], you need to migrate the `config.local.php` file. Older versions used a `config.local.php` file for Configuration Management, but version 2.2.0 and later use the `config.php` file. This file works exactly like the `config.local.php` file, but it has different configuration settings that include a list of your enabled modulesand additional configuration options.
28
28
29
29
{:.procedure}
30
30
To create a temporary `config.php` file:
@@ -86,9 +86,9 @@ To update the `.magento.app.yaml` file:
86
86
87
87
1. Continue with the upgrade process.
88
88
89
-
## Upgrading the Magento application
89
+
## Upgrade the Magento application
90
90
91
-
Review the [Magento technology stack requirements] before upgrading your Magento application.
91
+
Review the [service versions][version compatibility matrix] information for the latest software version requirements before upgrading your Magento application.
92
92
93
93
### Back up the database
94
94
@@ -173,7 +173,7 @@ To create a system-specific configuration file:
173
173
{:.bs-callout-warning}
174
174
For an upgrade, you delete the `config.php` file. Once this file is added to your code, you should **not** delete it. If you need to remove or edit settings, you must edit the file manually.
175
175
176
-
### Upgrading extensions
176
+
### Upgrade extensions
177
177
178
178
Review your third-party extension and module pages in Marketplace or other company sites to verify support for {{site.data.var.ee}} and {{site.data.var.ece}}. If you need to upgrade any third-party extensions and modules, we recommend working in a new Integration branch with your extensions disabled.
179
179
@@ -197,7 +197,9 @@ To verify and upgrade your extensions:
197
197
1. Push to the Staging environment to test in a pre-production environment.
198
198
199
199
We strongly recommend upgrading your Production environment _before_ including the upgraded extensions in your go-live process.
200
-
We also recommend upgrading to the latest version of the Fastly CDN module for Magento 2.
200
+
201
+
{:.bs-callout-info}
202
+
When you upgrade your Magento version, the upgrade process updates to the latest version of the [Fastly CDN module for Magento 2] automatically.
See [Magento technology stack requirements]({{ site.baseurl }}/guides/v2.3/install-gde/system-requirements-tech.html) for the latest software version requirements.
65
+
See the [{{site.data.var.ece}} service versions][version compatibility matrix] information for the latest software version requirements.
66
66
67
67
For Staging and Production environments, you use the Fastly CDN module for Magento 2 for CDN and caching services. See [Configure Fastly services]({{ site.baseurl }}/cloud/cdn/cloud-fastly.html#fastly-cdn-module-for-magento-2).
68
68
@@ -133,3 +133,6 @@ Your {{site.data.var.ee}} account must *authenticate* using any of the following
Copy file name to clipboardExpand all lines: src/guides/v2.3/extension-dev-guide/build/module-file-structure.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ Following are some common module directories:
23
23
*`etc`: contains configuration files; in particular, `module.xml`, which is required.
24
24
*`Model`: contains PHP model classes as part of MVC vertical implementation of module logic.
25
25
*`Setup`: contains classes for module database structure and data setup which are invoked when installing or upgrading.
26
-
*`ViewModel`: contains PHP model clasees as part of a model-view-viewmodel (MVVM) implementation. It allows developers to offload features and business logic from block classes into separate classes that are easier to maintain, test, and reuse.
26
+
*`ViewModel`: contains PHP model classes as part of a model-view-viewmodel (MVVM) implementation. It allows developers to offload features and business logic from block classes into separate classes that are easier to maintain, test, and reuse.
Copy file name to clipboardExpand all lines: src/guides/v2.3/extension-dev-guide/events-and-observers.md
+3
Original file line number
Diff line number
Diff line change
@@ -127,6 +127,9 @@ The `observer` [xml](https://glossary.magento.com/xml) element has the following
127
127
*`disabled` - Determines whether this observer is active or not. Default value is false.
128
128
*`shared` - Determines the [lifestyle]({{ page.baseurl }}/extension-dev-guide/build/di-xml-file.html#object-lifestyle-configuration) of the class. Default is `true`.
129
129
130
+
{: .bs-callout .bs-callout-warning}
131
+
The observer name must be unique, or an override will occur.
132
+
130
133
Below is an example of how to assign observers to watch certain events:
Copy file name to clipboardExpand all lines: src/guides/v2.3/extension-dev-guide/message-queues/refresh-config.md
+74-3
Original file line number
Diff line number
Diff line change
@@ -6,10 +6,81 @@ functional_areas:
6
6
- System
7
7
---
8
8
9
-
When Magento is launched, the store's configuration is loaded and copied into memory. Magento uses that copy in memory for queue message transactions. When the store's configuration is updated in the admin, the copy in memory does not automatically refresh, resulting in an outdated in-memory object state.
9
+
When Magento is launched, the store's configuration is loaded into memory. Magento uses the in-memory configuration for queue message transactions. When the store's configuration is updated in the admin, the copy in memory does not refresh automatically, resulting in an outdated in-memory object state.
10
10
11
-
To ensure the copy in memory is re-instantiated after an update, use the `PoisonPill` interface available in the MessageQueue module. Before a new message is processed, the implementation of the `PoisonPillCompareInterface` compares the version of the in-memory copy to the latest in the database. If the versions are different, the in-memory copy is destroyed and a new copy is created when the next `cron:run` job executes.
11
+
To ensure the copy in memory is re-instantiated after an update, use the `PoisonPill` interfaces available in the MessageQueue module.
12
+
There are three type of the `PoisonPill` interfaces:
12
13
13
-
In addition to changes in the configuration, a new store view or a new website also trigger the `PoisonPill` interface.
14
+
*. `Magento\Framework\MessageQueue\PoisonPill\PoisonPillPutInterface` - The interface contains the `put` method. An implementation of the method puts a new version of poison pill inside the database.
15
+
*. `Magento\Framework\MessageQueue\PoisonPill\PoisonPillReadInterface` - The interface contains the `getLatestVersion` method. An implementation of the method gets and returns get latest version of the poison pill.
16
+
*. `Magento\Framework\MessageQueue\PoisonPill\PoisonPillCompareInterface` - The interface contains the `isLatestVersion` method. An implementation of the method checks if the version of current poison pill is the latest.
17
+
18
+
Before a new message is processed, the `PoisonPillCompareInterface` compares the version of the in-memory copy to the latest in the database. If the versions are different, the in-memory copy is destroyed and a new copy is created when the next `cron:run` job executes.
19
+
20
+
In addition to changes in the configuration, a new store view or a new website can also trigger the `PoisonPill` interface.
14
21
15
22
If `PoisonPill` determines the copy of the in-memory state needs to be re-instantiated and you have set up a `consumers_runner` cron job, Magento will automatically restart all consumers on the next run of the job. If you did not set up the cron job, you will need to manually restart any consumers that were terminated by `PoisonPill`.
23
+
24
+
### How to use `PoisonPill` interfaces in Magento {#how-to-use}
25
+
26
+
The method `put` of `PoisonPillPutInterface` using in the `Magento\Store\Model\Website`
27
+
28
+
```php
29
+
/**
30
+
* Clear configuration cache after creation website
31
+
* @return $this
32
+
* @since 100.2.0
33
+
*/
34
+
public function afterSave()
35
+
{
36
+
...
37
+
$this->pillPut->put();
38
+
return parent::afterSave();
39
+
}
40
+
```
41
+
42
+
The method `getLatestVersion` of `PoisonPillReadInterface` using in the `Magento\Framework\MessageQueue\CallbackInvoker`:
43
+
44
+
```php
45
+
/**
46
+
* Run short running process
47
+
* @param QueueInterface $queue
48
+
* @param int $maxNumberOfMessages
49
+
* @param \Closure $callback
50
+
* @return void
51
+
*/
52
+
public function invoke(QueueInterface $queue, $maxNumberOfMessages, $callback)
Copy file name to clipboardExpand all lines: src/guides/v2.3/graphql/develop/resolvers.md
-26
Original file line number
Diff line number
Diff line change
@@ -221,32 +221,6 @@ Syntax option | Description
221
221
`@doc(description)` | Describes the purpose of the mutation
222
222
`@deprecated(reason: "description")` | Use `@deprecated` to mark a query, mutation, or attribute as deprecated
223
223
224
-
{:.bs-callout-tip}
225
-
It is a good practice to define separate types for input and output data. This practice permits additional extension points, so every input and output type can be extended by adding additional fields to the definition.
0 commit comments