Skip to content
This repository was archived by the owner on Nov 19, 2024. It is now read-only.

Commit a0d1c58

Browse files
doboothchandru-199hguthrieDenisSaltanahmedovatwixfirster
authored
Small changes (#6522)
* Added additional step in custom widget topic * fix #6436 Clarify node services, roles, and monitoring * Updates from feedback * magento/devdocs#: Layout instructions. Editorial. Remove a redundant colon char * magento/devdocs#: Layout instructions. Editorial. Script tag formating * magento/devdocs#: Layout instructions. Editorial. Remove a redundant colon char * magento/devdocs#: GraphQl. API functional tests. Add info about tests location (#6461) https://devdocs.magento.com/guides/v2.3/graphql/functional-testing.html * magento/devdocs#: Editorial. GraphQl. Fix mutation query. (#6473) https://devdocs.magento.com/guides/v2.3/graphql/mutations/remove-item.html * magento/devdocs#: Add removeItemFromCart mutation API errors (#6472) https://devdocs.magento.com/guides/v2.3/graphql/mutations/remove-item.html * magento/devdocs#: Add placeOrder mutation API errors (#6460) * magento/devdocs#: Add placeOrder mutation API errors * Grammar updates Co-authored-by: Kevin Harper <[email protected]> * Added blank space * Update customAttributeMetadata query example (#6488) * Update on "Excluding files" and "Setting bundle file size" Updated the "Excluding files" example and added an example to "Setting bundle file size" * Fixed up header * Improvement - adding links to glossary * Removed old note. * Trailing space * Update place-order.md Co-authored-by: chandru-199 <[email protected]> Co-authored-by: hguthrie <[email protected]> Co-authored-by: Denys Saltanakhmedov <[email protected]> Co-authored-by: Alexander Taranovsky <[email protected]> Co-authored-by: Kevin Harper <[email protected]> Co-authored-by: david-ziffity <[email protected]>
1 parent 1fff9ef commit a0d1c58

File tree

11 files changed

+166
-47
lines changed

11 files changed

+166
-47
lines changed

src/cloud/architecture/scaled-architecture.md

+8-5
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ The scaled architecture is available for {{site.data.var.ece}} accounts with the
1212

1313
## Split architecture
1414

15-
Historically, the Pro architecture consisted of 3 nodes, each containing a full tech stack. Now, there is a scalable infrastructure that provides a tiered solution with a minimum of 6 nodes: 3 nodes for the core database and other services and 3 nodes for the web server. This split architecture provides the capability to scale tiers independently to achieve an optimal balance of performance. The **core** tier scales vertically (increases in size), and the **web** tier scales horizontally (increases instance count) and vertically (changes instance type and size).
15+
Historically, the Pro architecture consisted of 3 nodes, each containing a full tech stack. Now, there is a scalable infrastructure that provides a tiered solution with a minimum of 6 nodes: 3 nodes for the core database and other services and 3 nodes for the web server. This split architecture provides the capability to scale tiers independently to achieve an optimal balance of performance. The **core** tier scales vertically (increases in size), and the **web** tier scales horizontally (increases instance count) and vertically (changes instance type and size).
1616

1717
Scaling must use the same instance type and size for each node:
1818

@@ -21,7 +21,7 @@ Scaling must use the same instance type and size for each node:
2121

2222
### Core tier scaling
2323

24-
There are 3 nodes (core nodes) for the database and included services, such as ElasticSearch, MariaDB, and Redis. When the core tier approaches capacity, the only way to scale is to increase the server size, such as boosting the CPU power and memory. Capacity is limited to the size of the node that is available. Because the database cluster is designed for high availability, you cannot scale horizontally in a reliable way with the technologies used.
24+
There are 3 nodes (core nodes) for data storage, cache, and services: **ElasticSearch**, **MariaDB**, **Redis**, and more. When the core tier approaches capacity, the only way to scale is to increase the server size, such as boosting the CPU power and memory. Capacity is limited to the size of the node that is available. Because the database cluster is designed for high availability, you cannot scale horizontally in a reliable way with the technologies used.
2525

2626
![Core tier scaling]
2727

@@ -31,11 +31,11 @@ You can further optimize the performance of the core tier by routing traffic bas
3131

3232
### Web tier scaling
3333

34-
There are 3 nodes (web nodes) for php-fpm processing and web traffic. In addition to vertical scaling by increasing power and memory, the web tier can scale horizontally by adding extra web servers to an existing cluster when constricted at the PHP level.
34+
There are 3 nodes (web nodes) for processing requests and web traffic: **php-fpm** and **NGINX**. In addition to vertical scaling by increasing power and memory, the web tier can scale horizontally by adding extra web servers to an existing cluster when constricted at the PHP level.
3535

3636
![Web tier scaling]
3737

38-
This complements the vertical scaling provided by the core tier. As the core tier scales in size and power to accommodate a growing database and increase in service usage, the web tier scales in size and power, and even instances, to accommodate growing process and traffic requirements.
38+
This complements the vertical scaling provided by the core tier. As the core tier scales in size and power to accommodate a growing database and increase in service usage, the web tier scales in size and power, and even instances, to accommodate an increase in process requests and higher traffic requirements.
3939

4040
Consider an example that the web node instance type is _C5.2xlarge with 8 CPU and 16Gb RAM_. The number of requests to the site increased greatly. You can add an additional C5.2xlarge node to handle the increase in php-fpm processes or you can change each instance type to _C5.4xlarge with 16 CPU and 32Gb RAM_. Adding an additional node reduces the risk of insufficient surge capacity.
4141

@@ -46,7 +46,7 @@ Minimally, Pro projects with the Scaled architecture have 6 nodes available.
4646
- 3 web nodes c5.2xlarge (8 CPU, 16 Gb RAM)
4747
- 3 core nodes m5.2xlarge (8 CPU, 32 Gb RAM)
4848

49-
Each project is unique, however, and requires performance monitoring to properly analyze resource management. Each account includes the [New Relic Infrastructure service][nri], which automatically connects with the application data and performance analytics to provide dynamic server monitoring. As a resource reaches capacity or a degradation in performance, you can create a request to scale your infrastructure to meet the demand.
49+
Each project is unique, however, and requires performance monitoring to properly analyze resource management. Each account includes the [New Relic Infrastructure service][nri], which automatically connects with the application data and performance analytics to provide dynamic server monitoring. Specifically, you can use the New Relic service to monitor CPU and RAM utilization to determine which nodes require additional resources. As a resource reaches capacity or you notice a degradation in performance based on the analytics, you can create a request to scale your infrastructure to meet the demand.
5050

5151
### SSH access
5252

@@ -59,6 +59,9 @@ ssh <node>.<project-ID>-<environment>-<user-ID>@ssh.<region>.magento.com
5959
- `node` 1 to 3—Addresses to access the core nodes
6060
- `node` 4 to _n_—Addresses to access the web nodes
6161

62+
{: .bs-callout-tip}
63+
After you log in, you can confirm the server ID and the role: core nodes use the _unified_ role, and web nodes use the _web_ role.
64+
6265
Example response as you log in to a **core node** includes the _unified_ role:
6366

6467
```terminal

src/guides/v2.3/ext-best-practices/tutorials/custom-widget.md

+8
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,14 @@ And finally, create the template that will be used for showing the widget's data
157157
<h3><?= $block->escapeHtml(__('Size:')) ?> <?= $block->escapeHtml($block->getData('size')) ?></h3>
158158
```
159159

160+
### Step 6. Clean Cache
161+
162+
Clean the Magento cache with the following command:
163+
164+
```bash
165+
bin/magento cache:clean
166+
```
167+
160168
## Result
161169

162170
The widget is now shown on the frontend.

src/guides/v2.3/frontend-dev-guide/bk-frontend-dev-guide.md

+6-7
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@ You can apply these levels of customization to your site, where the levels requi
4242

4343
This requires PHP programming knowledge in addition to knowledge of all of the preceding areas.
4444

45-
{:.bs-callout-info}
46-
There have been some inquiries about the status of the Visual Design Editor (VDE), which is currently part of the Magento development code base. The VDE enables assigning and unassigning themes, editing theme CSS and JS files, changing page layouts, and managing blocks and their positions on pages in a [WYSIWYG](https://glossary.magento.com/wysiwyg) mode. We'd like to clarify that to meet higher priority objectives, the VDE will _not_ be part of the initial Magento release. Future plans for the VDE will be communicated at a later point in time. You are welcome to continue to provide input on the VDE, but please note that we will not be actively reviewing or actioning these comments in the near term.
47-
4845
## Frontend development prerequisites {#fedg-prereqs}
4946

5047
To implement what is discussed in this guide, you need a working Magento installation and the following browser versions installed on your device:
@@ -53,12 +50,14 @@ To implement what is discussed in this guide, you need a working Magento install
5350

5451
To use this guide, you must be familiar with:
5552

56-
* CSS, CSS 3, and LESS
57-
* HTML and HTML 5
53+
* [CSS, CSS 3](https://glossary.magento.com/css)
54+
* [LESS](https://glossary.magento.com/less)
55+
* [HTML and HTML 5](https://glossary.magento.com/html)
5856
* [XML](https://glossary.magento.com/xml)
5957
* [JavaScript](https://glossary.magento.com/javascript)
60-
* PHTML, PHP (Basic)
61-
* Responsive Web Design (RWD)
58+
* [PHTML](https://glossary.magento.com/phtml)
59+
* [PHP (Basic)](https://glossary.magento.com/php)
60+
* [Responsive Web Design (RWD)](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/responsive-web-design/rwd_overview.html)
6261

6362
{:.ref-header}
6463
Related topics

src/guides/v2.3/frontend-dev-guide/themes/js-bundling.md

+8-3
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,6 @@ The following code snippet from [Magento's Luma theme][luma-view-xml] shows the
6161
{% collapsible Show example %}
6262

6363
```xml
64-
<vars module="Js_Bundle">
65-
<var name="bundle_size">1MB</var>
66-
</vars>
6764
<exclude>
6865
<item type="file">Lib::jquery/jquery.min.js</item>
6966
<item type="file">Lib::jquery/jquery-ui-1.9.2.js</item>
@@ -124,6 +121,14 @@ The `bundle_size` variable controls the file size of the generated bundles.
124121
Specifying a large `bundle_size` reduces the number of bundles generated, but generates larger file sizes.
125122
Specifying a smaller `bundle_size` generates more bundles with a smaller file sizes.
126123

124+
Example:
125+
126+
```xml
127+
<vars module="Js_Bundle">
128+
<var name="bundle_size">1MB</var>
129+
</vars>
130+
```
131+
127132
The goal is to balance the number of bundles to download with the size of each bundle.
128133
As a rule of thumb, each bundle should be at least 100 kB.
129134

src/guides/v2.3/graphql/functional-testing.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Magento provides API functional tests that can verify extension points in GraphQ
99

1010
## Creating a new GraphQL functional test
1111

12-
All GraphQL functional tests should inherit from the generic test case `Magento\TestFramework\TestCase\GraphQlAbstract`. It defines the `graphQlQuery()` method, which should be used to perform Web API calls from tests.
12+
All GraphQL functional tests should be located in the `dev/tests/api-functional/testsuite/Magento/GraphQl/` directory and inherit from the generic test case `Magento\TestFramework\TestCase\GraphQlAbstract`. It defines the `graphQlQuery()` and `graphQlMutation()` methods, which should be used to perform Web API calls from tests.
1313

1414
The following test verifies that the schema returns the correct attribute type, given the `attribute_code` and corresponding `entity_type`.
1515

src/guides/v2.3/graphql/mutations/place-order.md

+15-1
Original file line numberDiff line numberDiff line change
@@ -73,5 +73,19 @@ Attribute | Data Type | Description
7373

7474
Attribute | Data Type | Description
7575
--- | --- | ---
76-
`order_id` | String | Deprecated. Use `order_number` instead
76+
`order_id` String | The unique ID that identifies the order
7777
`order_number` String | The unique ID that identifies the order
78+
79+
## Errors
80+
81+
Error | Description
82+
--- | ---
83+
`Enter a valid payment method and try again` | The payment method was not set. See [setPaymentMethodOnCart]({{ page.baseurl }}/graphql/mutations/set-payment-method.html) mutation.
84+
`Guest email for cart is missing.` | The guest attempted to place an order but did not provide an email address. See [setGuestEmailOnCart]({{ page.baseurl }}/graphql/mutations/set-guest-email.html) mutation.
85+
`Please check the billing address information` | The billing address was not set. See [setBillingAddressOnCart]({{ page.baseurl }}/graphql/mutations/set-billing-address.html) mutation.
86+
`Required parameter "cart_id" is missing` | The mutation does not contain a `cart_id` parameter.
87+
`Some addresses can't be used due to the configurations for specific countries` | The shipping method was not set. See [setShippingMethodsOnCart]({{ page.baseurl }}/graphql/mutations/set-shipping-method.html) mutation.
88+
`Some of the products are out of stock` | One of the products in the shopping cart are currently out of stock.
89+
`The current user cannot perform operations on cart` | An unauthorized user (guest) tried to place an order on behalf of an authorized user (customer), or a customer tried to place an order on behalf of another customer.
90+
`The shipping method is missing. Select the shipping method and try again` | The shipping method was not set. See [setShippingMethodsOnCart]({{ page.baseurl }}/graphql/mutations/set-shipping-method.html) mutation.
91+
`Unable to place order: A server error stopped your order from being placed. Please try to place your order again` | The shopper tried to place an order when no products are in the shopping cart.

src/guides/v2.3/graphql/mutations/remove-item.md

+14-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ mutation {
2424
cart_id: "IeTUiU0oCXjm0uRqGCOuhQ2AuQatogjG",
2525
cart_item_id: 14
2626
}
27-
){
27+
)
28+
{
2829
cart {
2930
items {
3031
id
@@ -37,9 +38,10 @@ mutation {
3738
grand_total{
3839
value
3940
currency
40-
}
41+
}
4142
}
4243
}
44+
}
4345
}
4446
```
4547

@@ -94,4 +96,14 @@ Attribute | Data Type | Description
9496

9597
{% include graphql/cart-object.md %}
9698

99+
## Errors
100+
101+
Error | Description
102+
--- | ---
103+
`Cart doesn't contain the ZZZ item.` | The item ID specified in the `cart_item_id` attribute does not exist in the requested shopping cart.
104+
`Could not find a cart with ID "XXX"` | The specified `cart_id` value does not exist in the `quote_id_mask` table.
105+
`Required parameter "cart_id" is missing.` | The value specified in the `cart_id` attribute is empty.
106+
`Required parameter "cart_item_id" is missing.` | The value specified in the `cart_item_id` attribute is equal to zero.
107+
`The current user cannot perform operations on cart "XXX"` | An unauthorized user (guest) tried to remove a product from the shopping cart of authorized user (customer), or a customer tried to remove a product from the shopping cart of another customer.
108+
97109
[Cart query output]({{page.baseurl}}/graphql/queries/cart.html#cart-output) provides more information about the `Cart` object.

src/guides/v2.3/graphql/queries/custom-attribute-metadata.md

+102-24
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,27 @@ The following query returns the attribute type for various custom and EAV attrib
1919

2020
```graphql
2121
{
22-
customAttributeMetadata(
23-
attributes: {
24-
attribute_code: "color"
25-
entity_type: "4"
26-
}
27-
) {
28-
items {
29-
attribute_code
30-
entity_type
31-
attribute_type
32-
attribute_options {
22+
customAttributeMetadata(
23+
attributes: [
24+
{
25+
attribute_code: "size"
26+
entity_type: "4"
27+
}
28+
{
29+
attribute_code: "color"
30+
entity_type: "4"
31+
}
32+
]
33+
) {
34+
items {
35+
attribute_code
36+
attribute_type
37+
attribute_options {
3338
value
3439
label
3540
}
36-
}
37-
}
41+
}
42+
}
3843
}
3944
```
4045

@@ -46,25 +51,98 @@ The following query returns the attribute type for various custom and EAV attrib
4651
"customAttributeMetadata": {
4752
"items": [
4853
{
49-
"attribute_code": "color",
50-
"entity_type": "4",
54+
"attribute_code": "size",
5155
"attribute_type": "Int",
5256
"attribute_options": [
5357
{
54-
"value": "49",
55-
"label": "Black"
58+
"value": "91",
59+
"label": "55 cm"
60+
},
61+
{
62+
"value": "169",
63+
"label": "XS"
64+
},
65+
{
66+
"value": "92",
67+
"label": "65 cm"
68+
},
69+
{
70+
"value": "170",
71+
"label": "S"
72+
},
73+
{
74+
"value": "93",
75+
"label": "75 cm"
76+
},
77+
{
78+
"value": "171",
79+
"label": "M"
80+
},
81+
{
82+
"value": "94",
83+
"label": "6 foot"
84+
},
85+
{
86+
"value": "172",
87+
"label": "L"
88+
},
89+
{
90+
"value": "95",
91+
"label": "8 foot"
92+
},
93+
{
94+
"value": "173",
95+
"label": "XL"
5696
},
5797
{
58-
"value": "214",
59-
"label": "blue"
98+
"value": "96",
99+
"label": "10 foot"
60100
},
61101
{
62-
"value": "215",
63-
"label": "green"
102+
"value": "174",
103+
"label": "28"
64104
},
65105
{
66-
"value": "213",
67-
"label": "red"
106+
"value": "175",
107+
"label": "29"
108+
},
109+
{
110+
"value": "176",
111+
"label": "30"
112+
},
113+
{
114+
"value": "177",
115+
"label": "31"
116+
},
117+
{
118+
"value": "178",
119+
"label": "32"
120+
},
121+
{
122+
"value": "179",
123+
"label": "33"
124+
},
125+
{
126+
"value": "180",
127+
"label": "34"
128+
},
129+
{
130+
"value": "181",
131+
"label": "36"
132+
},
133+
{
134+
"value": "182",
135+
"label": "38"
136+
}
137+
]
138+
},
139+
{
140+
"attribute_code": "color",
141+
"attribute_type": "String",
142+
"attribute_options": [
143+
{
144+
"value": "49",
145+
"label": "Black"
68146
},
69147
{
70148
"value": "50",
@@ -120,7 +198,7 @@ The following query returns the attribute type for various custom and EAV attrib
120198

121199
## Input attributes
122200

123-
The `customAttributeMetadata` query requires the following attributes as input.
201+
The `AttributeInput` input object requires the following attributes.
124202

125203
Attribute | Data Type | Description
126204
--- | --- | ---

src/guides/v2.3/install-gde/basics/basics_os-version.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ functional_areas:
99

1010
How can you tell what operating system and version your Magento server runs?
1111

12-
**Prerequisites:**: You must access the server using a command prompt (an application that enables you to enter commands directly).
12+
**Prerequisites**: You must access the server using a command prompt (an application that enables you to enter commands directly).
1313

1414
If you can log in directly to the machine, the application is usually called Terminal.
1515

src/guides/v2.3/javascript-dev-guide/javascript/js_init.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ In Magento 2, you have two options for specifying declarative notation:
2727

2828
> This is used to target a specific HTML element. It is easier to implement and is commonly used for jQuery UI widgets. This method can only be implemented on the specified HTML tag. For example, `<nav data-mage-init='{ "<component_name>": {...} }'></nav>`. This is preferred for its concise syntax, and direct access to the HTML element.
2929
30-
- Using the `<script type="text/x-magento-init" />` tag
30+
- Using the `<script type="text/x-magento-init"> ... </script>` tag
3131

3232
> This is used to target either a CSS selector or `*`. If the CSS selector matches multiple HTML elements, the script will run for each matched HTML element. For `*`, no HTML element is selected and the script will run once with the HTML DOM as its target. This method can be implemented from anywhere in the codebase to target any HTML element. This is preferred when direct access to the HTML element is restricted, or when there is no target HTML element.
3333
@@ -68,7 +68,7 @@ On DOM ready, the `data-mage-init` attribute is parsed to extract component name
6868

6969
- If none of the previous cases is true, the component is executed with no further processing. Such a component does not require either `config` or `element`. The recommended way to declare such components is [using the `<script>` tag](#init_script).
7070

71-
#### Declarative notation using the `<script type="text/x-magento-init" />` tag {#decl_tag}
71+
#### Declarative notation using the `<script type="text/x-magento-init">` tag {#decl_tag}
7272

7373
To call a JS component on an HTML element without direct access to the element or with no relation to a certain element, use the `<script type="text/x-magento-init">` tag and attribute syntax shown in the following example.
7474

src/guides/v2.3/mtf/features/reporting.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ An event preset specifies observers and dispatched events handled by them. `<mag
7070
</preset>
7171
```
7272

73-
**Example:**:
73+
**Example**:
7474

7575
```xml
7676
<preset name="custom">

0 commit comments

Comments
 (0)