diff --git a/docs/administration/admin_panel/corporate_admin_panel.md b/docs/administration/admin_panel/corporate_admin_panel.md index 702a3ed0c7..43810c4808 100644 --- a/docs/administration/admin_panel/corporate_admin_panel.md +++ b/docs/administration/admin_panel/corporate_admin_panel.md @@ -10,4 +10,4 @@ There, in the **Corporate** section, you can find basic information about existi ![Corporate section](admin_panel_corporate.png "Corporate section") -For more information, see [Customer management](https://doc.ibexa.co/projects/userguide/en/latest/customer_management/manage_customers/). \ No newline at end of file +For more information, see [Customer management]([[= user_doc =]]/customer_management/manage_customers/). diff --git a/docs/administration/back_office/content_tab_switcher.md b/docs/administration/back_office/content_tab_switcher.md index f163d245e1..009d1aff60 100644 --- a/docs/administration/back_office/content_tab_switcher.md +++ b/docs/administration/back_office/content_tab_switcher.md @@ -11,7 +11,7 @@ The following example shows how to add a Meta tab with automatically assigned Ta ## Add Meta tab -Before you start adding the Meta tab, make sure the content type you want to edit has [Taxonomy Entry Assignment field type]([[= user_doc =]]/taxonomy/#assign-tag-to-content-from-taxonomy-tree). +Before you start adding the Meta tab, make sure the content type you want to edit has [Taxonomy Entry Assignment field type]([[= user_doc =]]/content_management/taxonomy/work_with_tags/#assign-tag-to-content-from-taxonomy-tree). Next, provide the semantic configuration under the `ibexa.system..admin_ui_forms` [configuration key](configuration.md#configuration-files): diff --git a/docs/administration/back_office/customize_search_suggestion.md b/docs/administration/back_office/customize_search_suggestion.md index 79061413aa..e2f019426b 100644 --- a/docs/administration/back_office/customize_search_suggestion.md +++ b/docs/administration/back_office/customize_search_suggestion.md @@ -5,7 +5,7 @@ description: Customize search suggestion configuration and sources. # Customize search suggestion In the back office, when you start typing in the search field on the top bar, suggestions about what you could be looking for show up directly under the field. -For more information about using this feature to search for content, see [User Documentation]([[= user_doc =]]/search/search_for_content). +For more information about using this feature to search for content, see [User Documentation]([[= user_doc =]]/search/search_for_content/). ## Configuration diff --git a/docs/administration/content_organization/content_types.md b/docs/administration/content_organization/content_types.md index 708507f67a..3ce24a50b5 100644 --- a/docs/administration/content_organization/content_types.md +++ b/docs/administration/content_organization/content_types.md @@ -17,7 +17,7 @@ Content types are organized into groups. You can add your own groups here to keep your content types in better order. -For a full tutorial, see [Add a content type](first_steps.md#add-a-content-type) or follow [User Documentation](https://doc.ibexa.co/projects/userguide/en/latest/content_management/create_edit_content_types/). +For a full tutorial, see [Add a content type](first_steps.md#add-a-content-type) or follow [User Documentation]([[= user_doc =]]/content_management/create_edit_content_types/). For a detailed overview of the content model, see [Content model overview](content_model.md). ## Content type metadata diff --git a/docs/administration/dashboard/customize_dashboard.md b/docs/administration/dashboard/customize_dashboard.md index a68da7b749..fcd7e7153b 100644 --- a/docs/administration/dashboard/customize_dashboard.md +++ b/docs/administration/dashboard/customize_dashboard.md @@ -10,7 +10,7 @@ Customized dashboard displays a set of widgets selected by the user. !!! tip - For detailed instruction on how to customize dashboards with the Dashboard Builder, see [User Documentation](https://doc.ibexa.co/projects/userguide/en/latest/getting_started/dashboard/work_with_dashboard/#customize-dashboard). + For detailed instruction on how to customize dashboards with the Dashboard Builder, see [User Documentation]([[= user_doc =]]/getting_started/dashboard/work_with_dashboard/#customize-dashboard). ## Manage permissions @@ -32,8 +32,8 @@ For more information, see [Customize storefront layout](customize_storefront_lay Dashboard Builder provides set of ready-to-use blocks, for example, Common content, Quick actions, or [[= product_name =]] News. -For more information about available blocks, see [User Documentation](https://doc.ibexa.co/projects/userguide/en/latest/getting_started/dashboard/dashboard_block_reference/). +For more information about available blocks, see [User Documentation]([[= user_doc =]]/getting_started/dashboard/dashboard_block_reference/). In addition to existing blocks available in Dashboard Builder, you can also create custom blocks. -To do it, follow the instruction on how to [create custom page block](create_custom_page_block.md). \ No newline at end of file +To do it, follow the instruction on how to [create custom page block](create_custom_page_block.md). diff --git a/docs/administration/recent_activity/recent_activity.md b/docs/administration/recent_activity/recent_activity.md index 9ff3497970..02e3dcd0e5 100644 --- a/docs/administration/recent_activity/recent_activity.md +++ b/docs/administration/recent_activity/recent_activity.md @@ -46,7 +46,7 @@ The [`activity_log/read`](policies.md#activity-log) policy gives a role the acce It can be limited to "Only own logs" ([`ActivityLogOwner`](limitation_reference.md#activitylogowner-limitation)). The policy should be given to every roles having access to the back office, at least with the `ActivityLogOwner` owner limitation, to allow them to use the "Recent activity" block in the [default dashboard](configure_default_dashboard.md) or their [custom dashboard](customize_dashboard.md). -This policy is required to view [activity log in user profile]([[= user_doc =]]/recent_activity/recent_activity/#user-profile), if [profile]([[= user_doc =]]/getting_started/get_started/#edit-user-profile) is enabled. +This policy is required to view [activity log in user profile]([[= user_doc =]]/getting_started/get_started/#view-and-edit-user-profile), if [profile is enabled](update_from_4.5.md#user-profile). !!! caution diff --git a/docs/ai_actions/install_ai_actions.md b/docs/ai_actions/install_ai_actions.md index b7e4fba112..ba74776149 100644 --- a/docs/ai_actions/install_ai_actions.md +++ b/docs/ai_actions/install_ai_actions.md @@ -68,7 +68,7 @@ Run the following command, where `` is the same name that you def This command modifies the existing database schema by adding database configuration required for using AI Actions. -You can now restart you application and start [working with the AI Actions feature]([[= user_doc =]]/ai_actions/work_with_ai_actions//). +You can now restart you application and start [working with the AI Actions feature]([[= user_doc =]]/ai_actions/work_with_ai_actions/). ### Install sample AI action configurations (optional) diff --git a/docs/cdp/cdp_guide.md b/docs/cdp/cdp_guide.md index 97c30501e9..a0b564993e 100644 --- a/docs/cdp/cdp_guide.md +++ b/docs/cdp/cdp_guide.md @@ -53,7 +53,7 @@ To create a personalized customer experience, you need to group your clients int [[= product_name =]] comes with a ready solution - segment groups. Segment group information is reused by various [[= product_name =]] functionalities, such as [Personalization](personalization_guide.md) or content targeting. -You can [create a segment group](https://doc.ibexa.co/projects/userguide/en/latest/personalization/segment_management/) in the back office of [[= product_name =]]. +You can [create a segment group]([[= user_doc =]]/personalization/segment_management/) in the back office of [[= product_name =]]. It serves as a container for all segments data generated by [[= product_name_cdp =]]. When you create a segment group, you need to provide its name and identifier. Be careful while doing so, as after you create the segment group in the back office and connect it to [[= product_name_cdp =]], you cannot change it in any way, including edit its name. @@ -133,4 +133,4 @@ Customize data to control what field type information you want to export. ### Real-time action Deliver relevant interactions in the right place at the right time for optimal results thanks to dynamic, real-time data updates. -Take advantage of event-triggered communications which are aligned with your customers immediate interests. \ No newline at end of file +Take advantage of event-triggered communications which are aligned with your customers immediate interests. diff --git a/docs/commerce/payment/configure_payment.md b/docs/commerce/payment/configure_payment.md index 8cdca2e74f..5406210d08 100644 --- a/docs/commerce/payment/configure_payment.md +++ b/docs/commerce/payment/configure_payment.md @@ -50,5 +50,5 @@ so that the system can identify which of your workflows handles the payment proc ## Configure payment methods -You can define payment methods [in the UI]([[= user_doc =]]/commerce/payment/configure_payment_method/). +You can define payment methods [in the UI]([[= user_doc =]]/commerce/payment/work_with_payment_methods/). There is only one default payment method type available: `offline`, but you can configure more by [integrating with Payum](payum_integration.md), or [add custom ones](extend_payment.md). diff --git a/docs/commerce/shipping_management/configure_shipment.md b/docs/commerce/shipping_management/configure_shipment.md index 14b9f71dd6..83a1fccd1d 100644 --- a/docs/commerce/shipping_management/configure_shipment.md +++ b/docs/commerce/shipping_management/configure_shipment.md @@ -43,5 +43,5 @@ Reference it with `ibexa.repositories..shipment.workflow: your_ ## Configure shipping methods -You can define the shipping methods [in the UI]([[= user_doc =]]/commerce/shipping/configure_shipping_method/). +You can define the shipping methods [in the UI]([[= user_doc =]]/commerce/shipping_management/work_with_shipping_methods/). The following shipping method types are available by default: `flat rate` and `free`. diff --git a/docs/commerce/storefront/configure_storefront.md b/docs/commerce/storefront/configure_storefront.md index e291ad6ea8..bdc96c02c8 100644 --- a/docs/commerce/storefront/configure_storefront.md +++ b/docs/commerce/storefront/configure_storefront.md @@ -10,7 +10,7 @@ The Storefront is accessible under the `/product-catalog`. With the `ibexa/storefront` package, you can configure the product catalog and make it available to your shop users. -Before you start configuring the Storefront, make sure you have created, configured, and published [catalogs](https://doc.ibexa.co/projects/userguide/en/latest/pim/work_with_catalogs/#create-catalogs) in the back office. +Before you start configuring the Storefront, make sure you have created, configured, and published [catalogs]([[= user_doc =]]/pim/work_with_catalogs/#create-catalogs) in the back office. The configuration is available under the `ibexa.system..storefront.catalog` [configuration key](configuration.md#configuration-files). It accepts the following values: diff --git a/docs/content_management/content_model.md b/docs/content_management/content_model.md index 5eb8ec661c..92be25fdaa 100644 --- a/docs/content_management/content_model.md +++ b/docs/content_management/content_model.md @@ -12,7 +12,7 @@ Each content item is an instance of a content type. !!! tip - An introduction to the content model for non-developer users is available in User Documentation](https://doc.ibexa.co/projects/userguide/en/latest/content_management/content_model/). + An introduction to the content model for non-developer users is available in User Documentation]([[= user_doc =]]/content_management/content_model/). ## Content items diff --git a/docs/content_management/field_types/type_and_value.md b/docs/content_management/field_types/type_and_value.md index 9b71d0dd08..340b3f6870 100644 --- a/docs/content_management/field_types/type_and_value.md +++ b/docs/content_management/field_types/type_and_value.md @@ -135,8 +135,8 @@ services: #### `parent` -As described in the [Symfony service container documentation]([[= symfony_doc =]]/components/dependency_injection/parentservices.html), the `parent` config key indicates that you want your service to inherit from the parent's dependencies, including constructor arguments and method calls. -This helps avoiding repetition in your field type configuration and keeps consistency between all field types. +As described in the [Symfony service container documentation]([[= symfony_doc =]]/service_container/parent_services.html), the `parent` config key indicates that you want your service to inherit from the parent's dependencies, including constructor arguments and method calls. +This helps to avoid repetition in your field type configuration and keeps consistency between all field types. If you need to inject other services into your Type class, skip using the `parent` config key. #### `tags` diff --git a/docs/content_management/images/configure_image_editor.md b/docs/content_management/images/configure_image_editor.md index a7386fbd7c..10f362c1f3 100644 --- a/docs/content_management/images/configure_image_editor.md +++ b/docs/content_management/images/configure_image_editor.md @@ -6,7 +6,7 @@ description: Configure image editor to crop, flip, and modify images. When a content item contains fields of the [ezimage](imageassetfield.md) type, users can perform basic image editing functions with the Image Editor. -For more information, see [User Documentation]([[= user_doc =]]/editing_images/). +For more information, see [User Documentation]([[= user_doc =]]/image_management/edit_images/). !!! note @@ -47,7 +47,7 @@ The default quality is 0.92: ### Additional information Each image can be accompanied by additional information that isn't visible to the user. -By default, additional information stores the coordinates of the [focal point]([[= user_doc =]]/editing_images/#focal-point), but you can use this extension point to pass various parameters of custom features that you add by extending the Image Editor. +By default, additional information stores the coordinates of the [focal point]([[= user_doc =]]/image_management/edit_images/#focal-point), but you can use this extension point to pass various parameters of custom features that you add by extending the Image Editor. To modify the value of additional information programmatically, you can set a value of the `Image` field by using the PHP API, for example: diff --git a/docs/content_management/locations.md b/docs/content_management/locations.md index 6b598b7bc2..ae0af2f856 100644 --- a/docs/content_management/locations.md +++ b/docs/content_management/locations.md @@ -75,7 +75,7 @@ It contains user group content items. ### Forms [[% include 'snippets/experience_badge.md' %]] [[% include 'snippets/commerce_badge.md' %]] -**Forms** is the top level location that is intended for Forms created using the [Form Builder](https://doc.ibexa.co/projects/userguide/en/latest/content_management/work_with_forms/#create-forms). +**Forms** is the top level location that is intended for Forms created using the [Form Builder]([[= user_doc =]]/content_management/work_with_forms/#create-forms). ![Forms](content_management_forms.png "Forms") diff --git a/docs/content_management/pages/page_builder_guide.md b/docs/content_management/pages/page_builder_guide.md index cdce6f4318..838c1de2c8 100644 --- a/docs/content_management/pages/page_builder_guide.md +++ b/docs/content_management/pages/page_builder_guide.md @@ -168,7 +168,7 @@ While configuring blocks that include Rich Text section, for example, Text block ![Distraction free mode](distraction_free_mode.png) -For more information, see [Distraction free mode]([[= user_doc =]]/content_management/create_edit_content_items/#distraction-free-mode/). +For more information, see [Distraction free mode]([[= user_doc =]]/content_management/create_edit_content_items/#distraction-free-mode). #### Schedule content @@ -226,4 +226,4 @@ B. **PIM** blocks: C. **Commerce** blocks: - Bestsellers - displays a list of products from PIM that were recently a bestseller. -- Orders - displays a list of orders associated with a particular company or individual customer. \ No newline at end of file +- Orders - displays a list of orders associated with a particular company or individual customer. diff --git a/docs/content_management/rich_text/extend_online_editor.md b/docs/content_management/rich_text/extend_online_editor.md index c96e4eb409..bd0002a1dd 100644 --- a/docs/content_management/rich_text/extend_online_editor.md +++ b/docs/content_management/rich_text/extend_online_editor.md @@ -445,7 +445,7 @@ ibexa: Build the assets and clear the cache by running `composer run-script auto-scripts`. -For more information, see [CKEditor plugins documentation](https://ckeditor.com/docs/ckeditor5/latest/installation/plugins/plugins.html). +For more information, see [CKEditor plugins documentation](https://ckeditor.com/docs/ckeditor5/latest/framework/architecture/plugins.html). ## Change CKEditor configuration diff --git a/docs/content_management/rich_text/online_editor_guide.md b/docs/content_management/rich_text/online_editor_guide.md index da8b33bcf1..bb047d8caf 100644 --- a/docs/content_management/rich_text/online_editor_guide.md +++ b/docs/content_management/rich_text/online_editor_guide.md @@ -39,7 +39,7 @@ While editing Rich Text fields, you can switch to distraction free mode that exp ![Distraction free mode](distraction_free_mode.png) -For more information, see [Distraction free mode]([[= user_doc =]]/content_management/create_edit_content_items/#distraction-free-mode/). +For more information, see [Distraction free mode]([[= user_doc =]]/content_management/create_edit_content_items/#distraction-free-mode). ### Custom tags @@ -116,4 +116,4 @@ Refer to [Extend Online Editor](extend_online_editor.md#link-tag) for a similar Custom tags allow embedding content from external resources inside RichText fields. The built-in elements offer embedding of Twitter or Facebook posts, but you can extend the capability by embedding other resources. -These can be, for example, 3D product, or real estate viewers. \ No newline at end of file +These can be, for example, 3D product, or real estate viewers. diff --git a/docs/content_management/taxonomy/taxonomy.md b/docs/content_management/taxonomy/taxonomy.md index 1f97a36ac0..2f2fed4f58 100644 --- a/docs/content_management/taxonomy/taxonomy.md +++ b/docs/content_management/taxonomy/taxonomy.md @@ -78,7 +78,7 @@ You can hide this menu item by setting a value of the `register_main_menu` confi [[= include_file('code_samples/taxonomy/config/packages/ibexa_taxonomy.yaml', 17, 18) =]] ``` -For more information about available functionalities of tags, see [User Documentation]([[= user_doc =]]/taxonomy). +For more information about available functionalities of tags, see [User Documentation]([[= user_doc =]]/content_management/taxonomy/taxonomy/). ## Hide delete button on large subtree diff --git a/docs/customer_management/cp_applications.md b/docs/customer_management/cp_applications.md index 8c88e1ad4a..77865f8689 100644 --- a/docs/customer_management/cp_applications.md +++ b/docs/customer_management/cp_applications.md @@ -9,7 +9,7 @@ New business customers can apply for a company account. Applications go through the approval process in the back office where they can be accepted, rejected or put on hold. If they're accepted, the business partner receives an invitation link to the Customer Portal, where they can set up their team and manage their account. -For more information on company self-registration, see [user guide documentation](https://doc.ibexa.co/projects/userguide/en/latest/customer_management/company_self_registration/). +For more information on company self-registration, see [user guide documentation]([[= user_doc =]]/customer_management/company_self_registration/). If provided options are too limited, you can customize an approval process by yourself. ## Roles and policies @@ -113,4 +113,3 @@ The subscriber only informs that the status has been changed (line 72). Now, if you click the **Verify** button during application review, the application gets **Verify** status. ![Verify status](img/cp_verify_status.png) - diff --git a/docs/getting_started/install_ibexa_dxp.md b/docs/getting_started/install_ibexa_dxp.md index 32d61f9e44..b4d33b9805 100644 --- a/docs/getting_started/install_ibexa_dxp.md +++ b/docs/getting_started/install_ibexa_dxp.md @@ -210,7 +210,7 @@ or Choose a [secret]([[= symfony_doc =]]/reference/configuration/framework.html#secret) and provide it in the `APP_SECRET` parameter in `.env`. It should be a random string, made up of at least 32 characters, numbers, and symbols. -It's used by Symfony when generating [CSRF tokens]([[= symfony_doc =]]/security/csrf.html), [encrypting cookies]([[= symfony_doc =]]/cookbook/security/remember_me.html), and for creating signed URIs when using [ESI (Edge Side Includes)]([[= symfony_doc =]]/http_cache/esi.html). +It's used by Symfony when generating [CSRF tokens]([[= symfony_doc =]]/security/csrf.html), [encrypting cookies]([[= symfony_doc =]]/security/remember_me.html), and for creating signed URIs when using [ESI (Edge Side Includes)]([[= symfony_doc =]]/http_cache/esi.html). !!! caution diff --git a/docs/getting_started/requirements.md b/docs/getting_started/requirements.md index fe0bb9f76f..d523c197b0 100644 --- a/docs/getting_started/requirements.md +++ b/docs/getting_started/requirements.md @@ -219,7 +219,7 @@ Recommendation for production setups is to use Varnish/Fastly, Redis/Memcached, - Linux NFS or S3/EFS (for IO, aka binary files stored in content repository, not supported with legacy) - Redis 4.0+, 5.0 or higher (separate instances for session and cache, both using a `volatile-*` [eviction policy](https://redis.io/docs/latest/develop/reference/eviction/), session instance configured for persistence) or [Memcached](https://memcached.org/) 1.5 or higher - - [Varnish](http://varnish-cache.org/) 6.0LTS with [varnish-modules](https://github.com/varnish/varnish-modules/blob/master/README.md) or [Fastly](https://www.fastly.com/) using [the provided bundle](https://doc.ibexa.co/en/3.3/guide/cache/http_cache/#serving-varnish-through-fastly) (for HTTP Cache) + - [Varnish](http://varnish-cache.org/) 6.0LTS with [varnish-modules](https://github.com/varnish/varnish-modules/blob/master/README.md) or [Fastly](https://www.fastly.com/) using [the provided bundle](https://doc.ibexa.co/en/3.3/guide/cache/http_cache/) (for HTTP Cache) If you see a "+" next to the product version, it indicates a recommended version or higher within the same major release. For example, "1.18+" means any 1.x version equal to or higher than 1.18, but not 2.x. @@ -345,7 +345,7 @@ Recommendation for production setups is to use Varnish/Fastly, Redis/Memcached, - Platform.sh provides Redis support for versions 3.2, 4.0 and 5.0. [[= product_name =]] supports Redis version 4.0 or higher, and recommends 5.0. As a result, Redis is supported on [[= product_name_cloud =]] in versions 4.0 and 5.0, but 5.0 is recommended. - Features or services supported by [[= product_name =]] but not covered by Platform.sh may be possible by means of a [custom integration](#custom-integrations). + Features or services supported by [[= product_name =]] but not covered by Platform.sh may be possible by means of a [custom integration](#custom-integrations_1). ### [[= product_name_cloud =]] Setup support matrix diff --git a/docs/infrastructure_and_maintenance/clustering/clustering_with_aws_s3.md b/docs/infrastructure_and_maintenance/clustering/clustering_with_aws_s3.md index ba78c00cf7..5d1028363e 100644 --- a/docs/infrastructure_and_maintenance/clustering/clustering_with_aws_s3.md +++ b/docs/infrastructure_and_maintenance/clustering/clustering_with_aws_s3.md @@ -13,13 +13,13 @@ When setting up clustering, you can use Amazon AWS S3 as a binary handler, meani ## Set up AWS S3 account 1. Go to  and create an account. -An [existing Amazon account can be used](https://docs.aws.amazon.com/AmazonS3/latest/userguide/setting-up-s3.html#sign-up-for-aws). +An [existing Amazon account can be used](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html#sign-up-for-aws). 1. [Choose a region](https://docs.aws.amazon.com/storagegateway/latest/vgw/available-regions-intro.html). The example below uses EU (Ireland): `eu-west-1` 1. Create a bucket in your chosen region and make note of the bucket name: -. +. 1. Go to the [IAM Management Console](https://console.aws.amazon.com/iam/home#/users) and create a user. -See . +See . 1. Then create a group and assign the user to the group. 1. Assign policies to the group. The `AmazonS3FullAccess` policy gives read/write access to your bucket. 1. Still in the IAM console, view the user you created. Click the **Security credentials** tab. @@ -93,4 +93,4 @@ Clear all caches and reload, and that's it. ## Migrate your existing binary data to S3 -You can [migrate existing binary data](clustering.md#migrating-to-a-cluster-setup) to S3 with the `php bin/console ibexa:io:migrate-files` command that was added in [EZP-25946](https://issues.ibexa.co/browse/EZP-25946). \ No newline at end of file +You can [migrate existing binary data](clustering.md#migrating-to-a-cluster-setup) to S3 with the `php bin/console ibexa:io:migrate-files` command that was added in [EZP-25946](https://issues.ibexa.co/browse/EZP-25946). diff --git a/docs/infrastructure_and_maintenance/security/development_security.md b/docs/infrastructure_and_maintenance/security/development_security.md index 298aa5e465..4761569a9f 100644 --- a/docs/infrastructure_and_maintenance/security/development_security.md +++ b/docs/infrastructure_and_maintenance/security/development_security.md @@ -45,19 +45,19 @@ logout: You can fully customize the routes and/or the controller used for login. However, remember to match `login_path`, `check_path` and `logout.path` from `security.yaml`. - See [security configuration reference]([[= symfony_doc =]]/reference/configuration/security.html) and [standard login form documentation]([[= symfony_doc =]]/security/form_login_setup.html). + See [security configuration reference]([[= symfony_doc =]]/reference/configuration/security.html) and [standard login form documentation]([[= symfony_doc =]]/security.html#form-login). ### Authentication using Symfony Security component Authentication is provided by the Symfony Security component. -[Native and universal `form_login`]([[= symfony_doc =]]/security/form_login_setup.html) is used, in conjunction with an extended `DaoAuthenticationProvider` (DAO stands for *Data Access Object*), the `RepositoryAuthenticationProvider`. +[Native and universal `form_login`]([[= symfony_doc =]]/security.html#form-login) is used, in conjunction with an extended `DaoAuthenticationProvider` (DAO stands for *Data Access Object*), the `RepositoryAuthenticationProvider`. Native behavior of `DaoAuthenticationProvider` has been preserved, making it possible to still use it for pure Symfony applications. #### Security controller A `SecurityController` is used to manage all security-related actions and is thus used to display the login form. -It follows all standards explained in [Symfony security documentation]([[= symfony_doc =]]/security/form_login_setup.html). +It follows all standards explained in [Symfony security documentation]([[= symfony_doc =]]/security.html#form-login). The base template used is [`Security/login.html.twig`](https://github.com/ibexa/core/blob/main/src/bundle/Core/Resources/views/Security/login.html.twig). @@ -95,7 +95,7 @@ If you want to use this feature, you must at least extend the login template to #### Login handlers / SSO -Symfony provides native support for [multiple user providers]([[= symfony_doc =]]/security/multiple_user_providers.html). +Symfony provides native support for [multiple user providers]([[= symfony_doc =]]/security/user_providers.html). This makes it easy to integrate any kind of login handlers, including SSO and existing third-party bundles (for example, [FR3DLdapBundle](https://github.com/Maks3w/FR3DLdapBundle), [HWIOauthBundle](https://github.com/hwi/HWIOAuthBundle), [FOSUserBundle](https://github.com/FriendsOfSymfony/FOSUserBundle), [BeSimpleSsoAuthBundle](https://github.com/BeSimple/BeSimpleSsoAuthBundle), and more). See [Authenticating a user with multiple user provider](user_authentication.md#authenticate-user-with-multiple-user-providers) for more information. diff --git a/docs/infrastructure_and_maintenance/sessions.md b/docs/infrastructure_and_maintenance/sessions.md index 0b64535ed9..9aae0b923d 100644 --- a/docs/infrastructure_and_maintenance/sessions.md +++ b/docs/infrastructure_and_maintenance/sessions.md @@ -130,7 +130,7 @@ If you want to make sure sessions survive Redis or server restarts, consider usi For setups where database is preferred for storing sessions, you may use Symfony's PdoSessionHandler, although it's not currently recommended from performance perspective. -Below is a configuration example for [[= product_name =]]. Refer to the [Symfony Cookbook]([[= symfony_doc =]]/doctrine/pdo_session_storage.html) for full documentation. +Below is a configuration example for [[= product_name =]]. Refer to the [Symfony Cookbook]([[= symfony_doc =]]/session.html#session-database-pdo) for full documentation. ``` yaml framework: diff --git a/docs/multisite/languages/languages.md b/docs/multisite/languages/languages.md index c6f53cb3d5..5ebc37ba65 100644 --- a/docs/multisite/languages/languages.md +++ b/docs/multisite/languages/languages.md @@ -22,7 +22,7 @@ However, even if work on a draft takes time and other translations are updated i ### Adding available languages The multilanguage system operates based on a global translation list that contains all languages available in the installation. -Languages can be [added to this list from the **Admin** panel](https://doc.ibexa.co/projects/userguide/en/latest/content_management/translate_content/) in the back office. +Languages can be [added to this list from the **Admin** panel]([[= user_doc =]]/content_management/translate_content/) in the back office. After adding a language be sure to dump all assets to the file system: ``` diff --git a/docs/multisite/site_factory/site_factory.md b/docs/multisite/site_factory/site_factory.md index 84fe97184b..aaf2783668 100644 --- a/docs/multisite/site_factory/site_factory.md +++ b/docs/multisite/site_factory/site_factory.md @@ -182,7 +182,7 @@ Set the below policies to allow users to: For full documentation on how permissions work and how to set them up, see [the permissions section](permissions.md). -To learn how to use Site Factory, see [User Documentation]([[= user_doc =]]/site_organization/site_factory/). +To learn how to use Site Factory, see [User Documentation]([[= user_doc =]]/website_organization/work_with_sites/). ## Disable Site Factory diff --git a/docs/personalization/api_reference/content_api.md b/docs/personalization/api_reference/content_api.md index 22d0aa5f85..2477740618 100644 --- a/docs/personalization/api_reference/content_api.md +++ b/docs/personalization/api_reference/content_api.md @@ -4,7 +4,7 @@ description: Personalization server can use external information about the items # Content API -Apart from the [events]([[= user_doc =]]/personalization/event_types) collected by the Personalization client, the Personalization server can use external information about the products. +Apart from the [events]([[= user_doc =]]/personalization/event_types/) collected by the Personalization client, the Personalization server can use external information about the products. This information must be uploaded to the Personalization server by the administrator of the website. The following information can be loaded to the recommendation solution: diff --git a/docs/personalization/api_reference/recommendation_api.md b/docs/personalization/api_reference/recommendation_api.md index 446ad20d69..749eb89c17 100644 --- a/docs/personalization/api_reference/recommendation_api.md +++ b/docs/personalization/api_reference/recommendation_api.md @@ -51,7 +51,7 @@ You can use the following parameters to customize a request: |Parameter|Example|Description|Value| |---|---|---|---| |`numrecs`|20|Defines a number of recommendations to be delivered. The lower this value, the shorter the response time. The default value is 10. |1 to 50| -|`contextitems`|10,13,14, or "CLICKED"|A comma-separated list of items that the user is viewing on the web page. The list is required by [context-based recommendations]([[= user_doc =]]/personalization/recommendation_models). All items must be of the same type. The type is defined in the scenario configuration. If history code is used ("CLICKED","CONSUMED", "OWNS", "RATED" or "BASKET"), context items are pulled from the user profile (for example, the most recent clicks or purchases). This parameter is optional. |1 to 2147483647 (or alphanumeric if enabled)| +|`contextitems`|10,13,14, or "CLICKED"|A comma-separated list of items that the user is viewing on the web page. The list is required by [context-based recommendations]([[= user_doc =]]/personalization/recommendation_models/). All items must be of the same type. The type is defined in the scenario configuration. If history code is used ("CLICKED","CONSUMED", "OWNS", "RATED" or "BASKET"), context items are pulled from the user profile (for example, the most recent clicks or purchases). This parameter is optional. |1 to 2147483647 (or alphanumeric if enabled)| |`outputtypeid`|1|Required for scenarios that are defined with multiple output item types, otherwise optional. By default it's the first/lowest output type enabled in the scenario config.|numeric| |`crosscontenttype`| |Used instead of `outputtypeid`, if set to true, displays recommendations for all output types defined in the scenario. | boolean| |`jsonpCallback`|"myCallback"|Function or method name (used for JSONP request only). It can be a function ("callme"), or a method ("obj.callme"). The default value is "jsonpCallback".|legal JavaScript function call| @@ -99,7 +99,7 @@ Parameter|Example|Description|Value| |---|---|---|---| |`segments`|`&segments=7,8,10,11`|ID from segment group management|string| -For more information, see [Segments]([[= user_doc =]]/personalization/segment_management). +For more information, see [Segments]([[= user_doc =]]/personalization/segment_management/). ## Responses @@ -112,7 +112,7 @@ For more information, see inline comments below. !!! note "Previewing recommendations" You can preview the actual responses that come from the Personalization server and how they're rendered in the user interface. - For more information, see [Previewing scenario results]([[= user_doc =]]/personalization/previewing_scenario). + For more information, see [Previewing scenario results]([[= user_doc =]]/personalization/preview_scenario_results/). For more information about integrating recommendations in the web page, see [Best practices](recommendation_integration.md). diff --git a/docs/personalization/api_reference/tracking_api.md b/docs/personalization/api_reference/tracking_api.md index 3c62742e24..36d7c5058c 100644 --- a/docs/personalization/api_reference/tracking_api.md +++ b/docs/personalization/api_reference/tracking_api.md @@ -13,7 +13,7 @@ The most popular user events are: - Login - When a user logs in on a website - Clickrecommended - When a user clicks a recommendation -For a complete list of events, see [Event types]([[= user_doc =]]/personalization/event_types) in User Documentation.  +For a complete list of events, see [Event types]([[= user_doc =]]/personalization/event_types/) in User Documentation.  Depending on the event type, some additional parameters, such as item price or user rating, must be provided. Importing historical user data can help you reduce the delay in delivery of high quality recommendations. diff --git a/docs/personalization/enable_personalization.md b/docs/personalization/enable_personalization.md index 1f5559b26e..94202f5a17 100644 --- a/docs/personalization/enable_personalization.md +++ b/docs/personalization/enable_personalization.md @@ -10,7 +10,7 @@ To enable it, you must set up authentication parameters that you receive from [[ ## Get authentication parameters -First, either you or another [[= product_name_base =]] user responsible for managing the [[= product_name =]] instance must [request access to the service]([[= user_doc =]]/personalization/enabling_personalization/#request-access-to-the-server). +First, either you or another [[= product_name_base =]] user responsible for managing the [[= product_name =]] instance must [request access to the service]([[= user_doc =]]/personalization/enable_personalization/#request-access-to-the-server). ## Set up customer credentials @@ -538,4 +538,4 @@ Depending on your requirements, you may need to set up `edit` and `view` [permis ## Configure recommendation logic -When you enable the Personalization, you can go back to the back office, refresh the Personalization dashboard and proceed with [configuring the logic]([[= user_doc =]]/personalization/perso_configuration) used to calculate the recommendation results. +When you enable the Personalization, you can go back to the back office, refresh the Personalization dashboard and proceed with [configuring the logic]([[= user_doc =]]/personalization/configure_personalization/) used to calculate the recommendation results. diff --git a/docs/personalization/how_it_works.md b/docs/personalization/how_it_works.md index 587ede29c0..ee28481dce 100644 --- a/docs/personalization/how_it_works.md +++ b/docs/personalization/how_it_works.md @@ -13,6 +13,6 @@ The idea behind the Personalization service is built upon four main steps. ![Overview of how recommendation works](recommendation_overview.png) -For more information about available functionalities, see [User Documentation]([[= user_doc =]]/personalization/personalization). +For more information about available functionalities, see [User Documentation]([[= user_doc =]]/personalization/personalization/). For more information about enabling the Personalization service, see [Enable Personalization](enable_personalization.md). diff --git a/docs/personalization/integrate_recommendation_service.md b/docs/personalization/integrate_recommendation_service.md index 8a9d3bba6d..76c9534295 100644 --- a/docs/personalization/integrate_recommendation_service.md +++ b/docs/personalization/integrate_recommendation_service.md @@ -154,7 +154,7 @@ curl_close($curl); Triggers are push messages with recommendations. With this feature, your organization can invite individual visitors to return to the website, inform about a change in prices of products from their wishlist, suggest product alternatives, or remind them of items abandoned in a cart by delivering messages, for example, through email. -Before you can start [using triggers]([[= user_doc =]]/personalization/triggers), you must contact [[= product_name_base =]] and define specific conditions, for example: +Before you can start [using triggers]([[= user_doc =]]/personalization/triggers/), you must contact [[= product_name_base =]] and define specific conditions, for example: - the time that must pass before messages start being sent - content types and attributes that are included in a response @@ -215,6 +215,6 @@ The object contains links to the recommended items (`triggerOpenedLink`, `clickR You can configure integration at a more advanced level to track more events, use additional parameters, apply custom scenario configurations, filters, and enable additional features. -For more information about available functionalities, see [User Documentation]([[= user_doc =]]/personalization/personalization). +For more information about available functionalities, see [User Documentation]([[= user_doc =]]/personalization/personalization/). For more information about integrating the Personalization service, see [tracking API](tracking_api.md) and [tracking integration](tracking_integration.md) documentation. diff --git a/docs/personalization/legacy_recommendation_api.md b/docs/personalization/legacy_recommendation_api.md index 55c442b602..393456296e 100644 --- a/docs/personalization/legacy_recommendation_api.md +++ b/docs/personalization/legacy_recommendation_api.md @@ -157,7 +157,7 @@ Item's attribute, for example, color, price, and more. These are customer specific and can only be understood by the recommender system if the item attributes are imported by using the YOOCHOOSE content import APIs. There can be multiple attributename and attributevalue pairs. -Legacy Recommendation API and [Submodel configuration]([[= user_doc =]]/personalization/recommendation_models.md#submodels) is required for taking an advantage from this parameter. +Legacy Recommendation API and [Submodel configuration]([[= user_doc =]]/personalization/recommendation_models/#submodels) is required for taking an advantage from this parameter. **Values**: alphanumeric=alphanumeric [&alphanumeric=alphanumeric] diff --git a/docs/personalization/personalization_guide.md b/docs/personalization/personalization_guide.md index 44070c6156..0bb32baff3 100644 --- a/docs/personalization/personalization_guide.md +++ b/docs/personalization/personalization_guide.md @@ -130,6 +130,6 @@ Effectively evaluate quality of recommendations and compare with your KPIs. ## Use cases -- [eCommerce]([[= user_doc =]]/personalization/use_cases/#ecommerce.md) -- [Content publishing]([[= user_doc =]]/personalization/use_cases/#content-publishing.md) -- [Multiple website hosting]([[= user_doc =]]/personalization/use_cases/#multiple-website-hosting.md) \ No newline at end of file +- [eCommerce]([[= user_doc =]]/personalization/use_cases/#ecommerce) +- [Content publishing]([[= user_doc =]]/personalization/use_cases/#content-publishing) +- [Multiple website hosting]([[= user_doc =]]/personalization/use_cases/#multiple-website-hosting) diff --git a/docs/release_notes/ibexa_dxp_v3.3.md b/docs/release_notes/ibexa_dxp_v3.3.md index 4db97996a3..968728b0fc 100644 --- a/docs/release_notes/ibexa_dxp_v3.3.md +++ b/docs/release_notes/ibexa_dxp_v3.3.md @@ -93,4 +93,4 @@ See [list of changes in Symfony 5.2](https://symfony.com/blog/symfony-5-2-curate The version v3.3.15 moves [[= product_name =]] to Symfony 5.4. -For more information, see [Symfony 5.4 documentation](https://symfony.com/releases/5.4) and [update documentation](update_from_3.3.md#3315). +For more information, see [Symfony 5.4 documentation](https://symfony.com/releases/5.4) and [update documentation](update_from_3.3.md#v3315). diff --git a/docs/search/search_criteria_and_sort_clauses.md b/docs/search/search_criteria_and_sort_clauses.md index 1965857889..f2a13a1d7d 100644 --- a/docs/search/search_criteria_and_sort_clauses.md +++ b/docs/search/search_criteria_and_sort_clauses.md @@ -103,7 +103,7 @@ Ibexa\Core\Search\Legacy\Content\Location\Gateway\SortClauseHandler\Location\Dep - {name: ibexa.search.legacy.gateway.sort_clause_handler.location} ``` -For more information about passing parameters, see [Symfony Service Container documentation]([[= symfony_doc =]]/book/service_container.html#service-parameters). +For more information about passing parameters, see [Symfony Service Container documentation]([[= symfony_doc =]]/service_container.html#service-parameters). ## Search using custom Field Criterion [REST] diff --git a/docs/templating/layout/add_navigation_menu.md b/docs/templating/layout/add_navigation_menu.md index e7edce9a06..efaf6a0635 100644 --- a/docs/templating/layout/add_navigation_menu.md +++ b/docs/templating/layout/add_navigation_menu.md @@ -50,7 +50,7 @@ To use it, first create a `MenuBuilder.php` file in `src/Menu`: ``` In the builder, you can define items that you want in the menu. -For example, lines 21-23 add a specific location by using the [`ibexa.url.alias`](url_twig_functions.md#ibexa.url.alias) route. +For example, lines 21-23 add a specific location by using the [`ibexa.url.alias`](url_twig_functions.md#ibexaurlalias) route. Line 27 adds a defined system route that leads to the search form. Next, register the menu builder as a service: diff --git a/docs/templating/twig_function_reference/content_twig_functions.md b/docs/templating/twig_function_reference/content_twig_functions.md index 72d640fa4e..2cafe97abd 100644 --- a/docs/templating/twig_function_reference/content_twig_functions.md +++ b/docs/templating/twig_function_reference/content_twig_functions.md @@ -71,7 +71,7 @@ If the content item doesn't have a translation in the prioritized or passed lang ### `ibexa_seo_is_empty()` -`ibexa_seo_is_empty()` returns a Boolean value which indicates whether [SEO](https://doc.ibexa.co/projects/userguide/en/latest/search_engine_optimization/seo/) data is available for the content item that is passed as an argument. +`ibexa_seo_is_empty()` returns a Boolean value which indicates whether [SEO]([[= user_doc =]]/search_engine_optimization/seo/) data is available for the content item that is passed as an argument. | Argument | Type | Description | |---------------|------|-------------| @@ -83,7 +83,7 @@ If the content item doesn't have a translation in the prioritized or passed lang ### `ibexa_seo()` -`ibexa_seo()` attaches [SEO](https://doc.ibexa.co/projects/userguide/en/latest/search_engine_optimization/seo/) data to the content item's HTML code. +`ibexa_seo()` attaches [SEO]([[= user_doc =]]/search_engine_optimization/seo/) data to the content item's HTML code. | Argument | Type | Description | |---------------|------|-------------| diff --git a/docs/tutorials/page_and_form_tutorial/5_create_newsletter_form.md b/docs/tutorials/page_and_form_tutorial/5_create_newsletter_form.md index c667c5aa1c..e56ec05f7a 100644 --- a/docs/tutorials/page_and_form_tutorial/5_create_newsletter_form.md +++ b/docs/tutorials/page_and_form_tutorial/5_create_newsletter_form.md @@ -125,7 +125,7 @@ To see details about a submission, click the view icon. ![Collect Form Submissions](enterprise_tut_form_collect_sub.png "Collect Form Submissions") -For more information, see [viewing form results](https://doc.ibexa.co/projects/userguide/en/latest/content_management/work_with_forms/#view-results). +For more information, see [viewing form results]([[= user_doc =]]/content_management/work_with_forms/#view-results). ## Congratulations! diff --git a/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish.md b/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish.md index 86246a8f06..a094adf234 100644 --- a/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish.md +++ b/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish.md @@ -64,7 +64,7 @@ See Upgrade documentation on how to perform the actual upgrade: [Upgrade (eZ Pub As eZ Platform introduced completely new user interfaces with greatly improved user experience, the following custom developments needs to be made if you have customization needs: -- Write UI code for custom field types for the new JavaScript-based editorial interface, (see [Page blocks](render_page.md) +- Write UI code for custom field types for the new JavaScript-based editorial interface (see [Page blocks](render_page.md)) - Adjust custom admin modules for the new Symfony-based admin interface -For a detailed guide through these developments see [Upgrading from 5.4.x and 2014.11 to 16.xx](migrating_from_ez_publish_platform.md#upgrading-from-54x-and-201411-to-16xx)  +For a detailed guide through these developments see [Upgrading from 5.4.x and 2014.11 to eZ Platform](migrating_from_ez_publish_platform.md). diff --git a/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md b/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md index f70e7d1f06..9ad6877179 100644 --- a/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md +++ b/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md @@ -288,7 +288,7 @@ Run the conversion script on a copy of your production database as the script is `php -d memory_limit=1536M bin/console ezxmltext:convert-to-richtext --dry-run --export-dir=ezxmltext-export --export-dir-filter=notice,warning,error --concurrency 4 -v` -- `-d memory_limit=1536M` specifies that each conversion process gets 1536MB of memory. This should be more than sufficient for most databases. If you have small `ezxmltext` documents, you may decrease the limit. If you have huge `ezxmltext` documents, you may need to increase it. See PHP documentation for more information about the [memory_limit setting](http://php.net/manual/en/ini.core.php#ini.memory-limit). +- `-d memory_limit=1536M` specifies that each conversion process gets 1536MB of memory. This should be more than sufficient for most databases. If you have small `ezxmltext` documents, you may decrease the limit. If you have huge `ezxmltext` documents, you may need to increase it. See PHP documentation for more information about the [memory_limit setting](https://www.php.net/manual/en/ini.core.php#ini.memory-limit). - `--dry-run` prevents the conversion script from writing anything back to the database. It just tests if it's able to convert all the `ezxmltext` documents. - `--export-dir` specifies a directory where it dumps the `ezxmltext` for content object attributes which the conversion script finds problems with - `--export-dir-filter` specifies what severity the problems found needs to be before the script dumps the `ezxmltext`: diff --git a/docs/users/oauth_client.md b/docs/users/oauth_client.md index 294f73bede..7a3a02a97f 100644 --- a/docs/users/oauth_client.md +++ b/docs/users/oauth_client.md @@ -20,7 +20,7 @@ Some client types require additional packages. Missing package is indicated in an error message. For example, the following configuration creates a `google` client for Google OAuth2 Authorization Server to log users in. -Two environment variables, `OAUTH_GOOGLE_CLIENT_ID` and `OAUTH_GOOGLE_CLIENT_SECRET`, correspond to [the set-up on Google side](https://support.google.com/cloud/answer/6158849). +Two environment variables, `OAUTH_GOOGLE_CLIENT_ID` and `OAUTH_GOOGLE_CLIENT_SECRET`, correspond to [the set-up on Google side](https://support.google.com/cloud/answer/15549257). ``` yaml [[= include_file('code_samples/user_management/oauth_google/config/packages/knpu_oauth2_client.yaml') =]] diff --git a/docs/users/user_authentication.md b/docs/users/user_authentication.md index b1d98e9558..d2b7280301 100644 --- a/docs/users/user_authentication.md +++ b/docs/users/user_authentication.md @@ -6,7 +6,7 @@ description: Customize user authentication. ## Authenticate user with multiple user providers -Symfony provides native support for [multiple user providers]([[= symfony_doc =]]/security/multiple_user_providers.html). +Symfony provides native support for [multiple user providers]([[= symfony_doc =]]/security/user_providers.html). This makes it easier to integrate any kind of login handlers, including SSO and existing third party bundles (for example, [FR3DLdapBundle](https://github.com/Maks3w/FR3DLdapBundle), [HWIOauthBundle](https://github.com/hwi/HWIOAuthBundle), [FOSUserBundle](https://github.com/FriendsOfSymfony/FOSUserBundle), or [BeSimpleSsoAuthBundle](https://github.com/BeSimple/BeSimpleSsoAuthBundle)). However, to be able to use *external* user providers with [[= product_name =]], a valid Platform user needs to be injected into the repository.