Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
andriitserkovnyi committed Feb 15, 2025
1 parent 8457e0a commit 681a5a1
Show file tree
Hide file tree
Showing 27 changed files with 45 additions and 45 deletions.
2 changes: 1 addition & 1 deletion docs/dg/dev/acp/acp-security-assessment.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ Spryker will be provided with the following information for conducting a test:
Test results will be shared in a PDF, Word, or HTML format and will contain the following information:

- The type/classification of the vulnerability - (XSS, SQL Injection, CSRF, etc.) according to [OWASP](https://owasp.org/www-community/vulnerabilities/), [CWE](https://cwe.mitre.org/data/definitions/699.html), or [NIST NVD](https://nvd.nist.gov/vuln/).
- The location of the issue within the code or steps to reproduce the issue (e.g. example of a network request triggering the vulnerability).
- The location of the issue within the code or steps to reproduce the issue–for example, a network request triggering the vulnerability.
- Recommendation on how to fix or mitigate it.
As stated earlier, these results will not cover the entire code base.

Expand Down
6 changes: 3 additions & 3 deletions docs/dg/dev/architecture/architectural-convention.md
Original file line number Diff line number Diff line change
Expand Up @@ -849,7 +849,7 @@ No general conventions.
- Creating, updating, and deleting functions need to be separated by concern, even if they use overlapping internal methods.
- The `Entity manager` class needs to define and implement an interface that holds the specification of each `public` method.
- `Entity manager` methods need to receive only [Transfer Objects](#transfer-object) as input parameters.
- `Entity manager` methods need to return `void` or the saved object or objects as [Transfer Object(s)](#transfer-object).
- `Entity manager` methods need to return `void` or the saved object or objects as [Transfer Objects](#transfer-object).
-`Entitie manager` needs to use [Entities](#entity) and/or [Query Objects](#query-object) for database operations because raw SQL usage isn't feasible.

</details>
Expand Down Expand Up @@ -1364,7 +1364,7 @@ interface OmsConstants
```


### Navigation.XML
### Navigation.xml

```
[Organization]
Expand Down Expand Up @@ -2201,7 +2201,7 @@ No general conventions.
There are three modules involved:

1. **Plugin definer** (aka **extension module**): The module that defines and holds the `Plugin Interface` (example: `CompanyPostCreatePluginInterface` in `CompanyExtension` module).
2. **Plugin executor**: The module that uses the [Plugin(s)](#plugin) in its [Dependency Provider](#dependency-provider) thus provides extension point (example: `CompanyDependencyProvider::getCompanyPostCreatePlugins()` in `Company` module)
2. **Plugin executor**: The module that uses the [plugin or plugins](#plugin) in its [Dependency Provider](#dependency-provider) thus provides extension point (example: `CompanyDependencyProvider::getCompanyPostCreatePlugins()` in `Company` module)
3. **Plugin providers**: The modules that implement a [Plugin](#plugin) thus provide extension for the given extension point (example: `CompanyBusinessUnitCreatePlugin` in `CompanyBusinessUnit` module)

#### Conventions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -318,9 +318,9 @@ class PublisherDependencyProvider extends SprykerPublisherDependencyProvider

<details>
<summary>How high-performance domains you can create a separate queue for publish events issued by your new domain object</summary>
High-performance domains have special requirements to publishing performance. Such domains have high number of items (eg prices) or large size of a single object.
High-performance domains have special requirements to publishing performance. Such domains have high number of items, such as prices, or large size of a single object.
In this case it's better to separate their queue for faster, more predictable processing and easy debugging.

3.1 Create a publish queue in which, during the publishing process, an event or multiple events are posted.

```php
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ P&S plays a major role in data denormalization and distribution to Spryker store
Some of Spryker partners applied P&S features to distribute data over picking devices (barcode scanners) in a warehouse. The picking devices accessed the Spryker catalog as their local one, enabling them to properly function with low quality or missing network access.
In other cases, P&S enabled customer projects to keep their main backend systems with customer data in one region (eg Germany), while distributing local catalogs over the world. This enabled them on one hand to keep customer data under data privacy constraints, and on other hand their buyers in Brazil can browse their catalogs (as "local") with blazing fast response times.
In other cases, P&S enabled customer projects to keep their main backend systems with customer data in one region, such as Germany, while distributing local catalogs over the world. This enabled them on one hand to keep customer data under data privacy constraints, and on other hand their buyers in Brazil can browse their catalogs (as "local") with blazing fast response times.
P&S inspires intelligent solutions and smart architecture designs!
{% endinfo_block %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ To support best practices, any services shared between bundles and applications

### Service structure

When creating a new service, under a newly-created module, follow this file structure:
When creating a new service, under a newly created module, follow this file structure:

* `src/Spryker/Service/`: Root directory.
* `src/Spryker/Service/DemoService.php`: Main locatable service class. Should extend `Spryker/Service/Kernel/AbstractService`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ To implement a widget, follow these steps:

### 1. Place widget extensions

In the module you are planning to extend, find the extension point in the twig templates and place the necessary twig widget function(s). See the [How to implement a Widget](#how-to-implement-a-widget) section.
In the module you are planning to extend, find the extension point in the twig templates and place the necessary twig widget function or functions. See the [How to implement a Widget](#how-to-implement-a-widget) section.

**@MyPage/views/foo/foo-bar.twig**

Expand Down
2 changes: 1 addition & 1 deletion docs/dg/dev/backend-development/yves/modular-frontend.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ For more information on how to implement a Widget, see the [How to Implement a W
| `with TWIG_PARAMETERS` | Pass an associative array of variables for the scope of the rendered widget twig blocks. | This parameter is optional. |
| `{% raw %}{%{% endraw %} block WIDGET_BLOCK_N {% raw %}%}{% endraw %}{% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}` | Twig blocks to overwrite/customize blocks of the twig template to be rendered. `{% raw %}{{{% endraw %} parent() {% raw %}}}{% endraw %}` can be used to render the original content of a block. | This tag is optional. |
| `only` | Optional argument to reduce the context of the template to be rendered to only the provided `TWIG_PARAMETERS`. | By convention, in Spryker core we always provide this argument to prevent mixing template scopes. |
| `{% raw %}{%{% endraw %} elsewidget ... {% raw %}%}{% endraw %}` | Optional twig tag to render a widget when the previous widget(s) were not found. Has the same parameters as the base widget tag including `WIDGET_BLOCK_N`. | Listing multiple `elsewidget` tags will render the first widget that is found. |
| `{% raw %}{%{% endraw %} elsewidget ... {% raw %}%}{% endraw %}` | Optional twig tag to render a widget when the previous widgets were not found. Has the same parameters as the base widget tag including `WIDGET_BLOCK_N`. | Listing multiple `elsewidget` tags will render the first widget that is found. |
| `{% raw %}{%{% endraw %} nowidget {% raw %}%}{% endraw %} WIDGET_FALLBACK` | Optional twig tag to render any content `(WIDGET_FALLBACK)`, when no widget is found by the widget tag. | N/A |

### findWidget() twig function reference
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ $config->setDefaultSortField(SpySalesOrderTableMap::COL_CREATED_ATб \Spryker\Ze

### Configure search by columns

The default search option in Back Office data tables searches for anything that contains the specified substrings. This default search makes use of the SQL logical operator LIKE' in combination with LOWER' for comparison. It may result in performance issues on larger tables because of indexes not being used.
The default search option in Back Office data tables searches for anything that contains the specified substrings. This default search makes use of the SQL logical operator `LIKE` in combination with `LOWER` for comparison. It may result in performance issues on larger tables because of indexes not being used.

Search by columns can be used on all Back Office data tables which extend the `AbstractTable` class.

Expand Down
2 changes: 1 addition & 1 deletion docs/dg/dev/code-generator.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Then make sure you enable the console commands in your `getConsoleCommands()` me

## How to use it

You can now use the commands, to e.g. generate the application layers for `FooBar` module as follows:
You can now use the commands–for example, generate the application layers for `FooBar` module as follows:

```bash
console code:generate:module:all FooBar
Expand Down
4 changes: 2 additions & 2 deletions docs/dg/dev/data-import/202410.0/creating-data-importers.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ All `fk_*` fields are foreign keys to other database tables. We can not know the

{% endinfo_block %}

For the database field `fk_locale` we will use the name of the locale for which we need the id (e.g. de_DE). This value will then be used later to fetch the id for the given locale name.
For the database field `fk_locale`, we will use the name of the locale for which we need the id–for example, `de_DE`. This value will then be used later to fetch the id for the given locale name.
We will use the same technique for the `fk_product` and `fk_product_abstract` fields.

{% info_block infoBox "" %}
Expand Down Expand Up @@ -234,7 +234,7 @@ We have made sure that the data importer can be executed, but we only print a de

As mentioned in the [Prerequisites](#prerequisites), we can not use foreign keys in our import file - we need a logical identifier that can now be used to get the foreign key of a related entity.

There are several ways of how we can get the logical identifier. For example, we could add a new Step e.g. `LocaleNameToIdLocaleStep`. However, in our case, it's better to use a Repository, which provides us with a getter to retrieve the `id_locale` by its name. We will take this approach and do the following:
There are several ways of how we can get the logical identifier. One of them is to add a new step–for example, `LocaleNameToIdLocaleStep`. However, in our case, it's better to use a Repository, which provides us with a getter to retrieve the `id_locale` by its name. We will take this approach and do the following:

1. Add `LocaleRepository` to get the foreign key of a locale by its name:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Service configuration:
| event | An event type triggered by element. |
|debounce | Delays the emission of values of the next datasource; by default, delays by `300ms`. |
|minCharacters | Emits the trigger element value if the length is greater than or equal to the `minCharacters` property. The default value is `2`. |
| datasource | The next datasource that runs based on the depended element value (e.g. [http](/docs/dg/dev/frontend-development/{{page.version}}/marketplace/ui-components-library/datasources/datasource-http.html). |
| datasource | The next datasource that runs based on the depended element value–for example, [http](/docs/dg/dev/frontend-development/{{page.version}}/marketplace/ui-components-library/datasources/datasource-http.html). |

Usage example:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ related:
link: docs/pbc/all/payment-service-provider/page.version/base-shop/third-party-integrations/ratepay/integrate-payment-methods-for-ratepay/integrate-the-direct-debit-payment-method-for-ratepay.html
---

The shop must implement the Calculation Request operation to calculate an example installment plan and show it to the customer. Some input parameters for the calculation are passed from the shop (e.g. the shopping basket total), others are stored in the merchant's RatePAY profile held by the Gateway (e.g. the allowed interest rate range). The merchant's profile parameters can be retrieved by the Configuration Request operation.
The shop must implement the Calculation Request operation to calculate an example installment plan and show it to the customer. Some input parameters for the calculation are passed from the shop–for example, the shopping basket total. Others are stored in the merchant's RatePAY profile held by the Gateway–for example, the allowed interest rate range. The merchant's profile parameters can be retrieved by the Configuration Request operation.

## Workflow Scenarios

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ To integrate invoice payment, you need to: RatePAY invoice payment configuration

The configuration to integrate invoice payments using RatePAY is:

* `PROFILE_ID`: merchants login (required).
* `PROFILE_ID`: merchant's login (required).

* `SECURITY_CODE`: merchants password (required).
* `SECURITY_CODE`: merchant's password (required).

* `SHOP_ID`: shop identifier (required).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ The `MoneyFacade::formatWithSymbol()` method accepts only one argument — a Mon
{% info_block infoBox "Example" %}

* MoneyTransfer::$amount = 1000
* MoneyTransfer::$currency = EUR'
* MoneyTransfer::$currency = 'EUR'
* Current locale is de_DE
* The output would be 10,00 €
* If the current locale would be en_US, the output would be: €10.00 when passing the same object.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ The methods in `CurrencyFacade` always returns an instance of the `CurrencyTrans

The methods defined in the `CurrencyFacade` return an instance of the `CurrencyTransfer`, that contains:

* currency ISO code e.g. EUR
* currency name e.g. Euro
* currency symbol e.g.
* currency ISO code–for example, EUR
* currency name–for example, Euro
* currency symbol –for example,

In addition, `CurrencyTransfer` contains information that specifies if it's the default currency or not. `CurrencyTransfer::$isDefault` can be used to check if currency that was retrieved by `CurrencyFacade::fromIsoCode()` is the same as the one configured as default for the current store.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ For example, you want to set up a promotion for Valentine's Day beforehand so th
* Prices switch to the specified ones automatically on the starting date of the promotion.
* Prices switch back automatically on the last day of the promotion.

Instead of changing prices manually on the starting day of the promotion, you can create a price schedule called, e.g., *Valentine's day prices*. To do that, you need to import a file with predefined dates and prices.
Instead of changing prices manually on the starting day of the promotion, you can create a price schedule called–for example, *Valentine's day prices*. To do that, you need to import a file with predefined dates and prices.

## Prerequisites

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ The following diagram illustrates the dependencies between the modules for the *
| PriceProductOfferVolumeGui | Backoffice UI Interface for managing volume prices for product offers. |
| PriceProductOfferExtension | Provides plugin interfaces for extending `PriceProductOffer` module functionality. |
| PriceProductOfferStorageExtension | Provides plugin interfaces used by Price Product Offer Storage bundle. |
| PriceProductOfferVolumesRestApi | Provides plugin(s) to add product-offer-volume-prices to the product-offer-prices. |
| PriceProductOfferVolumesRestApi | Provides plugins to add `product-offer-volume-prices` to the `product-offer-prices`. |
| ProductOfferPricesRestApi | Provides Rest API endpoints to manage product offer prices. |
| ProductOfferPricesRestApiExtension | Provides plugin interfaces for extending the `ProductOfferPricesRestApi` module. |
| Price | Handles product pricing and provides plugins for products to populate prices. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Basically, when a packaging unit does not use the leading product, it means that

{% info_block infoBox "Info" %}

For example, if there is a leading product in the product abstract with three packagings, where one of the packages *has no lead product*, it means that the two other packages actually consume the same product when you buy them. But the 3rd packaging, which does not use the leading product, is completely independent of a stock perspective, it only depends on its own stock.
For example, if there is a leading product in the product abstract with three packagings, where one of the packages *has no lead product*, it means that the two other packages actually consume the same product when you buy them. But the third packaging, which does not use the leading product, is completely independent of a stock perspective, it only depends on its own stock.

{% endinfo_block %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ To learn how data import works and about different ways of importing data, see [

Within the [Categories](/docs/pbc/all/product-information-management/{{page.version}}/base-shop/import-and-export-data/categories-data-import/categories-data-import.html) section, you will find all information about the data imports required to set up categories that can be used in your online store as well as whether they are active, searchable in the menu, etc.

The [Products](/docs/pbc/all/product-information-management/{{page.version}}/base-shop/import-and-export-data/products-data-import/products-data-import.html) section will help you import all data defining the products' properties such as the abstract products, the concrete products, product images, and any type of related attributes which describe the products' properties (e.g., their specifications, colors, sizes, etc.).
The [Products](/docs/pbc/all/product-information-management/{{page.version}}/base-shop/import-and-export-data/products-data-import/products-data-import.html) section will help you import all data defining the products' properties such as the abstract products, the concrete products, product images, and any type of related attributes which describe the products' properties, such as their specifications, colors, or sizes.

In the [Pricing](/docs/pbc/all/price-management/{{site.version}}/base-shop/import-and-export-data/import-and-export-price-management-data.html) section, you will be able to import the data necessary to set up prices for all the products you would like to sell in your online store, including advanced pricing such as scheduled prices (e.g., for special sales campaigns like Black Friday).
In the [Pricing](/docs/pbc/all/price-management/{{site.version}}/base-shop/import-and-export-data/import-and-export-price-management-data.html) section, you will be able to import the data necessary to set up prices for all the products you would like to sell in your online store, including advanced pricing such as scheduled prices–for example, for special sales campaigns like Black Friday.

In the [Stocks](/docs/pbc/all/warehouse-management-system/{{page.version}}/base-shop/import-and-export-data/import-file-details-product-stock.csv.html) section, we describe the data import containing the number of product units stored in your warehouses as well as any type of products and services which are never out of stock (e.g., software downloads).
In the [Stocks](/docs/pbc/all/warehouse-management-system/{{page.version}}/base-shop/import-and-export-data/import-file-details-product-stock.csv.html) section, we describe the data import containing the number of product units stored in your warehouses as well as any type of products and services which are never out of stock–for example, software downloads.


{% info_block warningBox "Import order" %}
Expand Down
Loading

0 comments on commit 681a5a1

Please sign in to comment.