diff --git a/docs/administration/configuration/configuration.md b/docs/administration/configuration/configuration.md index ec026396b8..eb26f7ec2a 100644 --- a/docs/administration/configuration/configuration.md +++ b/docs/administration/configuration/configuration.md @@ -33,7 +33,7 @@ These files contain additional settings and point to the general (not environmen !!! tip - Read more about [how configuration is handled in Symfony]([[= symfony_doc =]]/best_practices/configuration.html). + Read more about [how configuration is handled in Symfony]([[= symfony_doc =]]/best_practices.html#configuration). !!! caution "Special characters" diff --git a/docs/ai_actions/configure_ai_actions.md b/docs/ai_actions/configure_ai_actions.md index 13f57e7e32..44e405fa0f 100644 --- a/docs/ai_actions/configure_ai_actions.md +++ b/docs/ai_actions/configure_ai_actions.md @@ -102,7 +102,7 @@ php bin/console ibexa:connect:init-connect-ai 2 en connect-image-to-text connect !!! note "Support for multiple [[= product_name_connect =]] languages" - The [`language` attribute](https://developers.make.com/api-documentation/api-reference/templates#templates-1) determines the language in which template details such as module names will be displayed in [[= product_name_connect =]]'s UI. + The [`language` attribute](https://developers.make.com/api-documentation/api-reference/templates#post-templates) determines the language in which template details such as module names will be displayed in [[= product_name_connect =]]'s UI. Then, create the `Ibexa AI handler` custom property in [[= product_name_connect =]] to store the list of available action handlers for this integration. You can do it by running the following command: diff --git a/docs/content_management/content_api/managing_content.md b/docs/content_management/content_api/managing_content.md index 3c27ea9111..858c023f52 100644 --- a/docs/content_management/content_api/managing_content.md +++ b/docs/content_management/content_api/managing_content.md @@ -69,7 +69,7 @@ If you delete the [main location](#changing-the-main-location) of a content item [[= include_file('code_samples/api/public_php_api/src/Command/DeleteContentCommand.php', 49, 50) =]] ``` -To send the location and its subtree to Trash, use [`TrashService::trash`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-TrashService.html#). +To send the location and its subtree to Trash, use [`TrashService::trash`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-TrashService.html#method_trash). Items in Trash can be later [restored, or deleted permanently](#trash). ``` php diff --git a/docs/content_management/data_migration/add_data_migration_matcher.md b/docs/content_management/data_migration/add_data_migration_matcher.md index 7515fa3b56..cf684adb5a 100644 --- a/docs/content_management/data_migration/add_data_migration_matcher.md +++ b/docs/content_management/data_migration/add_data_migration_matcher.md @@ -16,7 +16,7 @@ Matchers are instances of `FilteringCriterion`, so a custom normalizer needs to !!! tip "Normalizers" - To learn more about normalizers, refer to [Symfony documentation]([[= symfony_doc =]]/components/serializer.html). + To learn more about normalizers, refer to [Symfony documentation]([[= symfony_doc =]]/serializer.html). Create the normalizer in `src/Migrations/Matcher/SectionIdentifierNormalizer.php`: diff --git a/docs/content_management/images/fastly_io.md b/docs/content_management/images/fastly_io.md index 83fdc31b79..eb49a19bc1 100644 --- a/docs/content_management/images/fastly_io.md +++ b/docs/content_management/images/fastly_io.md @@ -7,14 +7,14 @@ description: Configure Fastly Image Optimizer. The Fastly Image Optimizer (Fastly IO) is an external service that provides real-time image optimization for multiple input and output formats. It serves and caches image requests from your origin server, making your website faster and more efficient. -To be able to configure this feature, you need [Fastly IO subscription](https://docs.fastly.com/en/guides/about-fastly-image-optimizer). +To be able to configure this feature, you need [Fastly IO subscription](https://www.fastly.com/documentation/guides/full-site-delivery/about-fastly-image-optimizer/). ## Enable shielding To use Fastly Image Optimizer, you first need a [working setup of Ibexa DXP and Fastly](reverse_proxy.md#using-varnish-or-fastly) with shielding enabled. To enable shielding, follow the steps in [Fastly Developer Documentation](https://www.fastly.com/documentation/guides/concepts/shielding/#enabling-and-disabling-shielding). -Remember to choose a shield location from the **Shielding** menu, as described in [Fastly User Documentation](https://docs.fastly.com/en/guides/shielding#enabling-shielding). +Remember to choose a shield location from the **Shielding** menu, as described in [Fastly User Documentation](https://www.fastly.com/documentation/guides/getting-started/hosts/shielding#enabling-shielding). ## VCL configuration diff --git a/docs/content_management/url_management/url_management.md b/docs/content_management/url_management/url_management.md index a41052cfb8..04fc75bf44 100644 --- a/docs/content_management/url_management/url_management.md +++ b/docs/content_management/url_management/url_management.md @@ -181,7 +181,7 @@ ibexa: | `separator` | Decides what separator is used. There are three types of separator available: dash, underscore and space. | | `transformation_groups` | Contains the available patterns for URL generation. | -A transformation group consists of an array of commands (see [all available commands](https://github.com/ibexa/core/tree/main/tests/lib/Persistence/TransformationProcessor/_fixtures/transformations)) and a [`cleanupText`](https://github.com/ibexa/core/blob/main/src/lib/Persistence/Legacy/Content/UrlAlias/SlugConverter.php#L286). +A transformation group consists of an array of commands (see [all available commands](https://github.com/ibexa/core/tree/main/src/lib/Resources/slug_converter/transformations)) and a [`cleanupText`](https://github.com/ibexa/core/blob/main/src/lib/Persistence/Legacy/Content/UrlAlias/SlugConverter.php#L286). You can make use of pre-defined transformation groups. You can also add your own, with your own set of commands. diff --git a/docs/discounts/discounts_api.md b/docs/discounts/discounts_api.md index d03325ded2..8b67e326e5 100644 --- a/docs/discounts/discounts_api.md +++ b/docs/discounts/discounts_api.md @@ -50,7 +50,7 @@ With conditions you can narrow down the scenarios in which the discount applies. | Condition | Applies to | Identifier | Description | Expression values | |---|---|---|---|---| -| `Ibexa\Discounts\Value\DiscountCondition\IsInCategory` | Cart, Catalog | `is_in_category` | Checks if the product belongs to specified [product categories]([[= user_doc =]]/pim/work_with_product_categories) | `categories` | +| `Ibexa\Discounts\Value\DiscountCondition\IsInCategory` | Cart, Catalog | `is_in_category` | Checks if the product belongs to specified [product categories]([[= user_doc =]]/pim/work_with_product_categories/) | `categories` | | `Ibexa\Discounts\Value\DiscountCondition\IsInCurrency` | Cart, Catalog |`is_in_currency` | Checks if the product has price in the specified currency | `currency_code` | | `Ibexa\Discounts\Value\DiscountCondition\IsInRegions` | Cart, Catalog | `is_in_regions` | Checks if the customer is making the purchase in one of the specified regions | `regions` | | `Ibexa\Discounts\Value\DiscountCondition\IsProductInArray` | Cart, Catalog| `is_product_in_array` | Checks if the product belongs to the group of selected products | `product_codes` | diff --git a/docs/infrastructure_and_maintenance/cache/http_cache/fastly.md b/docs/infrastructure_and_maintenance/cache/http_cache/fastly.md index f076317787..bf29232dd6 100644 --- a/docs/infrastructure_and_maintenance/cache/http_cache/fastly.md +++ b/docs/infrastructure_and_maintenance/cache/http_cache/fastly.md @@ -116,7 +116,7 @@ fastly service-version activate --version=latest ## View and modify VCL configuration Fastly configuration is stored in Varnish Configuration Language (VCL) files. -You can change the behaviour of Fastly by [uploading custom VCL files](https://docs.fastly.com/en/guides/uploading-custom-vcl). +You can change the behaviour of Fastly by [uploading custom VCL files](https://www.fastly.com/documentation/guides/full-site-delivery/custom-vcl/uploading-custom-vcl). [[= product_name =]] ships with two VCL files that need to be enabled for Fastly to work correctly with the platform; `ibexa_main.vcl` and `ibexa_user_hash.vcl` (located in `vendor/ibexa/fastly/fastly/`) ### List custom `.vcl` files for specific version @@ -216,7 +216,7 @@ fastly service-version activate --version=latest ## Snippets You can also add VCL code to the Fastly configuration without modifying the custom `.vcl` files directly. -You do it by creating [snippets](https://docs.fastly.com/en/guides/about-vcl-snippets). +You do it by creating [snippets](https://www.fastly.com/documentation/guides/full-site-delivery/custom-vcl/about-vcl-snippets). it's recommended that you use snippets instead of changing the VCL files provided by [[= product_name =]] as much as possible, which makes it easier to upgrade the [[= product_name =]] VCL configuration later. When you use snippets, the snippet code is injected into the VCL where the `#FASTLY ...` macros are placed. @@ -339,7 +339,7 @@ To enable basic-auth, use [Fastly documentation](https://www.fastly.com/document Follow the steps below. -Usernames and passwords can be stored inside the VCL file, but in this case credentials are stored in a [dictionary](https://docs.fastly.com/en/guides/working-with-dictionaries#working-with-dictionaries-using-vcl-snippets). +Usernames and passwords can be stored inside the VCL file, but in this case credentials are stored in a [dictionary](https://www.fastly.com/documentation/guides/full-site-delivery/dictionaries/working-with-dictionaries#working-with-dictionaries-using-vcl-snippets). !!! note To make this example work, you must run [[= product_name =]] in version 3.3.16 or later, or 4.5. @@ -391,7 +391,7 @@ fastly dictionary-entry list --dictionary-id=ltC6Rg4pqw4qaNKF5tEW33 Now your dictionary stores new username and password. The next thing to do is to alter the Fastly VCL configuration and add the basic-auth support. -This example uses [snippets](https://docs.fastly.com/en/guides/about-vcl-snippets), so that no changes are needed in the `.vcl` files that are shipped with [[= product_name =]]. +This example uses [snippets](https://www.fastly.com/documentation/guides/full-site-delivery/custom-vcl/about-vcl-snippets), so that no changes are needed in the `.vcl` files that are shipped with [[= product_name =]]. You need two snippets, store these as files in your system: In `snippet_basic_auth_error.vcl`: diff --git a/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md b/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md index ef0f20c89d..88d1b47968 100644 --- a/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md +++ b/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md @@ -53,7 +53,7 @@ For reverse proxies to work properly with your installation, you need to add the - `ibexa_user_hash.vcl` as another custom VCL - `snippet_re_enable_shielding.vcl` as snippet -The provided `.vcl` files work both with [Fastly Shielding](https://docs.fastly.com/en/guides/shielding) enabled and without it. +The provided `.vcl` files work both with [Fastly Shielding](https://www.fastly.com/documentation/guides/getting-started/hosts/shielding) enabled and without it. If you decide to use Fastly VCL, consider using [Fastly CLI](https://www.fastly.com/documentation/reference/tools/cli/#installing) with it to manage VCL files from the command line. To learn more, see [Prepare to use Fastly locally](fastly.md#prepare-for-using-fastly-locally) and [Introduction to Fastly CLI](fastly.md#quick-introduction-to-fastly-cli). @@ -199,7 +199,7 @@ For more information about configuring Captcha fields, see [Captcha field](work_ ### Use Fastly as HttpCache proxy [Fastly](https://www.fastly.com/) delivers Varnish as a CDN service and is supported with [[= product_name =]]. -To learn how it works, see [Fastly documentation](https://docs.fastly.com/en/guides/using-fastlys-global-pop-network). +To learn how it works, see [Fastly documentation](https://www.fastly.com/documentation/guides/getting-started/concepts/using-fastlys-global-pop-network). #### Configure Fastly in YML @@ -244,7 +244,7 @@ To get the service ID, log in to https://www.fastly.com/. In the upper menu, click the **CONFIGURE** tab. The service ID is displayed next to the name of your service on any page. -For instructions on how to generate a Fastly API token, see [the Fastly guide](https://docs.fastly.com/en/guides/using-api-tokens). +For instructions on how to generate a Fastly API token, see [the Fastly guide](https://www.fastly.com/documentation/guides/account-info/account-management/using-api-tokens). The API token needs the `purge_all` an `purge_select` scopes. ### Configuration examples diff --git a/docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md b/docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md index c3f6f07315..db6a457e3e 100644 --- a/docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md +++ b/docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md @@ -56,11 +56,11 @@ For example, the `ddev exec curl -s "http://elasticsearch:9200/_count"` command For more information on topics such as memory management, see [ddev/ddev-elasticsearch README](https://github.com/ddev/ddev-elasticsearch). -See [Elasticsearch REST API reference](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html) for more request options, like, for example: +See [Elasticsearch REST API reference](https://www.elastic.co/docs/reference/elasticsearch/rest-apis) for more request options, like, for example: -- [`_count`](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-count.html), as seen above -- [`_cluster/health`](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html) (don't mind the "yellow" status which is normal in the absence of replicas in the DDEV container) -- [`_search?size=0"`](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html), which is another way to get document count +- [`_count`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-count), as seen above +- [`_cluster/health`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-health) (don't mind the "yellow" status which is normal in the absence of replicas in the DDEV container) +- [`_search?size=0"`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search), which is another way to get document count !!! tip diff --git a/docs/infrastructure_and_maintenance/request_lifecycle.md b/docs/infrastructure_and_maintenance/request_lifecycle.md index 2827421d00..f3edf5c40c 100644 --- a/docs/infrastructure_and_maintenance/request_lifecycle.md +++ b/docs/infrastructure_and_maintenance/request_lifecycle.md @@ -154,7 +154,7 @@ The `HttpKernel` then dispatches a `kernel.controller_arguments` (`KernelEvents: ## Controller execution The `HttpKernel` extracts from the request the controller and the arguments to pass to the controller. -[Argument resolvers]([[= symfony_doc =]]/controller/argument_value_resolver.html) work in a way similar to autowiring. +[Argument resolvers]([[= symfony_doc =]]/controller/value_resolver.html) work in a way similar to autowiring. The `HttpKernel` executes the controller with those arguments. As a reminder, the controller and its argument can be: diff --git a/docs/infrastructure_and_maintenance/security/development_security.md b/docs/infrastructure_and_maintenance/security/development_security.md index 4761569a9f..3654bddac0 100644 --- a/docs/infrastructure_and_maintenance/security/development_security.md +++ b/docs/infrastructure_and_maintenance/security/development_security.md @@ -102,7 +102,7 @@ See [Authenticating a user with multiple user provider](user_authentication.md#a ## JWT authentication -To use [JWT authentication](https://jwt.io/) with [[= product_name =]], in the provided `config/packages/lexik_jwt_authentication.yaml` file, modify the existing configuration by setting `authorization_header` to `enabled`: +To use [JWT authentication](https://www.jwt.io/) with [[= product_name =]], in the provided `config/packages/lexik_jwt_authentication.yaml` file, modify the existing configuration by setting `authorization_header` to `enabled`: ``` yaml hl_lines="8" lexik_jwt_authentication: diff --git a/docs/search/extensibility/create_custom_aggregation.md b/docs/search/extensibility/create_custom_aggregation.md index 17b0530485..44af319e63 100644 --- a/docs/search/extensibility/create_custom_aggregation.md +++ b/docs/search/extensibility/create_custom_aggregation.md @@ -211,7 +211,7 @@ Finally, register the aggregation visitor as a service. The `supports()` method checks whether the provided aggregation is of the supported type (in this case, your custom `PriorityRangeAggregation`). - The `extract()` method converts the [raw data provided by the search engine](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html) to a `RangeAggregationResult` object. + The `extract()` method converts the [raw data provided by the search engine](https://www.elastic.co/docs/explore-analyze/query-filter/aggregations) to a `RangeAggregationResult` object. Finally, register the result extractor as a service. diff --git a/docs/search/extensibility/customize_elasticsearch_index_structure.md b/docs/search/extensibility/customize_elasticsearch_index_structure.md index df85aa3c35..16714bac1c 100644 --- a/docs/search/extensibility/customize_elasticsearch_index_structure.md +++ b/docs/search/extensibility/customize_elasticsearch_index_structure.md @@ -6,7 +6,7 @@ description: You can adapt the structure of Elasticsearch index to the data in y You can customize the structure of your Elasticsearch search index to manage how documents in the index are grouped. -This lets you control the size of [Elasticsearch shards](https://www.elastic.co/guide/en/elasticsearch/reference/current/scalability.html) that the index is divided into. +This lets you control the size of [Elasticsearch shards](https://www.elastic.co/docs/deploy-manage/production-guidance/scaling-considerations) that the index is divided into. By customizing the structure to your needs, you can avoid "oversharding" (having too many shards), which negatively affects performance and can lead to instability. diff --git a/docs/tutorials/generic_field_type/8_data_migration.md b/docs/tutorials/generic_field_type/8_data_migration.md index 49dcba77b7..339ae692d1 100644 --- a/docs/tutorials/generic_field_type/8_data_migration.md +++ b/docs/tutorials/generic_field_type/8_data_migration.md @@ -9,7 +9,7 @@ This process is important when a field type needs to be compared for sorting and Serialization allows changing objects to array by normalizing them, and then to the selected format by encoding them. In reverse, deserialization changes different formats into arrays by decoding and then denormalizing them into objects. -For more information on Serializer Components, see [Symfony documentation]([[= symfony_doc =]]/components/serializer.html). +For more information on Serializer Components, see [Symfony documentation]([[= symfony_doc =]]/serializer.html). ## Normalization