diff --git a/_data/toc/extension-best-practices.yml b/_data/toc/extension-best-practices.yml index aa03f0ed65c..f147148d3d9 100644 --- a/_data/toc/extension-best-practices.yml +++ b/_data/toc/extension-best-practices.yml @@ -57,3 +57,6 @@ pages: - label: Creating a Magento admin page url: /ext-best-practices/extension-coding/example-module-adminpage.html + + - label: Creating a dynamic row system config + url: /ext-best-practices/tutorials/dynamic-row-system-config.html diff --git a/common/images/widget/confirm-widget-result.png b/common/images/widget/confirm-widget-result.png index 41bca285c27..4e40e295447 100644 Binary files a/common/images/widget/confirm-widget-result.png and b/common/images/widget/confirm-widget-result.png differ diff --git a/guides/v2.1/cloud/cdn/configure-fastly.md b/guides/v2.1/cloud/cdn/configure-fastly.md index 14537ded172..1b4694d96a6 100644 --- a/guides/v2.1/cloud/cdn/configure-fastly.md +++ b/guides/v2.1/cloud/cdn/configure-fastly.md @@ -183,7 +183,7 @@ Complete the following configuration steps in Staging and Production environment 1. Log in to your Magento Admin UI. -1. Click **Stores** > **Settings** > **Configuration** > **Advanced** > **System** and expand **Full Page Cache**. +1. Click **Stores** > Settings > **Configuration** > **Advanced** > **System** and expand **Full Page Cache**. ![Expand to select Fastly]({{ site.baseurl }}/common/images/cloud_fastly_menu.png){:width="650px"} @@ -195,7 +195,7 @@ Complete the following configuration steps in Staging and Production environment 1. After configuring the caching options, click **Save Config** at the top of the page. -1. Clear the cache according to the notification. Then, navigate back to **Stores** > **Settings** > **Configuration** > **Advanced** > **System** > +1. Clear the cache according to the notification. Then, navigate back to **Stores** > Settings > **Configuration** > **Advanced** > **System** > **Full Page Cache** > **Fastly Configuration** to continue configuring Fastly. Configure the following features and enable additional [configuration options](https://github.com/fastly/fastly-magento2/blob/master/Documentation/CONFIGURATION.md#further-configuration-options): diff --git a/guides/v2.1/config-guide/bootstrap/magento-modes.md b/guides/v2.1/config-guide/bootstrap/magento-modes.md index 4a617d7b29f..6582bd9a28e 100644 --- a/guides/v2.1/config-guide/bootstrap/magento-modes.md +++ b/guides/v2.1/config-guide/bootstrap/magento-modes.md @@ -32,7 +32,8 @@ You can run Magento in any of the following *modes*:
  • Enables automatic code compilation
  • Enables enhanced debugging
  • Shows custom X-Magento-* HTTP request and response headers
  • -
  • Results in the slowest performance (because of the preceding)
  • +
  • Results in the slowest performance
  • +
  • Does not show errors on the frontend
  • diff --git a/guides/v2.1/contributor-guide/backward-compatible-development/index.md b/guides/v2.1/contributor-guide/backward-compatible-development/index.md index ee62975fc3e..61c20ee42f4 100644 --- a/guides/v2.1/contributor-guide/backward-compatible-development/index.md +++ b/guides/v2.1/contributor-guide/backward-compatible-development/index.md @@ -27,9 +27,9 @@ The rules listed do not apply to customization code (e.g. Plugins, Observers, JS ### Composer -#### Introducing a new dependency from an existing module +#### Introducing a new dependency between modules -Introducing a new dependency from an existing module is a backward incompatible change because we cannot guarantee when Magento will enable the required module. As a result, we cannot satisfy the dependency in this way. +Introducing a new dependency on another Magento module from an existing module is a backward incompatible change because we cannot guarantee whether an existing instance of Magento will have the target module enabled. ### PHP diff --git a/guides/v2.1/extension-dev-guide/attributes.md b/guides/v2.1/extension-dev-guide/attributes.md index 95e77eb8356..ac00d6ac699 100644 --- a/guides/v2.1/extension-dev-guide/attributes.md +++ b/guides/v2.1/extension-dev-guide/attributes.md @@ -113,60 +113,16 @@ You must create a `/etc/extension_attributes.xml` file to define a modul where: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    KeywordDescriptionExample

    for

    The fully-qualified type name with the [namespace](https://glossary.magento.com/namespace) that processes the extensions. The value must be a type that implements `ExtensibleDataInterface`. The interface can be in a different module.

    Magento\Quote\Api\Data\TotalsInterface

    code

    The name of the attribute. The attribute name should be in snake case (the first letter in each word should be in lowercase, with each word separated by an underscore).

    gift_cards_amount_used

    type

    The data type. This can be a simple data type, such as string or integer, or complex type, such as an interface.

    float
    Magento\CatalogInventory\Api\Data\StockItemInterface

    ref

    Optional. Restricts access to the [extension attribute](https://glossary.magento.com/extension-attribute) to users with the specified permission.

    Magento_CatalogInventory::cataloginventory

    reference_table

    -

    The table involved in a join operation. See Searching extension attributes for details.

    -
    admin_user

    reference_field

    Column in the reference_table

    user_id

    join_on_field

    The column of the table associated with the interface specified in the for [keyword](https://glossary.magento.com/keyword) that will be used in the join operation.

    store_id

    field

    One or more fields present in the interface specified in the type keyword.

    -

    You can specify the column="" keyword to define the column in the reference_table to use. The field value specifies the property on the interface which should be set.

    firstname
    lastname
    email

    -code
    +|Keyword|Description|Example| +|--- |--- |--- | +| for | The fully-qualified type name with the [namespace](https://glossary.magento.com/namespace) that processes the extensions. The value must be a type that implements `ExtensibleDataInterface`. The interface can be in a different module. | `Magento\Quote\Api\Data\TotalsInterface` | +| code | The name of the attribute. The attribute name should be in snake case (the first letter in each word should be in lowercase, with each word separated by an underscore). | `gift_cards_amount_used` | +| type | The data type. This can be a simple data type, such as string or integer, or complex type, such as an interface. | `float`
    `Magento\CatalogInventory\Api\Data\StockItemInterface` | +| ref | Optional. Restricts access to the extension attribute to users with the specified permission. | `Magento_CatalogInventory::cataloginventory` | +| reference_table | The table involved in a join operation. See [Searching extension attributes](#search) for details. | `admin_user` | +| reference_field | Column in the `reference_table`. | `user_id` | +| join_on_field | The column of the table associated with the interface specified in the `for` keyword that will be used in the join operation. | `store_id` | +| field | One or more fields present in the interface specified in the `type` keyword.
    You can specify the `column=""` keyword to define the column in the reference_table to use. The field value specifies the property on the `interface` which should be set. | `firstname`
    `lastname`
    `email`

    `code` | ### Searching extension attributes {#search} diff --git a/guides/v2.1/frontend-dev-guide/css-topics/css-themes.md b/guides/v2.1/frontend-dev-guide/css-topics/css-themes.md index c53239d1c19..93b3e47d7f4 100644 --- a/guides/v2.1/frontend-dev-guide/css-topics/css-themes.md +++ b/guides/v2.1/frontend-dev-guide/css-topics/css-themes.md @@ -102,6 +102,12 @@ To include an external CSS file, add ` ``` +The `` tag can be used to insert `CSS` file in layout XML. + +```xml + +``` + {:.bs-callout .bs-callout-info} If the system does not find the included CSS files, it searches for the same file names with a `.less` extension. This is part of the built-in preprocessing mechanism. You can find more information about it in the [CSS Preprocessing] topic. diff --git a/guides/v2.1/frontend-dev-guide/translations/xlate.md b/guides/v2.1/frontend-dev-guide/translations/xlate.md index 03d0af99883..b5370446cff 100644 --- a/guides/v2.1/frontend-dev-guide/translations/xlate.md +++ b/guides/v2.1/frontend-dev-guide/translations/xlate.md @@ -52,6 +52,7 @@ Depending on your needs, you can use the existing [language packages](#m2devgde- ## Programming notes * It is recommended, but not enforced, that you do not place variables inside `__()` functions or `new Phrase()` calls. The scanner that collects the phrases from the code cannot interpret and collect the value of the variable when it is in these locations. Instead, you should place the full text in the `__()` function or `new Phrase()` call. If you need to specify a variable in these cases, ensure that it is translated correctly wherever it is defined as a string literal. +* It is recommended that, whenever possible, the preferred gender of any nouns be supplied as a variable. This helps languages with gendered conjugations translate phrases more smoothly. * The [language package](https://glossary.magento.com/language-package) (`i18n` directory) can be saved to any directory of your [extension](https://glossary.magento.com/extension). * The phrases for translations are enabled in the [Phrase] class. diff --git a/guides/v2.2/config-guide/bootstrap/magento-modes.md b/guides/v2.2/config-guide/bootstrap/magento-modes.md index d45933bd0f6..c3256e61501 100644 --- a/guides/v2.2/config-guide/bootstrap/magento-modes.md +++ b/guides/v2.2/config-guide/bootstrap/magento-modes.md @@ -32,7 +32,8 @@ You can run Magento in any of the following *modes*:
  • Enables automatic code compilation
  • Enables enhanced debugging
  • Shows custom X-Magento-* HTTP request and response headers
  • -
  • Results in the slowest performance (because of the preceding)
  • +
  • Results in the slowest performance
  • +
  • Does not show errors on the frontend
  • diff --git a/guides/v2.2/frontend-dev-guide/theme-best-practice.md b/guides/v2.2/frontend-dev-guide/theme-best-practice.md index 885dd7615f1..024dc11b247 100644 --- a/guides/v2.2/frontend-dev-guide/theme-best-practice.md +++ b/guides/v2.2/frontend-dev-guide/theme-best-practice.md @@ -28,4 +28,4 @@ Some other customizations that can be performed using layout instructions are th 4. Use `/etc/view.xml` to change image types sizes or add your own types. See [Configure images properties]({{ page.baseurl }}/frontend-dev-guide/themes/theme-images.html) for details. Use this file also to [customize product gallery widget]({{ page.baseurl }}/javascript-dev-guide/widgets/widget_gallery.html) 5. If you need to change the wording in user interface, [add custom CSV dictionary files]({{ page.baseurl }}/frontend-dev-guide/translations/theme_dictionary.html) instead of overriding `.phtml` templates. -Keep in mind, that after Magento instances, updates or upgrades something can change in default templates, layouts, and styles. So it is recommended to check if the changes effected the files overridden in your theme and copy changes if any, to your templates, layouts, and styles. +Keep in mind that, after updating or upgrading Magento instances, there may be changes to default templates, layouts, and styles. So it is recommended to check if those changes affect any files overridden in your theme and if so, copy the changes to your templates, layouts, and styles. diff --git a/guides/v2.2/install-gde/prereq/install-rabbitmq.md b/guides/v2.2/install-gde/prereq/install-rabbitmq.md index ca6b295b20f..b36b5126f9c 100644 --- a/guides/v2.2/install-gde/prereq/install-rabbitmq.md +++ b/guides/v2.2/install-gde/prereq/install-rabbitmq.md @@ -118,7 +118,7 @@ To configure support for SSL, edit the `ssl` and `ssl_options` parameters in the 'user' => 'magento', 'password' => 'magento', 'virtualhost' => '/', - 'ssl' => true, + 'ssl' => 'true', 'ssl_options' => [ 'cafile' => '/etc/pki/tls/certs/DigiCertCA.crt', 'certfile' => '/path/to/magento/app/etc/ssl/test-rabbit.crt', diff --git a/guides/v2.3/config-guide/cli/config-cli-subcommands-i18n.md b/guides/v2.3/config-guide/cli/config-cli-subcommands-i18n.md index c4ed7661022..e3732129ec2 100644 --- a/guides/v2.3/config-guide/cli/config-cli-subcommands-i18n.md +++ b/guides/v2.3/config-guide/cli/config-cli-subcommands-i18n.md @@ -43,9 +43,9 @@ You have options for using the translated dictionary: Command options: - ```bash +```bash bin/magento i18n:collect-phrases [-o|--output=""] [-m|--magento] - ``` +``` The following table explains this command's parameters and values: @@ -300,7 +300,7 @@ Similar to the preceding example, generate a `.csv` file, but instead of specify diff --git a/guides/v2.3/get-started/create-integration.md b/guides/v2.3/get-started/create-integration.md index c1d2543308a..f57457be9ff 100644 --- a/guides/v2.3/get-started/create-integration.md +++ b/guides/v2.3/get-started/create-integration.md @@ -63,7 +63,7 @@ To develop a module, you must: @@ -111,7 +111,7 @@ To develop a module, you must: ```php 'magento', 'password' => 'magento', 'virtualhost' => '/', - 'ssl' => true, + 'ssl' => 'true', 'ssl_options' => [ 'cafile' => '/etc/pki/tls/certs/DigiCertCA.crt', 'certfile' => '/path/to/magento/app/etc/ssl/test-rabbit.crt', diff --git a/guides/v2.3/release-notes/ReleaseNotes2.3.2Commerce.md b/guides/v2.3/release-notes/ReleaseNotes2.3.2Commerce.md index 97db8a2f585..0d4f0843294 100644 --- a/guides/v2.3/release-notes/ReleaseNotes2.3.2Commerce.md +++ b/guides/v2.3/release-notes/ReleaseNotes2.3.2Commerce.md @@ -745,7 +745,7 @@ has been changed to `Magent * The `FrontController` now explicitly requires actions to specify if they respond to `HEAD` requests. `HEAD` action mapping has also been changed to the `GET` action interface, which results in `HEAD` requests returning `200` instead of `404`. *Fix submitted by [Matti Vapa](https://github.com/mattijv) in pull request [21378](https://github.com/magento/magento2/pull/21378)*. [GitHub-21299](https://github.com/magento/magento2/issues/21299) -* We removed the Logic class from the constructor of `Magento\Sales\Model\Order\Address\Validator`. Previously, installation of the product could fail if this class was injected in the constructor through a command in a custom module when this class continued logic. *Fix submitted by [Dharmesh Vaja](https://github.com/Dharmeshvaja91) in pull request [21693](https://github.com/magento/magento2/pull/21693)*. [GitHub-21692](https://github.com/magento/magento2/issues/21692), [GitHub-21752](https://github.com/magento/magento2/issues/21752) +* We removed the Logic class from the constructor of `Magento\Sales\Model\Order\Address\Validator`. Previously, installation of the product could fail if this class was injected in the constructor through a command in a custom module when this class continued logic. *Fix submitted by [Bartłomiej Szubert](https://github.com/Bartlomiejsz) in pull request [21693](https://github.com/magento/magento2/pull/21693)*. [GitHub-21692](https://github.com/magento/magento2/issues/21692), [GitHub-21752](https://github.com/magento/magento2/issues/21752) * The `productAvailabilityChecks` argument has been added to `Magento\Sales\Model\Order\Reorder\OrderedProductAvailabilityChecker`. Previously, this required argument was missing. *Fix submitted by [Roman Kis](https://github.com/kisroman) in pull request [21820](https://github.com/magento/magento2/pull/21820)*. [GitHub-20825](https://github.com/magento/magento2/issues/20825) diff --git a/guides/v2.3/release-notes/ReleaseNotes2.3.2OpenSource.md b/guides/v2.3/release-notes/ReleaseNotes2.3.2OpenSource.md index b2c73024a24..4692dca68a6 100644 --- a/guides/v2.3/release-notes/ReleaseNotes2.3.2OpenSource.md +++ b/guides/v2.3/release-notes/ReleaseNotes2.3.2OpenSource.md @@ -653,7 +653,7 @@ has been changed to `Magent * The `FrontController` now explicitly requires actions to specify if they respond to `HEAD` requests. `HEAD` action mapping has also been changed to the `GET` action interface, which results in `HEAD` requests returning `200` instead of `404`. *Fix submitted by [Matti Vapa](https://github.com/mattijv) in pull request [21378](https://github.com/magento/magento2/pull/21378)*. [GitHub-21299](https://github.com/magento/magento2/issues/21299) -* Logic has been removed from the constructor of `Magento\Sales\Model\Order\Address\Validator`. Previously, installation of the product could fail if this class was injected in the constructor through a command in a custom module when this class contined logic. *Fix submitted by [Dharmesh Vaja](https://github.com/Dharmeshvaja91) in pull request [21693](https://github.com/magento/magento2/pull/21693)*. [GitHub-21692](https://github.com/magento/magento2/issues/21692), [GitHub-21752](https://github.com/magento/magento2/issues/21752) +* Logic has been removed from the constructor of `Magento\Sales\Model\Order\Address\Validator`. Previously, installation of the product could fail if this class was injected in the constructor through a command in a custom module when this class contined logic. *Fix submitted by [Bartłomiej Szubert](https://github.com/Bartlomiejsz) in pull request [21693](https://github.com/magento/magento2/pull/21693)*. [GitHub-21692](https://github.com/magento/magento2/issues/21692), [GitHub-21752](https://github.com/magento/magento2/issues/21752) * The `productAvailabilityChecks` argument has been added to `Magento\Sales\Model\Order\Reorder\OrderedProductAvailabilityChecker`. Previously, this required argument was missing. *Fix submitted by [Roman Kis](https://github.com/kisroman) in pull request [21820](https://github.com/magento/magento2/pull/21820)*. [GitHub-20825](https://github.com/magento/magento2/issues/20825) @@ -948,7 +948,7 @@ has been changed to `Magent * Screen readers can now identify the `label` elements that are linked to `input` fields for street address fields on the checkout page. Previously, screen readers could not identify these fields because the elements were not populated. *Fix submitted by [Scott Buchanan](https://github.com/scottsb) in pull request [21484](https://github.com/magento/magento2/pull/21484)*. [GitHub-10893](https://github.com/magento/magento2/issues/10893) -* Product gallery images no longer open unexpectedly when you move ove a product image while moving to another page element. *Fix submitted by [Denis Kopylov ](https://github.com/Den4ik) in pull request [21790](https://github.com/magento/magento2/pull/21790)*. [GitHub-21789](https://github.com/magento/magento2/issues/21789) +* Product gallery images no longer open unexpectedly when you move over a product image while moving to another page element. *Fix submitted by [Denis Kopylov ](https://github.com/Den4ik) in pull request [21790](https://github.com/magento/magento2/pull/21790)*. [GitHub-21789](https://github.com/magento/magento2/issues/21789) * Magento now cancels previous scrolling actions as expected when you click **Add to cart** on a product page. Previously, Magento scrolled back to the `qty` input box the same number of times as you clicked **Add to cart**. *Fix submitted by [Vechirko Yurii](https://github.com/yvechirko) in pull request [22117](https://github.com/magento/magento2/pull/22117)*. [GitHub-21715](https://github.com/magento/magento2/issues/21715) diff --git a/release/index.md b/release/index.md index c547cb4bdcc..57c7954fe5c 100644 --- a/release/index.md +++ b/release/index.md @@ -16,7 +16,7 @@ The following table describes the status of Magento software availability and wh | **PWA Studio** | Available now (including support for {{site.data.var.ece}}) | [Documentation](https://magento-research.github.io/pwa-studio/) and [GitHub](https://github.com/magento-research/pwa-studio) | | **Magento Shipping** | Available now | Merchants on Magento 2.2.2+ can use the [onboarding process](https://account.magento.com/shipping/onboarding/start) | | **Page Builder** | Available now | Bundled with {{site.data.var.ee}} 2.3.x | -| **Amazon Sales Channel 2.0.0** | Available now for {{site.data.var.ece}} 2.2.4+ and 2.3.x (US, Canada, Mexico)

    EMEA and APAC availability expected in second half of 2019 | Magento Marketplace | +| **Amazon Sales Channel 2.0.0** | Available now for {{site.data.var.ece}} 2.2.4+ and 2.3.x (US, Canada, Mexico)

    EMEA and APAC availability expected in second half of 2019 | [Magento Marketplace](https://marketplace.magento.com/magento-module-amazon.html) | | **Google Shopping ads Channel 2.0.1** | Available now for {{site.data.var.ece}} 2.2.4+ and 2.3.x | [Magento Marketplace](http://marketplace.magento.com/magento-google-shopping-ads.html) | ## Compatibility diff --git a/release/policy/index.md b/release/policy/index.md index 87260979ee8..93448c3279b 100644 --- a/release/policy/index.md +++ b/release/policy/index.md @@ -3,7 +3,7 @@ title: Release policy group: release --- -{{site.data.var.ee}} uses [semantic versioning](https://semver.org/). For example: +{{site.data.var.ee}} uses [semantic versioning](https://semver.org/) on the individual module level (for example magento/framework 101.1.1) but not for the Magento marketing version number. For example: - **MAJOR**—2 - **MINOR**—2.3