From ab582a96e5c7ef7b40506a0935110f3170bf496b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Wed, 24 Jun 2026 11:24:03 +0200 Subject: [PATCH 1/9] Added link checking --- .github/workflows/link_check.yaml | 113 ++++++++++++++++++ .gitignore | 4 + README.md | 43 +++++++ lychee.toml.dist | 190 ++++++++++++++++++++++++++++++ main.py | 4 +- mkdocs.yml | 1 + tools/clone-repositories.sh | 59 ++++++++++ 7 files changed, 412 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/link_check.yaml create mode 100644 lychee.toml.dist create mode 100755 tools/clone-repositories.sh diff --git a/.github/workflows/link_check.yaml b/.github/workflows/link_check.yaml new file mode 100644 index 0000000000..3883dd05cc --- /dev/null +++ b/.github/workflows/link_check.yaml @@ -0,0 +1,113 @@ +name: "Check documentation links" + +on: + push: + branches: + - master + - "[0-9]+.[0-9]+" + workflow_dispatch: + inputs: + force_recheck: + description: "Clear lychee cache and recheck all links from scratch" + type: boolean + default: false + devdoc_50_branch: + description: "ibexa/documentation-developer branch for 5.0" + type: string + default: "5.0" + devdoc_46_branch: + description: "ibexa/documentation-developer branch for 4.6" + type: string + default: "4.6" + userdoc_50_branch: + description: "ibexa/documentation-user branch for 5.0" + type: string + default: "5.0" + userdoc_46_branch: + description: "ibexa/documentation-user branch for 4.6" + type: string + default: "4.6" + connect_branch: + description: "ibexa/documentation-connect branch" + type: string + default: "main" + pull_request: ~ + schedule: + - cron: "0 6 * * *" + +jobs: + link-check: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.13] + + steps: + - uses: actions/checkout@v4 + + - name: Generate token + id: generate_token + uses: actions/create-github-app-token@v2 + with: + app-id: ${{ secrets.AUTOMATION_CLIENT_ID }} + private-key: ${{ secrets.AUTOMATION_CLIENT_SECRET }} + owner: ${{ github.repository_owner }} + + - name: Configure git credentials for private repositories + run: | + git config --global url."https://x-access-token:${{ steps.generate_token.outputs.token }}@github.com/ibexa/documentation-connect".insteadOf \ + "https://github.com/ibexa/documentation-connect" + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Install MkDocs dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Build documentation + run: mkdocs build --strict + + - name: Clone and build versioned repositories for link remap + run: >- + bash tools/clone-repositories.sh + "${{ inputs.devdoc_50_branch || '5.0' }}" + "${{ inputs.devdoc_46_branch || '4.6' }}" + "${{ inputs.userdoc_50_branch || '5.0' }}" + "${{ inputs.userdoc_46_branch || '4.6' }}" + "${{ inputs.connect_branch || 'main' }}" + + - name: Restore lychee cache + if: ${{ !inputs.force_recheck }} + uses: actions/cache@v4 + with: + path: .lycheecache + key: lychee-${{ github.ref_name }}-${{ hashFiles('lychee.toml') }} + restore-keys: | + lychee-${{ github.ref_name }}- + lychee- + + - name: Check links + uses: lycheeverse/lychee-action@v2 + with: + args: >- + --config lychee.toml + --cache + --cache-exclude-status "400.." + site + output: lychee-report.md + jobSummary: false + fail: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Upload link-check report + if: always() + uses: actions/upload-artifact@v4 + with: + name: lychee-report + path: lychee-report.md + if-no-files-found: ignore diff --git a/.gitignore b/.gitignore index d243a010bd..a2c55c7b84 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,7 @@ auth.json yarn.lock docs/css/*.map .deptrac.cache +.lycheecache +lychee.toml +/repositories/ +lychee-report.md diff --git a/README.md b/README.md index 81daf33367..52f45d0f8a 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,49 @@ Regenerate the baseline by running: vendor/bin/deptrac --formatter=baseline ``` +## Checking links + +External links in the built documentation are checked using [lychee](https://lychee.cli.rs). + +### Running the link checker + +```bash +# 1. Build the main docs site +mkdocs build --strict + +# 2. Clone and build versioned repositories, and generate lychee.toml +./tools/clone-repositories.sh + +# 3. Check links +lychee --config lychee.toml --cache --cache-exclude-status "400.." site +``` + +After fixing any reported links, run `mkdocs build --strict` before rerunning `lychee`. + +#### Using non-standard brancges + +The script accepts optional branch names before cloning repositories: + +```bash +./tools/clone-repositories.sh [DEVDOC_50] [DEVDOC_46] [USERDOC_50] [USERDOC_46] [CONNECT] +``` + +| Argument | Repository | Default | +|--------------|---------------------------------|---------| +| `DEVDOC_50` | `ibexa/documentation-developer` | `5.0` | +| `DEVDOC_46` | `ibexa/documentation-developer` | `4.6` | +| `USERDOC_50` | `ibexa/documentation-user` | `5.0` | +| `USERDOC_46` | `ibexa/documentation-user` | `4.6` | +| `CONNECT` | `ibexa/documentation-connect` | `main` | + +Example — checking link for release PRs: + +```bash +./tools/clone-repositories.sh release-5.0.10 release-4.6.70 4.6 4.6 main +``` + +The same parameters are available as inputs when triggering the GitHub Actions workflow manually. + ## Where to View https://doc.ibexa.co diff --git a/lychee.toml.dist b/lychee.toml.dist new file mode 100644 index 0000000000..14bcbf5d5d --- /dev/null +++ b/lychee.toml.dist @@ -0,0 +1,190 @@ +############################# Display ############################# + +# Verbose program output +verbose = "error" + +# Output format +format = "markdown" + +# Path to report output file +output = "lychee-report.md" + +# Don't show interactive progress bar while checking links. +no_progress = false + +############################# Cache ############################### + +# Enable link caching to avoid re-checking identical links across runs. +cache = true + +# Discard cached results older than this duration. +max_cache_age = "1d" + +############################# Runtime ############################# + +# Maximum number of allowed redirects. Set to 0 to fail on any redirect — +# a redirect usually signals moved or reorganised content that should be +# updated at the source. +max_redirects = 1 + +# Maximum number of allowed retries before a link is declared dead. +max_retries = 3 + +# Minimum wait time in seconds between retries of failed requests. +retry_wait_time = 2 + +# Maximum number of concurrent link checks across all hosts. +max_concurrency = 8 + +############################# Requests ############################ + +# Website timeout from connect to response finished (seconds). +timeout = 20 + +# Comma-separated list of accepted status codes for valid links. +accept = ["200", "202"] + +# Proceed for server connections considered insecure (invalid TLS). +insecure = false + +# Check https/http and file:// (used by remap rules below). +# Internal file:// links (resolved via root_dir) are excluded separately — see the +# exclude list below. Only cross-doc file:// links produced by remap rules are checked. +scheme = ["https", "http", "file"] + +# GET is required for fragment checking (HEAD responses have no body). +method = "GET" + +user_agent = "Mozilla/5.0 (compatible; lychee link checker)" + +# Check anchor fragments in cross-doc links (remapped to explicit index.html paths). +# Internal fragments are already validated by `mkdocs build --strict` and are excluded +# via the file:// exclude pattern below. +include_fragments = true + +# Do NOT check links inside and
 blocks.
+include_verbatim = false
+
+#############################  Exclusions  ##########################
+
+# Exclude URLs from checking (treated as regular expressions).
+# External-host exclusions (bot-blocks, redirects, false positives) live in .lycheeignore.
+# Only structural patterns that depend on the build path are kept here.
+exclude = [
+    # Internal file:// links are resolved by lychee from root-relative hrefs via root_dir.
+    # They point to the local MkDocs output and are already validated by `mkdocs build --strict`.
+    # Cross-doc links produced by the remap rules below go through the `repositories/`
+    # subdirectory and are therefore NOT matched by this pattern.
+    "^file://__BASE_DIR__/site/",
+    # Versionless project root links (e.g. /projects/connect, /projects/userguide) appear in
+    # the MkDocs theme sidebar as cross-project navigation and are not real content links.
+    # The https form appears as absolute links; the file:// form appears after root_dir resolution
+    # of root-relative hrefs like /projects/connect in the built HTML.
+    "^https?://doc\\.ibexa\\.co/projects/[^/]+/?$",
+    "^file://.*?/site/projects/[^/]+/?$",
+]
+
+# Exclude these input paths from being scanned.
+exclude_path = [
+    # Search index, assets and sitemap contain no meaningful external links
+    "site/search/search_index.json",
+    "site/assets",
+    "site/sitemap.xml",
+    # PHP API reference HTML is generated by phpDocumentor and uses  to resolve
+    # relative links — lychee does not honour  tags and would flag them as broken.
+    # Links pointing *to* these files from other pages are still checked.
+    "site/api/php_api/php_api_reference/",
+]
+
+# Check the specified file extensions
+extensions = ["html"]
+
+# Exclude all private IPs from checking.
+exclude_all_private = true
+
+#############################  Local files  #########################
+
+# Required to resolve root-relative links (e.g. href="/…") found in every page into
+# file:// URLs. Those file:// URLs are then excluded from checking by the pattern in
+# the exclude list — internal links are validated by `mkdocs build --strict`.
+root_dir = "site"
+
+#############################  Remap  ###############################
+
+# Rewrite doc.ibexa.co links to locally-built MkDocs sites, avoiding HTTP
+# requests to Cloudflare-protected hosts.
+#
+# - en/latest/           → current build's site/ directory (self-referential links from cards() macro)
+# - en/4.6/              → repositories/devdoc-4.6/site/
+# - en/5.0/              → repositories/devdoc-5.0/site/
+# - userguide/en/latest/ → repositories/userdoc-5.0/site/ (newest available)
+# - userguide/en/4.6/    → repositories/userdoc-4.6/site/
+# - userguide/en/5.0/    → repositories/userdoc-5.0/site/
+# - connect/en/latest/   → repositories/connect/site/
+#
+# Three patterns per version handle all URL shapes.
+# NOTE: lychee applies remap BEFORE stripping the fragment, so each pattern uses
+# an optional (#.*)? group to capture and forward fragments to the local file path.
+#
+#   Pattern 1 — direct .html files (e.g. REST/PHP API reference):
+#               ([^#]+\.html)(#.*)?$
+#
+#   Pattern 2 — directory paths (with or without trailing slash, with path segments):
+#               ([^#/]+(?:/[^#/]+)*)/?(#.*)?$
+#               $1 captures the path without a trailing slash; replacement always adds /index.html.
+#
+#   Pattern 3 — bare version root (e.g. /en/5.0/ with nothing after):
+#               $  (exact match of the version prefix)
+remap = [
+    # GitHub line-number fragments (#L7, #L12-L15) are rendered via JavaScript —
+    # lychee cannot find them in the raw HTML. Strip the fragment so the file
+    # existence is still verified.
+    "^(https://github\\.com/[^#]+)#L[0-9].* $1",
+    # MDN URLs without a locale redirect to the browser's preferred language.
+    # Remap to en-US so lychee can verify the link without following the redirect.
+    "^https://developer\\.mozilla\\.org/docs/(.+) https://developer.mozilla.org/en-US/docs/$1",
+    # doc.ibexa.co/en/latest/ links are self-referential: the cards() macro generates
+    # them when READTHEDOCS_VERSION_NAME is not set (e.g. in CI). Remap to the locally
+    # built site/ directory. These file:// URLs are then matched by the exclude pattern
+    # above and skipped — internal links are validated by `mkdocs build --strict`.
+    "https://doc\\.ibexa\\.co/en/latest/([^#]+\\.html)(#.*)?$ file://__BASE_DIR__/site/$1$2",
+    "https://doc\\.ibexa\\.co/en/latest/([^#/]+(?:/[^#/]+)*)/?(#.*)?$ file://__BASE_DIR__/site/$1/index.html$2",
+    "https://doc\\.ibexa\\.co/en/latest/$ file://__BASE_DIR__/site/index.html",
+    # userguide en/latest/ — map to the newest available clone (userdoc-5.0)
+    "https://doc\\.ibexa\\.co/projects/userguide/en/latest/([^#]+\\.html)(#.*)?$ file://__BASE_DIR__/repositories/userdoc-5.0/site/$1$2",
+    "https://doc\\.ibexa\\.co/projects/userguide/en/latest/([^#/]+(?:/[^#/]+)*)/?(#.*)?$ file://__BASE_DIR__/repositories/userdoc-5.0/site/$1/index.html$2",
+    "https://doc\\.ibexa\\.co/projects/userguide/en/latest/$ file://__BASE_DIR__/repositories/userdoc-5.0/site/index.html",
+    # devdoc 4.6
+    "https://doc\\.ibexa\\.co/en/4\\.6/([^#]+\\.html)(#.*)?$ file://__BASE_DIR__/repositories/devdoc-4.6/site/$1$2",
+    "https://doc\\.ibexa\\.co/en/4\\.6/([^#/]+(?:/[^#/]+)*)/?(#.*)?$ file://__BASE_DIR__/repositories/devdoc-4.6/site/$1/index.html$2",
+    "https://doc\\.ibexa\\.co/en/4\\.6/$ file://__BASE_DIR__/repositories/devdoc-4.6/site/index.html",
+    # devdoc 5.0
+    "https://doc\\.ibexa\\.co/en/5\\.0/([^#]+\\.html)(#.*)?$ file://__BASE_DIR__/repositories/devdoc-5.0/site/$1$2",
+    "https://doc\\.ibexa\\.co/en/5\\.0/([^#/]+(?:/[^#/]+)*)/?(#.*)?$ file://__BASE_DIR__/repositories/devdoc-5.0/site/$1/index.html$2",
+    "https://doc\\.ibexa\\.co/en/5\\.0/$ file://__BASE_DIR__/repositories/devdoc-5.0/site/index.html",
+    # userdoc 4.6
+    "https://doc\\.ibexa\\.co/projects/userguide/en/4\\.6/([^#]+\\.html)(#.*)?$ file://__BASE_DIR__/repositories/userdoc-4.6/site/$1$2",
+    "https://doc\\.ibexa\\.co/projects/userguide/en/4\\.6/([^#/]+(?:/[^#/]+)*)/?(#.*)?$ file://__BASE_DIR__/repositories/userdoc-4.6/site/$1/index.html$2",
+    "https://doc\\.ibexa\\.co/projects/userguide/en/4\\.6/$ file://__BASE_DIR__/repositories/userdoc-4.6/site/index.html",
+    # userdoc 5.0
+    "https://doc\\.ibexa\\.co/projects/userguide/en/5\\.0/([^#]+\\.html)(#.*)?$ file://__BASE_DIR__/repositories/userdoc-5.0/site/$1$2",
+    "https://doc\\.ibexa\\.co/projects/userguide/en/5\\.0/([^#/]+(?:/[^#/]+)*)/?(#.*)?$ file://__BASE_DIR__/repositories/userdoc-5.0/site/$1/index.html$2",
+    "https://doc\\.ibexa\\.co/projects/userguide/en/5\\.0/$ file://__BASE_DIR__/repositories/userdoc-5.0/site/index.html",
+    # userdoc master — treated as the newest available (userdoc-5.0)
+    "https://doc\\.ibexa\\.co/projects/userguide/en/master/([^#]+\\.html)(#.*)?$ file://__BASE_DIR__/repositories/userdoc-5.0/site/$1$2",
+    "https://doc\\.ibexa\\.co/projects/userguide/en/master/([^#/]+(?:/[^#/]+)*)/?(#.*)?$ file://__BASE_DIR__/repositories/userdoc-5.0/site/$1/index.html$2",
+    "https://doc\\.ibexa\\.co/projects/userguide/en/master/$ file://__BASE_DIR__/repositories/userdoc-5.0/site/index.html",
+    # connect — single branch, mapped from both en/latest/
+    "https://doc\\.ibexa\\.co/projects/connect/en/latest/([^#]+\\.html)(#.*)?$ file://__BASE_DIR__/repositories/connect/site/$1$2",
+    "https://doc\\.ibexa\\.co/projects/connect/en/latest/([^#/]+(?:/[^#/]+)*)/?(#.*)?$ file://__BASE_DIR__/repositories/connect/site/$1/index.html$2",
+    "https://doc\\.ibexa\\.co/projects/connect/en/latest/$ file://__BASE_DIR__/repositories/connect/site/index.html",
+]
+
+#############################  Hosts  ###############################
+
+# Global limit: at most 2 simultaneous requests to any single host.
+host_concurrency = 2
+
+# Global minimum interval between requests to the same host.
+host_request_interval = "500ms"
+
diff --git a/main.py b/main.py
index 3c38638782..c792ed6450 100644
--- a/main.py
+++ b/main.py
@@ -109,7 +109,7 @@ def cards(pages, columns=1, style="cards", force_version=False):
             elif re.search(".html$", path):
                 html = True
                 content = open("docs/%s" % path, "r").read()
-                page = '/'.join((
+                page = 'https:/' + '/'.join((
                     '/',
                     site,
                     language,
@@ -120,7 +120,7 @@ def cards(pages, columns=1, style="cards", force_version=False):
                 html = False
                 path = path.rstrip('/')
                 content = open("docs/%s.md" % path, "r").read()
-                page = '/'.join((
+                page = 'https:/' + '/'.join((
                     '/',
                     site,
                     language,
diff --git a/mkdocs.yml b/mkdocs.yml
index 6ecfc86c8c..39908acff6 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -2,6 +2,7 @@ INHERIT: plugins.yml
 
 site_name: Developer Documentation
 repo_url: https://github.com/ibexa/documentation-developer
+edit_uri: edit/5.0/docs
 site_url: https://doc.ibexa.co/en/latest/
 copyright: "Copyright 1999-2026 Ibexa AS and others"
 validation:
diff --git a/tools/clone-repositories.sh b/tools/clone-repositories.sh
new file mode 100755
index 0000000000..68e6082a59
--- /dev/null
+++ b/tools/clone-repositories.sh
@@ -0,0 +1,59 @@
+#!/usr/bin/env bash
+# Clones and builds versioned documentation repositories used by lychee's remap rules,
+# then generates lychee.toml from lychee.toml.dist with absolute paths substituted in.
+#
+# Usage: ./tools/clone-repositories.sh [DEVDOC_50_BRANCH] [DEVDOC_46_BRANCH] [USERDOC_50_BRANCH] [USERDOC_46_BRANCH] [CONNECT_BRANCH]
+#
+#   DEVDOC_50_BRANCH   Branch of ibexa/documentation-developer to use for 5.0 (default: 5.0)
+#   DEVDOC_46_BRANCH   Branch of ibexa/documentation-developer to use for 4.6 (default: 4.6)
+#   USERDOC_50_BRANCH  Branch of ibexa/documentation-user to use for 5.0     (default: 5.0)
+#   USERDOC_46_BRANCH  Branch of ibexa/documentation-user to use for 4.6     (default: 4.6)
+#   CONNECT_BRANCH     Branch of ibexa/documentation-connect                  (default: main)
+#
+# Run this once before running lychee. Re-run to refresh clones or after moving
+# the repository to a new path (the path in lychee.toml will be updated automatically).
+
+set -euo pipefail
+
+DEVDOC_50_BRANCH="${1:-5.0}"
+DEVDOC_46_BRANCH="${2:-4.6}"
+USERDOC_50_BRANCH="${3:-5.0}"
+USERDOC_46_BRANCH="${4:-4.6}"
+CONNECT_BRANCH="${5:-main}"
+
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+# The script lives in tools/; all paths (repositories/, lychee.toml.dist, lychee.toml)
+# are relative to the repository root one level up.
+REPO_DIR="$(dirname "$SCRIPT_DIR")"
+
+# Prepend the local Python installation so pip/mkdocs resolve correctly.
+# Adjust this if your Python is installed elsewhere.
+export PATH="$HOME/python/bin:$PATH"
+
+cd "$REPO_DIR"
+
+echo "==> Cloning versioned repositories..."
+echo "    devdoc  5.0 → branch '$DEVDOC_50_BRANCH'"
+echo "    devdoc  4.6 → branch '$DEVDOC_46_BRANCH'"
+echo "    userdoc 5.0 → branch '$USERDOC_50_BRANCH'"
+echo "    userdoc 4.6 → branch '$USERDOC_46_BRANCH'"
+echo "    connect     → branch '$CONNECT_BRANCH'"
+mkdir -p repositories
+git clone --depth=1 --branch "$DEVDOC_46_BRANCH"  https://github.com/ibexa/documentation-developer.git repositories/devdoc-4.6 &
+git clone --depth=1 --branch "$DEVDOC_50_BRANCH"  https://github.com/ibexa/documentation-developer.git repositories/devdoc-5.0 &
+git clone --depth=1 --branch "$USERDOC_46_BRANCH" https://github.com/ibexa/documentation-user.git repositories/userdoc-4.6 &
+git clone --depth=1 --branch "$USERDOC_50_BRANCH" https://github.com/ibexa/documentation-user.git repositories/userdoc-5.0 &
+git clone --depth=1 --branch "$CONNECT_BRANCH"    https://github.com/ibexa/documentation-connect.git repositories/connect &
+wait
+
+echo "==> Building versioned repositories..."
+for dir in repositories/devdoc-4.6 repositories/devdoc-5.0 repositories/userdoc-4.6 repositories/userdoc-5.0 repositories/connect; do
+    (cd "$dir" && pip install -q -r requirements.txt && mkdocs build --quiet) &
+done
+wait
+
+echo "==> Generating lychee.toml from lychee.toml.dist..."
+sed "s|__BASE_DIR__|$REPO_DIR|g" lychee.toml.dist > lychee.toml
+echo "    __BASE_DIR__ → '$REPO_DIR'"
+
+echo "Done."

From 659f9c9d74de387395d85ee0662e83ae4293f2d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marek=20Noco=C5=84?= 
Date: Wed, 24 Jun 2026 11:29:22 +0200
Subject: [PATCH 2/9] Fixed links

---
 .lycheeignore                                 | 164 ++++++++++++++++++
 .../project_organization/bundles.md           |   2 +-
 docs/ai/ai_actions/configure_ai_actions.md    |   2 +-
 docs/ai/ai_actions/extend_ai_actions.md       |   2 +-
 .../creating_new_rest_resource.md             |   2 +-
 .../rest_api/rest_api_usage/rest_responses.md |   2 +-
 docs/cdp/cdp_activation/cdp_configuration.md  |   2 +-
 .../storefront/configure_storefront.md        |   2 +-
 docs/content_management/images/fastly_io.md   |   4 +-
 docs/getting_started/install_ibexa_dxp.md     |   6 +-
 docs/getting_started/requirements.md          |   6 +-
 docs/ibexa_cloud/ibexa_cloud_guide.md         |   4 +-
 .../cache/http_cache/content_aware_cache.md   |  10 +-
 .../cache/http_cache/fastly.md                |   8 +-
 .../cache/http_cache/http_cache.md            |   2 +-
 .../cache/http_cache/reverse_proxy.md         |   8 +-
 .../environments.md                           |   2 +-
 .../security/security_checklist.md            |   2 +-
 .../sessions.md                               |   6 +-
 docs/js/custom.js                             |   4 +-
 .../languages/automated_translations.md       |   2 +-
 .../personalization/enable_personalization.md |   2 +-
 .../tracking_with_ibexa-tracker.md            |   2 +-
 docs/product_catalog/quable/install_quable.md |   2 +-
 docs/product_catalog/quable/quable.md         |   2 +-
 docs/product_catalog/quable/quable_api.md     |   2 +-
 docs/release_notes/ez_platform_v1.10.0.md     |  16 +-
 docs/release_notes/ez_platform_v1.11.0.md     |  14 +-
 docs/release_notes/ez_platform_v1.12.0.md     |  16 +-
 docs/release_notes/ez_platform_v1.13.0_lts.md |  12 +-
 docs/release_notes/ez_platform_v1.7.0_lts.md  |  16 +-
 docs/release_notes/ez_platform_v1.8.0.md      |  16 +-
 docs/release_notes/ez_platform_v1.9.0.md      |  14 +-
 docs/release_notes/ez_platform_v2.0.0.md      |   6 +-
 docs/release_notes/ez_platform_v2.1.0.md      |   4 +-
 docs/release_notes/ez_platform_v2.2.0.md      |  16 +-
 docs/release_notes/ez_platform_v2.3.md        |  10 +-
 docs/release_notes/ez_platform_v2.4.md        |  10 +-
 docs/release_notes/ez_platform_v2.5.md        |  14 +-
 docs/release_notes/ez_platform_v3.0.md        |   8 +-
 .../ez_platform_v3.0_deprecations.md          |   2 +-
 docs/release_notes/ez_platform_v3.1.md        |   6 +-
 docs/release_notes/ibexa_dxp_v3.2.md          |   4 +-
 docs/release_notes/ibexa_dxp_v3.3.md          |  24 +--
 docs/release_notes/ibexa_dxp_v4.0.md          |   4 +-
 docs/release_notes/ibexa_dxp_v4.1.md          |   2 +-
 docs/release_notes/ibexa_dxp_v4.2.md          |   6 +-
 docs/release_notes/ibexa_dxp_v4.3.md          |   4 +-
 docs/release_notes/ibexa_dxp_v4.4.md          |   6 +-
 docs/release_notes/ibexa_dxp_v4.5.md          |   2 +-
 docs/release_notes/ibexa_dxp_v4.6.md          |  50 +++---
 docs/release_notes/ibexa_dxp_v5.0.md          |  20 +--
 docs/resources/new_in_doc.md                  |  25 ++-
 .../elasticsearch/configure_elasticsearch.md  |   2 +-
 docs/snippets/update/finish_the_update.md     |   3 +-
 docs/snippets/update/merge_composer.md        |   2 +-
 .../layout/customize_storefront_layout.md     |   2 +-
 .../render_content/customize_product_view.md  |   2 +-
 .../render_content/render_content_in_php.md   |   2 +-
 .../icon_twig_functions.md                    |   2 +-
 .../recommendations_twig_functions.md         |   4 +-
 docs/update_and_migration/from_3.3/to_4.0.md  |   2 +-
 .../from_4.1/update_from_4.1.md               |   2 +-
 .../from_4.6/update_from_4.6.md               |   2 +-
 .../from_4.6/update_to_5.0.md                 |   4 +-
 .../from_5.0/update_from_5.0.md               |   2 +-
 .../migrating_from_ez_publish.md              |   8 +-
 docs/users/oauth_client.md                    |   2 +-
 68 files changed, 353 insertions(+), 267 deletions(-)
 create mode 100644 .lycheeignore

diff --git a/.lycheeignore b/.lycheeignore
new file mode 100644
index 0000000000..992598aa38
--- /dev/null
+++ b/.lycheeignore
@@ -0,0 +1,164 @@
+# URLs excluded from lychee link checking.
+# Each line is a regular expression matched against the full URL.
+#
+# Add external URLs here when they produce false positives (redirects, bot-blocks,
+# JS-rendered anchors, etc.). Structural file:// exclusions that depend on the
+# build path live in lychee.toml.dist instead, as they require __BASE_DIR__ substitution.
+
+# Localhost / loopback — not real content links
+^https?://localhost
+^https?://127\.0\.0\.1
+
+# Placeholder domain used in examples
+^https?://example\.com
+
+# Known intentional redirects (302)
+^https://support\.ibexa\.co/
+^https://redocly\.com/redoc/
+^https://updates\.ibexa\.co
+^https://console\.cloud\.google\.com
+
+# Hosts that block automated requests (403)
+^https?://(www\.)?linkedin\.com
+^https?://(www\.)?openai\.com
+^https?://help\.openai\.com
+^https?://(www\.)?paypal\.com
+^https://support\.qualifio\.com/
+^https://unsplash\.com/
+https://support.deepl.com/hc/en-us/articles/360020695820-API-key-for-DeepL-API
+^https?://(www\.)?npmjs\.com
+
+
+# AI provider consoles — redirect to login pages (302/307)
+https://aistudio\.google\.com/app/api-keys
+https://console\.anthropic\.com/login
+https://docs\.claude\.com/en/docs/about-claude/models/overview
+
+# AWS console — redirects unauthenticated requests (302)
+https://console\.aws\.amazon\.com/
+
+# EU legislation portal — fragment (#d1e...) is a JavaScript-rendered anchor
+https://eur-lex\.europa\.eu/
+
+# GitHub release tag URLs with unresolved MkDocs macro (releases/tag/ with no version)
+# These come from snippets using [[= version =]] which does not expand during link-check builds.
+https://github\.com/ibexa/(commerce|experience|headless)/releases/tag/$
+
+# Webarchive links
+https://web.archive.org/web/20140911035812/https://doc.ez.no/display/EZP/Legacy+code+and+features
+https://web.archive.org/web/20150920231014/https://doc.ez.no/display/EZP/Upgrade
+https://web.archive.org/web/20201015232625/https://ezsystems.github.io/ezplatform-rest-reference/
+
+# Doc links older than 4.6
+https://doc.ibexa.co/en/2.2/releases/updating_ez_platform/
+https://doc.ibexa.co/en/2.2/releases/updating_ez_platform/#migrate-landing-pages
+https://doc.ibexa.co/en/2.5/api/field_types_reference/imageassetfield/
+https://doc.ibexa.co/en/2.5/api/field_types_reference/matrixfield/
+https://doc.ibexa.co/en/2.5/api/field_types_reference/richtextfield/
+https://doc.ibexa.co/en/2.5/api/graphql/
+https://doc.ibexa.co/en/2.5/api/public_php_api_browsing/#getting-content-from-a-location
+https://doc.ibexa.co/en/2.5/api/public_php_api_browsing/#siteaccess-aware-repository
+https://doc.ibexa.co/en/2.5/community_resources/translations/#how-to-translate-the-interface-using-crowdin
+https://doc.ibexa.co/en/2.5/getting_started/install_ez_platform/
+https://doc.ibexa.co/en/2.5/getting_started/install_ez_platform/
+https://doc.ibexa.co/en/2.5/getting_started/install_ez_platform/
+https://doc.ibexa.co/en/2.5/getting_started/install_ez_platform/
+https://doc.ibexa.co/en/2.5/getting_started/requirements/
+https://doc.ibexa.co/en/2.5/getting_started/requirements/
+https://doc.ibexa.co/en/2.5/getting_started/requirements/
+https://doc.ibexa.co/en/2.5/getting_started/requirements/
+https://doc.ibexa.co/en/2.5/getting_started/requirements/
+https://doc.ibexa.co/en/2.5/guide/config_back_office/#content-tree
+https://doc.ibexa.co/en/2.5/guide/config_repository/#user-identifiers
+https://doc.ibexa.co/en/2.5/guide/content_management/#location-visibility
+https://doc.ibexa.co/en/2.5/guide/databases/#using-postgresql
+https://doc.ibexa.co/en/2.5/guide/design_engine/
+https://doc.ibexa.co/en/2.5/guide/design_engine/#default-designs
+https://doc.ibexa.co/en/2.5/guide/extending/extending_back_office/#custom-content-type-icons
+https://doc.ibexa.co/en/2.5/guide/extending/extending_form_builder/
+https://doc.ibexa.co/en/2.5/guide/extending/extending_online_editor/#custom-data-attributes-and-classes
+https://doc.ibexa.co/en/2.5/guide/extending/extending_online_editor/#custom-plugins
+https://doc.ibexa.co/en/2.5/guide/extending/extending_online_editor/#custom-tags
+https://doc.ibexa.co/en/2.5/guide/extending/extending_online_editor/#custom-tags
+https://doc.ibexa.co/en/2.5/guide/extending/extending_online_editor/#example-factbox-tag
+https://doc.ibexa.co/en/2.5/guide/extending/extending_online_editor/#inline-custom-tags
+https://doc.ibexa.co/en/2.5/guide/extending/extending_online_editor/#link-tag
+https://doc.ibexa.co/en/2.5/guide/images/#reusing-images
+https://doc.ibexa.co/en/2.5/guide/images/#setting-placeholder-generator
+https://doc.ibexa.co/en/2.5/guide/internationalization/
+https://doc.ibexa.co/en/2.5/guide/limitation_reference/#state-limitation
+https://doc.ibexa.co/en/2.5/guide/search/solr/
+https://doc.ibexa.co/en/2.5/guide/search/solr/#solrcloud
+https://doc.ibexa.co/en/2.5/guide/url_management/#regenerating-url-aliases
+https://doc.ibexa.co/en/2.5/guide/url_management/#url-alias-patterns
+https://doc.ibexa.co/en/2.5/guide/url_management/#url-wildcards
+https://doc.ibexa.co/en/2.5/guide/workflow/
+https://doc.ibexa.co/en/2.5/guide/workflow/#permissions
+https://doc.ibexa.co/en/2.5/update_and_migration/from_1.x_2.x/update_app_to_2.5/#c-fix-other-conflicts
+https://doc.ibexa.co/en/2.5/update_and_migration/from_1.x_2.x/update_db_to_2.5/#a-update-to-v22
+https://doc.ibexa.co/en/3.0/api/rest_api_guide/
+https://doc.ibexa.co/en/3.1/guide/url_management/
+https://doc.ibexa.co/en/3.3/api/public_php_api_search/#additional-search-result-data
+https://doc.ibexa.co/en/3.3/extending/extending_udw/
+https://doc.ibexa.co/en/3.3/getting_started/install_ez_platform/
+https://doc.ibexa.co/en/3.3/guide/cache/http_cache/
+https://doc.ibexa.co/en/3.3/guide/content_rendering/queries_and_controllers/content_queries/#content-query-field
+https://doc.ibexa.co/en/3.3/guide/data_migration/data_migration/
+https://doc.ibexa.co/en/3.3/guide/image_editor/
+https://doc.ibexa.co/en/3.3/guide/images/image_editor/
+https://doc.ibexa.co/en/3.3/guide/search/sort_clause_reference/contenttranslatedname_sort_clause/
+https://doc.ibexa.co/en/3.3/guide/search/sort_clause_reference/customfield_sort_clause/
+https://doc.ibexa.co/en/3.3/guide/search/sort_clause_reference/score_sort_clause/
+https://doc.ibexa.co/en/4.3/api/rest_api/rest_api_reference/rest_api_reference.html#product-catalog-create-catalog
+https://doc.ibexa.co/en/4.3/api/rest_api/rest_api_reference/rest_api_reference.html#product-catalog-filter-catalogs
+https://doc.ibexa.co/en/4.3/api/rest_api/rest_api_reference/rest_api_reference.html#product-catalog-load-catalog-filters
+https://doc.ibexa.co/en/4.3/api/rest_api/rest_api_reference/rest_api_reference.html#product-catalog-update-catalog
+https://doc.ibexa.co/en/4.3/pim/pim_configuration/#catalog-filters
+https://doc.ibexa.co/en/4.3/update_and_migration/from_4.2/update_from_4.2/
+https://doc.ibexa.co/en/4.4/commerce/commerce/
+https://doc.ibexa.co/en/4.4/commerce/storefront/storefront/
+https://doc.ibexa.co/en/4.4/content_management/data_migration/data_migration_actions/#data-migration-actions
+https://doc.ibexa.co/en/4.4/content_management/images/fastly_io/
+https://doc.ibexa.co/en/4.4/infrastructure_and_maintenance/clustering/clustering/#configuring-the-dfs-io-handler
+https://doc.ibexa.co/en/4.5/api/rest_api/rest_api_usage/rest_requests/#expected-user
+https://doc.ibexa.co/en/4.5/cdp/cdp_activation/#configuration
+https://doc.ibexa.co/en/4.5/commerce/commerce/
+https://doc.ibexa.co/en/4.5/content_management/pages/react_app_block/
+https://doc.ibexa.co/en/4.5/content_management/pages/react_app_block/#react-app-block-configuration
+https://doc.ibexa.co/en/4.5/customer_management/cp_page_builder/
+https://doc.ibexa.co/en/4.5/search/aggregation_reference/product_attribute_aggregations/
+https://doc.ibexa.co/en/4.5/search/aggregation_reference/productavailabilityterm_aggregation/
+https://doc.ibexa.co/en/4.5/search/aggregation_reference/productpricerange_aggregation/
+https://doc.ibexa.co/en/4.5/search/aggregation_reference/productstockrange_aggregation/
+https://doc.ibexa.co/en/4.5/search/aggregation_reference/producttypeterm_aggregation/
+https://doc.ibexa.co/en/4.5/search/aggregation_reference/taxonomyentryid_aggregation/
+https://doc.ibexa.co/en/4.5/search/criteria_reference/productstock_criterion/
+https://doc.ibexa.co/en/4.5/search/criteria_reference/productstockrange_criterion/
+https://doc.ibexa.co/en/4.5/users/passwords/#breached-passwords
+https://doc.ibexa.co/projects/userguide/en/2.5/content_model/#content-tree
+https://doc.ibexa.co/projects/userguide/en/2.5/creating_content_advanced/#forms
+https://doc.ibexa.co/projects/userguide/en/2.5/multi_file_content_management/#multi-file-content-management
+https://doc.ibexa.co/projects/userguide/en/2.5/publishing/advanced_publishing_options/
+https://doc.ibexa.co/projects/userguide/en/2.5/publishing/flex_workflow/#reviewing-a-draft
+https://doc.ibexa.co/projects/userguide/en/2.5/search/#simplified-filtered-search
+https://doc.ibexa.co/projects/userguide/en/3.1/publishing/publishing/#comparing-versions
+https://doc.ibexa.co/projects/userguide/en/3.2/publishing/publishing/#autosave
+https://doc.ibexa.co/projects/userguide/en/4.0/publishing/editorial_workflow/#releasing-locked-drafts
+https://doc.ibexa.co/projects/userguide/en/4.0/site_organization/working_with_page/#configure-block-display
+https://doc.ibexa.co/projects/userguide/en/4.1/site_organization/working_with_page/#dynamic-targeting-block
+https://doc.ibexa.co/projects/userguide/en/4.2/user_management/manage_users/#invite-users
+https://doc.ibexa.co/projects/userguide/en/4.2/user_management/manage_users/#register-as-a-user
+https://doc.ibexa.co/projects/userguide/en/4.4/content_management/block_reference/#catalog-block
+https://doc.ibexa.co/projects/userguide/en/4.4/content_management/block_reference/#last-purchased-block
+https://doc.ibexa.co/projects/userguide/en/4.4/content_management/block_reference/#last-viewed-block
+https://doc.ibexa.co/projects/userguide/en/4.4/content_management/block_reference/#product-collection-block
+https://doc.ibexa.co/projects/userguide/en/4.4/content_management/block_reference/#recently-added-block
+https://doc.ibexa.co/projects/userguide/en/4.4/personalization/enable_personalization/#request-access-to-the-server
+https://doc.ibexa.co/projects/userguide/en/4.4/personalization/recommendation_models/#predictive
+https://doc.ibexa.co/projects/userguide/en/4.4/personalization/recommendation_models/#recently-added
+https://doc.ibexa.co/projects/userguide/en/4.4/personalization/recommendation_models/#recurring-purchase
+https://doc.ibexa.co/projects/userguide/en/4.5/content_management/block_reference/#bestsellers-block
+https://doc.ibexa.co/projects/userguide/en/4.5/content_management/translate_content/#translation-comparison
+https://doc.ibexa.co/projects/userguide/en/4.5/customer_management/build_customer_portal/
+https://doc.ibexa.co/projects/userguide/en/4.5/personalization/recommendation_models/#b2b-model
+https://doc.ibexa.co/projects/userguide/en/4.5/personalization/segment_management/
diff --git a/docs/administration/project_organization/bundles.md b/docs/administration/project_organization/bundles.md
index caeb06027c..06f90ec8e6 100644
--- a/docs/administration/project_organization/bundles.md
+++ b/docs/administration/project_organization/bundles.md
@@ -28,7 +28,7 @@ When overriding files, the path inside your application has to correspond to the
 
 ### Removing bundles
 
-To remove a bundle (either one you created yourself, or an out-of-the-box one that you don't need), see the [How to Remove a Bundle]([[= symfony_doc =]]/bundles/remove.html) instruction in Symfony doc.
+To remove a bundle (either one you created yourself, or an out-of-the-box one that you don't need), remove the bundle entry from `config/bundles.php`.
 
 ## Core packages
 
diff --git a/docs/ai/ai_actions/configure_ai_actions.md b/docs/ai/ai_actions/configure_ai_actions.md
index d0edff8321..e9557e3716 100644
--- a/docs/ai/ai_actions/configure_ai_actions.md
+++ b/docs/ai/ai_actions/configure_ai_actions.md
@@ -93,7 +93,7 @@ You can now use the Anthropic connector in your project.
 !!! note "Current model availability"
 
     Anthropic regularly releases new models and deprecates older ones.
-    Before you configure the connector, check the [Anthropic models overview](https://docs.anthropic.com/en/docs/about-claude/models/overview) for the current list of supported model identifiers.
+    Before you configure the connector, check the [Anthropic models overview](https://platform.claude.com/docs/en/about-claude/models/overview) for the current list of supported model identifiers.
 
 ## Install Google Gemini connector [[% include 'snippets/lts-update_badge.md' %]]
 
diff --git a/docs/ai/ai_actions/extend_ai_actions.md b/docs/ai/ai_actions/extend_ai_actions.md
index da725769f3..b64718fe83 100644
--- a/docs/ai/ai_actions/extend_ai_actions.md
+++ b/docs/ai/ai_actions/extend_ai_actions.md
@@ -102,7 +102,7 @@ The `ActionServiceInterface` service extracts the configuration options from the
 
 [[= product_name =]] comes with a built-in connector to OpenAI services, but you're not limited to it and can add support for additional AI services in your application.
 
-The following example adds a new Action Handler connecting to a local AI run using [the llamafile project](https://github.com/Mozilla-Ocho/llamafile) which you can use to execute Text-To-Text Actions, such as the built-in "Refine Text" Action.
+The following example adds a new Action Handler connecting to a local AI run using [the llamafile project](https://github.com/mozilla-ai/llamafile) which you can use to execute Text-To-Text Actions, such as the built-in "Refine Text" Action.
 
 When creating an Action Handler for [[= product_name_connect =]], add the new handler identifier to the [`Ibexa AI handler` custom property](configure_ai_actions.md#initiate-integration) in [[= product_name_connect =]] user interface.
 
diff --git a/docs/api/rest_api/extending_rest_api/creating_new_rest_resource.md b/docs/api/rest_api/extending_rest_api/creating_new_rest_resource.md
index 8e820a65f0..ec995ab9cb 100644
--- a/docs/api/rest_api/extending_rest_api/creating_new_rest_resource.md
+++ b/docs/api/rest_api/extending_rest_api/creating_new_rest_resource.md
@@ -190,7 +190,7 @@ ibexa_rest:
 The `router.generate` renders a URI based on the name of the route and its parameters.
 The parameter values can be a real value or a placeholder.
 For example, `'router.generate("ibexa.rest.load_location", {locationPath: "1/2"})'` results in `/api/ibexa/v2/content/locations/1/2` while `'router.generate("ibexa.rest.load_location", {locationPath: "{locationPath}"})'` gives `/api/ibexa/v2/content/locations/{locationPath}`.
-This syntax is based on Symfony's [expression language]([[= symfony_doc =]]/components/expression_language/index.html), an extensible component that allows limited/readable scripting to be used outside the code context.
+This syntax is based on Symfony's [expression language]([[= symfony_doc =]]/components/expression_language.html), an extensible component that allows limited/readable scripting to be used outside the code context.
 
 In this example, `app.rest.greeting` is available in every SiteAccess (`default`):
 
diff --git a/docs/api/rest_api/rest_api_usage/rest_responses.md b/docs/api/rest_api/rest_api_usage/rest_responses.md
index 4f76ab4508..40b698dea0 100644
--- a/docs/api/rest_api/rest_api_usage/rest_responses.md
+++ b/docs/api/rest_api/rest_api_usage/rest_responses.md
@@ -137,7 +137,7 @@ Content-Type: application/vnd.ibexa.api.Content+json
 
 [Cross-Origin Resource Sharing (CORS)](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) can allow the REST API to be reached from a page on another domain.
 
-For more information about CORS, see [WHATWG's CORS Protocol specification](https://fetch.spec.whatwg.org/#cors-protocol) and [Overview of CORS on developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS).
+For more information about CORS, see [WHATWG's CORS Protocol specification](https://fetch.spec.whatwg.org/#cors-protocol) and [Overview of CORS on developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS).
 
 CORS support is provided by the third party [nelmio/cors-bundle](https://packagist.org/packages/nelmio/cors-bundle). You can read more about it in [NelmioCorsBundle's README](https://github.com/nelmio/NelmioCorsBundle/blob/master/README.md).
 
diff --git a/docs/cdp/cdp_activation/cdp_configuration.md b/docs/cdp/cdp_activation/cdp_configuration.md
index 195ce2fb3b..39a13c8eb5 100644
--- a/docs/cdp/cdp_activation/cdp_configuration.md
+++ b/docs/cdp/cdp_activation/cdp_configuration.md
@@ -88,7 +88,7 @@ For instructions, see [CDP API activations](https://content.raptorservices.com/h
 
 Set up a "Website tracking" dataflow with `coid` (cookie ID) as the person identifier so that Raptor can use the tracking data in the CDP.
 
-For more information, see [Website tracking dataflow](https://content.raptorservices.com/help-center/tools/datamanager/introduction-to-the-data-manager#:~:text=Website%20tracking,-You) in Raptor documentation.
+For more information, see [Website tracking dataflow](https://content.raptorservices.com/help-center/tools/datamanager/introduction-to-the-data-manager) in Raptor documentation.
 
 ### Configuration
 
diff --git a/docs/commerce/storefront/configure_storefront.md b/docs/commerce/storefront/configure_storefront.md
index d014174263..dfd10322b3 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]([[= user_doc =]]/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 =]]/product_catalog/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/images/fastly_io.md b/docs/content_management/images/fastly_io.md
index 584604bd2b..bd3eab6c35 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://www.fastly.com/documentation/guides/full-site-delivery/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/image-optimization/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://www.fastly.com/documentation/guides/getting-started/hosts/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/getting_started/install_ibexa_dxp.md b/docs/getting_started/install_ibexa_dxp.md
index 8e6d13b984..db814210f3 100644
--- a/docs/getting_started/install_ibexa_dxp.md
+++ b/docs/getting_started/install_ibexa_dxp.md
@@ -23,7 +23,7 @@ You can install it by following your favorite tutorial, for example: [Install LA
 
 Additional requirements:
 
-- [Node.js](https://nodejs.org/en) and [Yarn](https://classic.yarnpkg.com/en/docs/install/#debian-stable) for asset management
+- [Node.js](https://nodejs.org/en) and [Yarn](https://classic.yarnpkg.com/en/docs/install/) for asset management
 - `git` for version control
 
 For production, you need to [configure an HTTP server](#configure-an-http-server), Apache or nginx (Apache is used as an example below).
@@ -366,7 +366,7 @@ Prepare a [virtual host configuration](https://en.wikipedia.org/wiki/Virtual_hos
 
 === "Apache"
 
-    You can copy [the example vhost file](https://raw.githubusercontent.com/ibexa/post-install/main/resources/templates/apache2/vhost.template)
+    You can copy [the example vhost file](https://raw.githubusercontent.com/ibexa/post-install/5.0/resources/templates/apache2/vhost.template)
     to `/etc/apache2/sites-available` as a `.conf` file and modify it to fit your project.
 
     Specify `//public` as the `DocumentRoot` and `Directory`, or ensure `BASEDIR` is set in the environment.
@@ -393,7 +393,7 @@ Prepare a [virtual host configuration](https://en.wikipedia.org/wiki/Virtual_hos
 
 === "nginx"
 
-    You can use [this example vhost file](https://raw.githubusercontent.com/ibexa/post-install/main/resources/templates/nginx/vhost.template) and modify it to fit your project. You also need the `ibexa_params.d` files that should reside in a subdirectory below where the main file is, [as is shown here](https://github.com/ibexa/post-install/tree/5.0/resources/templates/nginx).
+    You can use [this example vhost file](https://raw.githubusercontent.com/ibexa/post-install/5.0/resources/templates/nginx/vhost.template) and modify it to fit your project. You also need the `ibexa_params.d` files that should reside in a subdirectory below where the main file is, [as is shown here](https://github.com/ibexa/post-install/tree/5.0/resources/templates/nginx).
 
 
     Specify `//public` as the `root`, or ensure `BASEDIR` is set in the environment.
diff --git a/docs/getting_started/requirements.md b/docs/getting_started/requirements.md
index a405a53dba..88ad28e571 100644
--- a/docs/getting_started/requirements.md
+++ b/docs/getting_started/requirements.md
@@ -298,7 +298,7 @@ For production setups it's recommended that you use Varnish/Fastly, Redis/Valkey
 
     - Linux NFS or S3/EFS (for IO, aka binary files stored in content repository, not supported with legacy)
     - Redis 7.2+, 8.4+, or Valkey 9.0+ (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)
-    - [Varnish](http://varnish-cache.org/) 6.0LTS or 7.1 with [varnish-modules](https://github.com/varnish/varnish-modules/blob/master/README.md) or [Fastly](https://www.fastly.com/) using [the provided bundle](http_cache.md) (for HTTP Cache)
+    - [Varnish](https://www.varnish.org/) 6.0LTS or 7.1 with [varnish-modules](https://github.com/varnish/varnish-modules/blob/master/README.md) or [Fastly](https://www.fastly.com/) using [the provided bundle](http_cache.md) (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.
@@ -307,7 +307,7 @@ For production setups it's recommended that you use Varnish/Fastly, Redis/Valkey
 
     - Linux NFS or S3/EFS (for IO, aka binary files stored in content repository, not supported with legacy)
     - Redis 4.0+, 5.0+, 7.2+, 8.4+, or Valkey 9.0+ (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 or 7.1 with [varnish-modules](https://github.com/varnish/varnish-modules/blob/master/README.md) or [Fastly](https://www.fastly.com/) using [the provided bundle](http_cache.md) (for HTTP Cache)
+    - [Varnish](https://www.varnish.org/) 6.0LTS or 7.1 with [varnish-modules](https://github.com/varnish/varnish-modules/blob/master/README.md) or [Fastly](https://www.fastly.com/) using [the provided bundle](http_cache.md) (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.
@@ -316,7 +316,7 @@ For production setups it's recommended that you use Varnish/Fastly, Redis/Valkey
 
     - Linux NFS or S3/EFS (for IO, aka binary files stored in content repository, not supported with legacy)
     - Redis 4.0+ or 5.0+ (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/) (for HTTP Cache)
+    - [Varnish](https://www.varnish.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.
diff --git a/docs/ibexa_cloud/ibexa_cloud_guide.md b/docs/ibexa_cloud/ibexa_cloud_guide.md
index cbd9fab944..baa3536bfa 100644
--- a/docs/ibexa_cloud/ibexa_cloud_guide.md
+++ b/docs/ibexa_cloud/ibexa_cloud_guide.md
@@ -50,7 +50,7 @@ All you have to do is access it and you can start deploying resources and develo
 
 ### Performance management
 
-Make your applications more effective, scalable, and effective by using the [Observability Suite](https://docs.upsun.com/increase-observability.html).
+Make your applications more effective, scalable, and effective by using the [Observability Suite](https://developer.upsun.com/docs/observability).
 This package gives you the ability to test, profile, and monitor your application before putting it into production.
 Observability Suite comes with each [[= product_name_cloud =]] subscription.
 
@@ -127,5 +127,5 @@ When you submit a ticket with [[= product_name_cloud =]], the support team looks
 ### Lower cost
 
 With PaaS solution there is no need to purchase and maintain hardware or software infrastructure. This reduces the total cost of ownership and operational expenses.
-According to [Forrester Total Economic Impact report](https://devcenter.upsun.com/posts/platform-sh-drives-meaningful-cost-savings/) from March 2022, a company that uses Upsun for three years achieves an investment return of 219%.
+According to Forrester Total Economic Impact report from March 2022, a company that uses Upsun for three years achieves an investment return of 219%.
 According to this in-depth analysis, Upsun reduces operating expenses for developers and IT by $1 million over the course of three years, and in as little as seven months, break-even point can be reached.
diff --git a/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md b/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md
index 29f645630f..5fedd458da 100644
--- a/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md
+++ b/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md
@@ -67,12 +67,12 @@ You can solve this issue in one of the following ways:
 
 Varnish configuration:
 
-- [`http_resp_hdr_len`](https://varnish-cache.org/docs/6.0/reference/varnishd.html#http-resp-hdr-len) (default 8k, change to for example, 32k)
-- [`http_max_hdr`](https://varnish-cache.org/docs/6.0/reference/varnishd.html#http-max-hdr) (default 64, change to for example, 128)
-- [`http_resp_size`](https://varnish-cache.org/docs/6.0/reference/varnishd.html#http-resp-size) (default 23k, change to for example, 96k)
-- [`workspace_backend`](https://varnish-cache.org/docs/6.0/reference/varnishd.html#workspace-backend) (default 64k, change to for example, 128k)
+- [`http_resp_hdr_len`](https://www.varnish.org/docs/reference/varnishd/#http_resp_hdr_len) (default 8k, change to for example, 32k)
+- [`http_max_hdr`](https://www.varnish.org/docs/reference/varnishd/#http_max_hdr) (default 64, change to for example, 128)
+- [`http_resp_size`](https://www.varnish.org/docs/reference/varnishd/#http_resp_size) (default 23k, change to for example, 96k)
+- [`workspace_backend`](https://www.varnish.org/docs/reference/varnishd/#workspace_backend) (default 64k, change to for example, 128k)
 
-If you need to see these long headers in `varnishlog`, adapt the [`vsl_reclen`](https://varnish-cache.org/docs/6.0/reference/varnishd.html#vsl-reclen) setting.
+If you need to see these long headers in `varnishlog`, adapt the [`vsl_reclen`](https://www.varnish.org/docs/reference/varnishd/#vsl_reclen) setting.
 
 Nginx has a default limit of 4k/8k when buffering responses:
 
diff --git a/docs/infrastructure_and_maintenance/cache/http_cache/fastly.md b/docs/infrastructure_and_maintenance/cache/http_cache/fastly.md
index b80251aedd..fc009185ac 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://www.fastly.com/documentation/guides/full-site-delivery/custom-vcl/uploading-custom-vcl).
+You can change the behaviour of Fastly by [uploading custom VCL files](https://www.fastly.com/documentation/guides/full-site-delivery/fastly-vcl/working-with-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://www.fastly.com/documentation/guides/full-site-delivery/custom-vcl/about-vcl-snippets).
+You do it by creating [snippets](https://www.fastly.com/documentation/guides/full-site-delivery/fastly-vcl/vcl-snippets/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://www.fastly.com/documentation/guides/full-site-delivery/dictionaries/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.
@@ -390,7 +390,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://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 =]].
+This example uses [snippets](https://www.fastly.com/documentation/guides/full-site-delivery/fastly-vcl/vcl-snippets/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/http_cache.md b/docs/infrastructure_and_maintenance/cache/http_cache/http_cache.md
index 3ef834ec29..56d010379c 100644
--- a/docs/infrastructure_and_maintenance/cache/http_cache/http_cache.md
+++ b/docs/infrastructure_and_maintenance/cache/http_cache/http_cache.md
@@ -17,7 +17,7 @@ For content view responses coming from [[= product_name =]] itself, this means t
 All of this works across all the supported reverse proxies:
 
 - [Symfony HttpCache Proxy](reverse_proxy.md) - limited to a single server, and with limited performance/features
-- [Varnish](https://varnish-cache.org/) - high performance reverse proxy
+- [Varnish](https://www.varnish.org/) - high performance reverse proxy
 - [Fastly](https://www.fastly.com/) - Varnish-based CDN service
 
 You can use all these features in custom controllers as well.
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 d9c3290d48..8fa751f2ad 100644
--- a/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md
+++ b/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md
@@ -56,7 +56,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://www.fastly.com/documentation/guides/getting-started/hosts/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).
 
@@ -195,14 +195,14 @@ If you created a custom Captcha block for your site by overriding the default fi
 data-field-id="{{ field.id }}"
 ```
 
-As a result, your file should be similar to [this example](https://github.com/ibexa/form-builder/blob/5.0/src/bundle/Resources/views/themes/standard/fields/captcha.html.twig).
+As a result, your file should be similar to `vendor/ibexa/form-builder/src/bundle/Resources/views/themes/standard/fields/captcha.html.twig` file.
 
 For more information about configuring Captcha fields, see [Captcha field](work_with_forms.md#captcha-field).
 
 ### 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://www.fastly.com/documentation/guides/getting-started/concepts/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
 
@@ -247,7 +247,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://www.fastly.com/documentation/guides/account-info/account-management/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/user-and-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/environments.md b/docs/infrastructure_and_maintenance/environments.md
index b58ba31d3a..248f865c9d 100644
--- a/docs/infrastructure_and_maintenance/environments.md
+++ b/docs/infrastructure_and_maintenance/environments.md
@@ -15,7 +15,7 @@ You can have different configuration sets for each of them.
 
 ## Web server configuration
 
-For example, when you use Apache, in the [`VirtualHost` example](https://raw.githubusercontent.com/ibexa/post-install/main/resources/templates/apache2/vhost.template) in your installation, the required `VirtualHost` configurations have been already included.
+For example, when you use Apache, in the [`VirtualHost` example](https://raw.githubusercontent.com/ibexa/post-install/5.0/resources/templates/apache2/vhost.template) in your installation, the required `VirtualHost` configurations have been already included.
 You can switch to the desired environment by setting the `ENVIRONMENT` variable to `prod`, `dev` or another custom value, like in the following example:
 
 ```apacheconf
diff --git a/docs/infrastructure_and_maintenance/security/security_checklist.md b/docs/infrastructure_and_maintenance/security/security_checklist.md
index 638f689dc6..c4d57530af 100644
--- a/docs/infrastructure_and_maintenance/security/security_checklist.md
+++ b/docs/infrastructure_and_maintenance/security/security_checklist.md
@@ -323,7 +323,7 @@ Those steps aren't needed when using [[= product_name_cloud =]], where the provi
 
 - Run servers on a recent operating system and install security patches for dependencies.
 - Configure servers to alert you about security updates from vendors. Pay special attention to dependencies used by your project directly, or by PHP. The provider of the operating system usually has a service for this.
-- Enable [GitHub Dependabot](https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates)
+- Enable [GitHub Dependabot](https://docs.github.com/en/code-security/concepts/supply-chain-security/dependabot-security-updates)
 to receive notifications when a security fix is released in a GitHub-hosted dependency.
 - If you're not using GitHub for your project, you can create a dummy project on GitHub with the same dependencies as your real project, and enable Dependabot notifications for that.
 - Ensure you get notifications about security fixes in JavaScript dependencies.
diff --git a/docs/infrastructure_and_maintenance/sessions.md b/docs/infrastructure_and_maintenance/sessions.md
index d526210ff2..697fcc0422 100644
--- a/docs/infrastructure_and_maintenance/sessions.md
+++ b/docs/infrastructure_and_maintenance/sessions.md
@@ -82,19 +82,19 @@ See [shared sessions in the clustering guide](clustering.md#shared-sessions).
 
 To set it up, you need to:
 
-- [Configure the session save handler settings in `php.ini`](https://github.com/phpredis/phpredis/#php-session-handler)
+- [Configure the session save handler settings in `php.ini`](https://github.com/phpredis/phpredis/blob/6.2.0/README.md#php-session-handler)
 - Set `%ibexa.session.handler_id%` to `~` _(null)_ in `config/packages/ibexa.yaml`
 
 Alternatively if you have needs to configure the servers dynamically:
 
 - Set `%ibexa.session.handler_id%` (or `SESSION_HANDLER_ID` env var) to `Ibexa\Bundle\Core\Session\Handler\NativeSessionHandler`
-- Set `%ibexa.session.save_path%` (or `SESSION_SAVE_PATH` env var) to [`save_path` config for Redis](https://github.com/phpredis/phpredis/#php-session-handler)
+- Set `%ibexa.session.save_path%` (or `SESSION_SAVE_PATH` env var) to [`save_path` config for Redis](https://github.com/phpredis/phpredis/blob/6.2.0/README.md#php-session-handler)
 
 !!! note "[[= product_name_cloud =]]"
 
     For [[= product_name_cloud =]] installations, the [`ibexa/cloud` package](install_on_ibexa_cloud.md) performs configuration based on the `.platform.app.yaml` file.
 
-If you're on `php-redis` v4.2.0 and higher, you can optionally tweak [`php-redis` settings](https://github.com/phpredis/phpredis#session-locking) for session locking.
+If you're on `php-redis` v4.2.0 and higher, you can optionally tweak [`php-redis` settings](https://github.com/phpredis/phpredis/blob/6.2.0/README.md#session-locking) for session locking.
 
 Ideally keep [persistence cache](persistence_cache.md) and session data separated:
 
diff --git a/docs/js/custom.js b/docs/js/custom.js
index d67814e91e..1a50125e76 100644
--- a/docs/js/custom.js
+++ b/docs/js/custom.js
@@ -5,7 +5,7 @@ $(document).ready(function() {
     const latestVersionNumber = '5.0';
 
     // replace edit url
-    let branchName = 'master';
+    let branchName = '5.0';
     const branchNameRegexp = /\/en\/([a-z0-9-_.]*)\//g.exec(document.location.href);
     const eolVersions = window.eol_versions ?? [];
 
@@ -21,7 +21,7 @@ $(document).ready(function() {
     }
 
     if (!/^\d+\.\d+$/.test(branchName) && branchName !== 'latest') {
-        branchName = 'master';
+        branchName = '5.0';
     }
 
     // Insert version into header links
diff --git a/docs/multisite/languages/automated_translations.md b/docs/multisite/languages/automated_translations.md
index 38a6ec1bb2..5ec9e483ef 100644
--- a/docs/multisite/languages/automated_translations.md
+++ b/docs/multisite/languages/automated_translations.md
@@ -49,7 +49,7 @@ composer require ibexa/automated-translation
 
 Before you can start using the feature, you must configure access to your Google and/or DeepL account.
 
-1\. Get the [Google API key](https://developers.google.com/maps/documentation/javascript/get-api-key) and/or [DeepL Pro key](https://support.deepl.com/hc/en-us/articles/360020695820-API-Key-for-DeepL-s-API).
+1\. Get the [Google API key](https://developers.google.com/maps/documentation/javascript/get-api-key) and/or [DeepL Pro key](https://support.deepl.com/hc/en-us/articles/360020695820-API-key-for-DeepL-API).
 
 2\. Set these values in the YAML configuration files, under the `ibexa_automated_translation.system.default.configurations` key:
 
diff --git a/docs/personalization/enable_personalization.md b/docs/personalization/enable_personalization.md
index c5b764a7ef..e59b9914e0 100644
--- a/docs/personalization/enable_personalization.md
+++ b/docs/personalization/enable_personalization.md
@@ -319,7 +319,7 @@ In the back office, go to **Personalization** > **Import** and review the list o
 
 The Personalization server is automatically kept in sync with the content in [[= product_name =]].
 
-Every time an editor creates, updates or deletes content in the back office, a notification is sent to https://admin.perso.ibexa.co/.
+Every time an editor creates, updates or deletes content in the back office, a notification is sent to the personalization server.
 The personalization service also notifies other components of the Personalization server and it eventually fetches the affected content and updates it internally.
 
 ![Subsequent content exports](incremental_content_export.png)
diff --git a/docs/personalization/tracking_with_ibexa-tracker.md b/docs/personalization/tracking_with_ibexa-tracker.md
index 71079030e1..35a6df46cf 100644
--- a/docs/personalization/tracking_with_ibexa-tracker.md
+++ b/docs/personalization/tracking_with_ibexa-tracker.md
@@ -88,7 +88,7 @@ _ycq.push(['_trackEvent', '1', 'click', '10', '']);
 | `_trackEvent` | - Executed with four additional parameters: `ItemType`, `EventType`, `ItemId`, `UserId`.
- `EventType` can be any of the [described types]([[= user_doc =]]/personalization/event_types/) | capturing an event: `_ycq.push(['_trackEvent', '1', 'buy', '10', '']);` | | `_trackTimedEvent` | - Executed with five additional parameters:`ItemType`, `EventType`, `ItemId`, `Timeout`, `UserId`.
- `EventType` can be any of the [described types]([[= user_doc =]]/personalization/event_types/).
- `Timeout` can be any integer greater than 0 representing time in ms | consume event sent after 20s: `_ycq.push(['_trackTimedEvent', '1', 'consume', '10', '20000', '']);` | | `_login` | - Executed with two additional parameters: anonymous userId, pseudonymous userId.
- It is to be triggered when a user logs in and the tracking identity is changed.
| - | -| `ycreco=true` | - If you want to send a click recommended event you can append the following parameter to the recommended item URLs: | [https://mydomain.com/mypage.html?ycreco=true](https://mydomain.com/mypage.html?ycreco=true) or
[https://mydomain.com/mypage.html?myparameter=x&ycreco=true](https://mydomain.com/mypage.html?myparameter=x&ycreco=true) | +| `ycreco=true` | - If you want to send a click recommended event you can append the following parameter to the recommended item URLs: | [https://example.com/mypage.html?ycreco=true](https://example.com/mypage.html?ycreco=true) or
[https://example.com/mypage.html?myparameter=x&ycreco=true](https://example.com/mypage.html?myparameter=x&ycreco=true) | ## Tracking with HTML event handlers diff --git a/docs/product_catalog/quable/install_quable.md b/docs/product_catalog/quable/install_quable.md index 08bb2adfd2..bbacf5b0ee 100644 --- a/docs/product_catalog/quable/install_quable.md +++ b/docs/product_catalog/quable/install_quable.md @@ -9,7 +9,7 @@ To integrate [[= product_name =]] with [[= pim_product_name =]] PIM, you need to ## Create [[= pim_product_name =]] instance -Before installing the [[= pim_product_name =]] connector, ensure you have access to a [[[= pim_product_name =]] PIM instance](https://quable.com). +Before installing the [[= pim_product_name =]] connector, ensure you have access to a [[[= pim_product_name =]] PIM instance](https://www.quable.com). ## Install package diff --git a/docs/product_catalog/quable/quable.md b/docs/product_catalog/quable/quable.md index 0b340e2b6e..02282290aa 100644 --- a/docs/product_catalog/quable/quable.md +++ b/docs/product_catalog/quable/quable.md @@ -17,7 +17,7 @@ Products can be viewed, selected, and embedded in [[= product_name =]], while al [[= cards([ "product_catalog/quable/quable_guide", ("https://doc.ibexa.co/projects/userguide/en/5.0/product_catalog/quable_pim_integration/"), - ("https://quable.com/en", "Quable - PIM solution for product data management", "Manage your product data and accelerate sales with Quable. Discover the new PIM platform that revolutionizes the product experience"), + ("https://www.quable.com/en", "Quable - PIM solution for product data management", "Manage your product data and accelerate sales with Quable. Discover the new PIM platform that revolutionizes the product experience"), ("https://docs.quable.com/", "Quable resources", "Find all Quable PIM, DAM, and Portal resources: user guides, training content, product documentation, technical documentation, and the PIM API for developers."), ]) =]] diff --git a/docs/product_catalog/quable/quable_api.md b/docs/product_catalog/quable/quable_api.md index 545788234b..fb9004a0fa 100644 --- a/docs/product_catalog/quable/quable_api.md +++ b/docs/product_catalog/quable/quable_api.md @@ -9,7 +9,7 @@ month_change: false As [[= pim_product_name =]] products are represented as [[= product_name =]] products, you can use the existing [Product APIs](product_api.md) to retrieve the product information. [[= pim_product_name =]] is the source of truth about products and categories and you should only use the [[= product_name =]] APIs to read the information coming from [[= pim_product_name =]], but you can't use them to modify it. -To modify the information, use the [[[= pim_product_name =]] interface](https://quable.com) or the dedicated [[[= pim_product_name =]] APIs](https://developers.quable.com/quable-api/). +To modify the information, use the [[[= pim_product_name =]] interface](https://www.quable.com) or the dedicated [[[= pim_product_name =]] APIs](https://developers.quable.com/quable-api/). ## REST API Usage diff --git a/docs/release_notes/ez_platform_v1.10.0.md b/docs/release_notes/ez_platform_v1.10.0.md index adbba9d7fb..ac806a1be0 100644 --- a/docs/release_notes/ez_platform_v1.10.0.md +++ b/docs/release_notes/ez_platform_v1.10.0.md @@ -4,7 +4,7 @@ **The FAST TRACK v1.10.0 release of eZ Platform and eZ Platform Enterprise Edition is available as of June 28, 2017.** -If you're looking for the Long Term Support (LTS) release, see [https://ezplatform.com/Blog/Long-Term-Support-is-Here](https://ezplatform.com/Blog/Long-Term-Support-is-Here) +If you're looking for the Long Term Support (LTS) release, see [eZ Platform 1.7 release notes](ez_platform_v1.7.0_lts.md). ## Notable changes since v1.9.0 @@ -22,7 +22,7 @@ This is a first step. We aim to provide more in terms of table support in the ed This is a new way to handle design, theming and design overrides, similar to what we had in eZ Publish. It enables you to define different Themes which are collections of assets and templates. You can then assemble Themes (that can override each other) to define Designs, and eventually, assign a Design to a SiteAccess. This is a powerful concept that we aim to use in our out-of-the-box templates and demo sites. It comes especially handy when using eZ Platform for a multisite installation and willing to reuse design parts. -For more information, see [Bundle documentation](https://github.com/ezsystems/ezplatform-design-engine/tree/master/doc). +For more information, see [Bundle documentation](https://github.com/ezsystems/ezplatform-design-engine/tree/v1.0/doc). ![""](newdesigntable.png) @@ -102,21 +102,11 @@ Starting with 1.10, a new command `ezplatform:io:migrate-files` has been added Kudos to [@emodric](https://twitter.com/emodric) for the Tags bundle, [@pspanja](https://twitter.com/pspanja) for the work Solr index-time boosting, [@plopix](https://twitter.com/Plopix) for the NovaeZSEOBundle, [@jvieilledent](https://twitter.com/jvieilledent) for the initial work on the design engine and to all others who contributed bug reports, feedback and comments that made this release possible. -### Installation - -[Installation Guide](https://doc.ibexa.co/en/latest/getting_started/install_ez_platform) - -[Technical Requirements](https://doc.ibexa.co/en/latest/getting_started/requirements) - ### Download -#### eZ Platform - -- Download at [eZPlatform.com](http://ezplatform.com/#download) - #### eZ Enterprise -- [Customers: eZ Enterprise subscription (BUL License)](https://support.ez.no/Downloads) +- [Customers: eZ Enterprise subscription (BUL License)](https://support.ibexa.co/) - Partners: Test & Trial software access (TTL License) If you would like to become familiar with the products, [request a demo](https://www.ibexa.co/forms/request-a-demo). diff --git a/docs/release_notes/ez_platform_v1.11.0.md b/docs/release_notes/ez_platform_v1.11.0.md index 0956159832..fa10b725b0 100644 --- a/docs/release_notes/ez_platform_v1.11.0.md +++ b/docs/release_notes/ez_platform_v1.11.0.md @@ -4,7 +4,7 @@ **The FAST TRACK v1.11.0 release of eZ Platform and eZ Platform Enterprise Edition is available as of August 24, 2017.** -If you're looking for the Long Term Support (LTS) release, see [https://ezplatform.com/Blog/Long-Term-Support-is-Here](https://ezplatform.com/Blog/Long-Term-Support-is-Here) +If you're looking for the Long Term Support (LTS) release, see [eZ Platform 1.7 release notes](ez_platform_v1.7.0_lts.md). ## Notable changes since v1.10.0 @@ -80,21 +80,11 @@ full support, maintenance, and priority security patch handling as they're used | [List of changes for rc1 of eZ Platform v1.11.0 on GitHub](https://github.com/ezsystems/ezplatform/releases/tag/v1.11.0-rc1) | [List of changes for rc1 for eZ Platform Enterprise Edition v1.11.0 on GitHub](https://github.com/ezsystems/ezplatform-ee/releases/tag/v1.11.0-rc1) | | [List of changes for beta1 of eZ Platform v1.11.0 on GitHub](https://github.com/ezsystems/ezplatform/releases/tag/v1.11.0-beta1) | [List of changes for beta1 of eZ Platform Enterprise Edition v1.11.0 on GitHub](https://github.com/ezsystems/ezplatform-ee/releases/tag/v1.11.0-beta1) | -### Installation - -[Installation Guide](https://doc.ibexa.co/en/latest/getting_started/install_ez_platform) - -[Technical Requirements](https://doc.ibexa.co/en/latest/getting_started/requirements) - ### Download -#### eZ Platform - -- Download at [eZPlatform.com](http://ezplatform.com/#download) - #### eZ Enterprise -- [Customers: eZ Enterprise subscription (BUL License)](https://support.ez.no/Downloads) +- [Customers: eZ Enterprise subscription (BUL License)](https://support.ibexa.co/) - Partners: Test & Trial software access (TTL License) If you would like to become familiar with the products, [request a demo](https://www.ibexa.co/forms/request-a-demo). diff --git a/docs/release_notes/ez_platform_v1.12.0.md b/docs/release_notes/ez_platform_v1.12.0.md index ce89c4157f..3ccb027b33 100644 --- a/docs/release_notes/ez_platform_v1.12.0.md +++ b/docs/release_notes/ez_platform_v1.12.0.md @@ -4,7 +4,7 @@ **The FAST TRACK v1.12.0 release of eZ Platform and eZ Platform Enterprise Edition is available as of October 31, 2017.** -If you're looking for the Long Term Support (LTS) release, see [https://ezplatform.com/Blog/Long-Term-Support-is-Here](https://ezplatform.com/Blog/Long-Term-Support-is-Here) +If you're looking for the Long Term Support (LTS) release, see [eZ Platform 1.7 release notes](ez_platform_v1.7.0_lts.md). ## Notable changes since v1.11.0 @@ -49,21 +49,11 @@ For Varnish users be aware thus change implies new VCL and requirement for varni | [List of changes for rc1 of eZ Platform v1.12.0 on GitHub](https://github.com/ezsystems/ezplatform/releases/tag/v1.12.0-rc1) | [List of changes for rc1 for eZ Platform Enterprise Edition v1.12.0 on GitHub](https://github.com/ezsystems/ezplatform-ee/releases/tag/v1.12.0-rc1) | | [List of changes for beta2 of eZ Platform v1.12.0 on GitHub](https://github.com/ezsystems/ezplatform/releases/tag/v1.12.0-beta2) | [List of changes for beta2 of eZ Platform Enterprise Edition v1.12.0 on GitHub](https://github.com/ezsystems/ezplatform-ee/releases/tag/v1.12.0-beta2) | -### Installation - -[Installation Guide](https://doc.ibexa.co/en/latest/getting_started/install_ez_platform) - -[Technical Requirements](https://doc.ibexa.co/en/latest/getting_started/requirements) - ### Download -#### eZ Platform - -- Download at eZPlatform.com - #### eZ Enterprise -- [Customers: eZ Enterprise subscription (BUL License)](https://support.ez.no/Downloads) +- [Customers: eZ Enterprise subscription (BUL License)](https://support.ibexa.co/) - Partners: Test & Trial software access (TTL License) If you would like to become familiar with the products, [request a demo](https://www.ibexa.co/forms/request-a-demo). @@ -76,7 +66,7 @@ To update to this version, follow the [updating guide](https://doc.ibexa.co/en/ This release enables the [ezplatform-http-cache](https://github.com/ezsystems/ezplatform-http-cache) Bundle by default as it has a more future-proof approach for HttpCache: - Cache tagging is more reliable at clearing all affected cache on, for instance, subtree operations - - More performant using [xkey](https://github.com/varnish/varnish-modules/blob/master/docs/vmod_xkey.rst) _("Surrogate Key")_ and soft purging, over BAN and growing ban list + - More performant using [xkey](https://github.com/varnish/varnish-modules/blob/varnish-modules-0.10.2/docs/vmod_xkey.rst) _("Surrogate Key")_ and soft purging, over BAN and growing ban list This means: - There is a new VCL diff --git a/docs/release_notes/ez_platform_v1.13.0_lts.md b/docs/release_notes/ez_platform_v1.13.0_lts.md index 75eac13483..8c3e7d9ccf 100644 --- a/docs/release_notes/ez_platform_v1.13.0_lts.md +++ b/docs/release_notes/ez_platform_v1.13.0_lts.md @@ -48,21 +48,11 @@ You can [serve Varnish through Fastly](https://doc.ibexa.co/en/latest/infrastruc | [List of changes for rc1 of eZ Platform v1.13.0 on GitHub](https://github.com/ezsystems/ezplatform/releases/tag/v1.13.0-rc1) | [List of changes for rc1 for eZ Platform Enterprise Edition v1.13.0 on GitHub](https://github.com/ezsystems/ezplatform-ee/releases/tag/v1.13.0-rc1) | | [List of changes for beta2 of eZ Platform v1.13.0 on GitHub](https://github.com/ezsystems/ezplatform/releases/tag/v1.13.0-beta2) | [List of changes for beta2 of eZ Platform Enterprise Edition v1.13.0 on GitHub](https://github.com/ezsystems/ezplatform-ee/releases/tag/v1.13.0-beta2) | -### Installation - -[Installation Guide](https://doc.ibexa.co/en/latest/getting_started/install_ez_platform) - -[Technical Requirements](https://doc.ibexa.co/en/latest/getting_started/requirements) - ### Download -#### eZ Platform - -- Download at [eZPlatform.com](http://ezplatform.com/#download) - #### eZ Enterprise -- [Customers: eZ Enterprise subscription (BUL License)](https://support.ez.no/Downloads) +- [Customers: eZ Enterprise subscription (BUL License)](https://support.ibexa.co/) - Partners: Test & Trial software access (TTL License) If you would like to become familiar with the products, [request a demo](https://www.ibexa.co/forms/request-a-demo). diff --git a/docs/release_notes/ez_platform_v1.7.0_lts.md b/docs/release_notes/ez_platform_v1.7.0_lts.md index 0836a26439..ac5e28fe2c 100644 --- a/docs/release_notes/ez_platform_v1.7.0_lts.md +++ b/docs/release_notes/ez_platform_v1.7.0_lts.md @@ -4,15 +4,13 @@ **The v1.7.0 release of eZ Platform and eZ Platform Enterprise Edition is available as of December 15, 2016.** -**** - LTS Info eZ Platform Enterprise Edition v1.7.0 is the first version of the 2017 Long Term Support ("LTS") release which is maintained and supported until December 2019. As of v1.7.0, PHP requirements have been updated to remove PHP 5.5, leaving PHP 5.6 and 7.0 as supported PHP versions. -With the LTS release, the [new product naming](http://ez.no/Blog/eZ-Announces-Name-Changes-to-Product-Portfolio) takes effect: "eZ Platform" for the Open Source edition, and "eZ Platform Enterprise Edition" for subscribers. +With the LTS release, the new product naming takes effect: "eZ Platform" for the Open Source edition, and "eZ Platform Enterprise Edition" for subscribers. ## Notable Changes Since v1.6.0 @@ -92,21 +90,11 @@ Other improvements includes the good setup of all content type field categories ![""](productcontenttype.png) -### Installation - -[Installation Guide](https://doc.ibexa.co/en/latest/getting_started/install_ez_platform) - -[Technical Requirements](https://doc.ibexa.co/en/latest/getting_started/requirements) - ### Download -#### eZ Platform - -- Download at [eZPlatform.com](http://ezplatform.com/#download) - #### eZ Enterprise -- [Customers: eZ Enterprise subscription (BUL License)](https://support.ez.no/Downloads) +- [Customers: eZ Enterprise subscription (BUL License)](https://support.ibexa.co/) - Partners: Test & Trial software access (TTL License) If you would like to become familiar with the products, [request a demo](https://www.ibexa.co/forms/request-a-demo). diff --git a/docs/release_notes/ez_platform_v1.8.0.md b/docs/release_notes/ez_platform_v1.8.0.md index e6a21049f4..69f5cd77ff 100644 --- a/docs/release_notes/ez_platform_v1.8.0.md +++ b/docs/release_notes/ez_platform_v1.8.0.md @@ -4,7 +4,7 @@ **The FAST TRACK v1.8.0 release of eZ Platform and eZ Platform Enterprise Edition is available as of February 16, 2017.** -If you're looking for the Long Term Support (LTS) release, see[https://ezplatform.com/Blog/Long-Term-Support-is-Here](https://ezplatform.com/Blog/Long-Term-Support-is-Here) +If you're looking for the Long Term Support (LTS) release, see [eZ Platform 1.7 release notes](ez_platform_v1.7.0_lts.md). ## Notable Changes Since v1.7.0 LTS @@ -31,7 +31,7 @@ If you're looking for the Long Term Support (LTS) release, see[https://ezplatfor - New opt-in approach to HttpCache to improve usability and performance by means of: - Cache multi-tagging: allowing you to tag pages with, for example, path, location, type, or parent, so the repository can clear cache in a more targeted, accurate, and flexible way, getting rid of any "clear all" situations on complex operations. - - For Varnish this uses [xkey](https://github.com/varnish/varnish-modules/blob/master/docs/vmod_xkey.rst) instead of BAN, enabling greater performance by allowing you to control grace time. + - For Varnish this uses [xkey](https://github.com/varnish/varnish-modules/blob/varnish-modules-0.10.2/docs/vmod_xkey.rst) instead of BAN, enabling greater performance by allowing you to control grace time. - This also places HttpCache in a separate repo, allowing it to grow independently: see  - New `content/publish` policy to be able to configure `content/edit` rights independently from publish rights - Community-provided translations of the user interface may be imported individually to conserve resources @@ -78,21 +78,11 @@ If you're looking for the Long Term Support (LTS) release, see[https://ezplatfor | [List of changes for rc1 of eZ Platform v1.8.0 on GitHub](https://github.com/ezsystems/ezplatform/releases/tag/v1.8.0-rc1) | [List of changes for rc1 for eZ Platform Enterprise Edition v1.8.0 on GitHub](https://github.com/ezsystems/ezplatform-ee/releases/tag/v1.8.0-rc1) | | [List of changes for beta1 of eZ Platform v1.8.0 on GitHub](https://github.com/ezsystems/ezplatform/releases/tag/v1.8.0-beta1) | [List of changes for beta2 of eZ Platform Enterprise Edition v1.8.0 on GitHub](https://github.com/ezsystems/ezplatform-ee/releases/tag/v1.8.0-beta2) | -### Installation - -[Installation Guide](https://doc.ibexa.co/en/latest/getting_started/install_ez_platform) - -[Technical Requirements](https://doc.ibexa.co/en/latest/getting_started/requirements) - ### Download -#### eZ Platform - -- Download at [eZPlatform.com](http://ezplatform.com/#download) - #### eZ Enterprise -- [Customers: eZ Enterprise subscription (BUL License)](https://support.ez.no/Downloads) +- [Customers: eZ Enterprise subscription (BUL License)](https://support.ibexa.co/) - Partners: Test & Trial software access (TTL License) If you would like to become familiar with the products, [request a demo](https://www.ibexa.co/forms/request-a-demo). diff --git a/docs/release_notes/ez_platform_v1.9.0.md b/docs/release_notes/ez_platform_v1.9.0.md index cb29c1506d..b6cc3862eb 100644 --- a/docs/release_notes/ez_platform_v1.9.0.md +++ b/docs/release_notes/ez_platform_v1.9.0.md @@ -4,7 +4,7 @@ **The FAST TRACK v1.9.0 release of eZ Platform and eZ Platform Enterprise Edition is available as of April 19, 2017.** -If you're looking for the Long Term Support (LTS) release, see[https://ezplatform.com/Blog/Long-Term-Support-is-Here](https://ezplatform.com/Blog/Long-Term-Support-is-Here) +If you're looking for the Long Term Support (LTS) release, see [eZ Platform 1.7 release notes](ez_platform_v1.7.0_lts.md). ## Notable changes since v1.8.0 @@ -68,21 +68,11 @@ The eZ Enterprise Demo now uses the [Netgen Tags bundle](https://github.com/netg | [List of changes for rc1 of eZ Platform v1.9.0 on GitHub](https://github.com/ezsystems/ezplatform/releases/tag/v1.9.0-rc1) | [List of changes for rc1 for eZ Platform Enterprise Edition v1.9.0 on GitHub](https://github.com/ezsystems/ezplatform-ee/releases/tag/v1.9.0-rc1) | | [List of changes for beta2 of eZ Platform v1.9.0 on GitHub](https://github.com/ezsystems/ezplatform/releases/tag/v1.9.0-beta2) | [List of changes for beta1 of eZ Platform Enterprise Edition v1.9.0 on GitHub](https://github.com/ezsystems/ezplatform-ee/releases/tag/v1.9.0-beta1) | -### Installation - -[Installation Guide](https://doc.ibexa.co/en/latest/getting_started/install_ez_platform) - -[Technical Requirements](https://doc.ibexa.co/en/latest/getting_started/requirements) - ### Download -#### eZ Platform - -- Download at [eZPlatform.com](http://ezplatform.com/#download) - #### eZ Enterprise -- [Customers: eZ Enterprise subscription (BUL License)](https://support.ez.no/Downloads) +- [Customers: eZ Enterprise subscription (BUL License)](https://support.ibexa.co/) - Partners: Test & Trial software access (TTL License) If you would like to become familiar with the products, [request a demo](https://www.ibexa.co/forms/request-a-demo). diff --git a/docs/release_notes/ez_platform_v2.0.0.md b/docs/release_notes/ez_platform_v2.0.0.md index 826bf4f241..ab6e8b6693 100644 --- a/docs/release_notes/ez_platform_v2.0.0.md +++ b/docs/release_notes/ez_platform_v2.0.0.md @@ -23,7 +23,7 @@ eZ Platform has become a pure Symfony application, based on Symfony 3, which bri !!! note - The move to [Symfony 3](https://symfony.com/roadmap?version=3.4) causes some changes, for example to the project's directory structure. + The move to [Symfony 3](https://symfony.com/releases/3.4) causes some changes, for example to the project's directory structure. Among others, the `var` directory now contains cache and logs. The `bin` directory is now used to call the `console` command, so use `bin/console` instead of `app/console`. @@ -47,6 +47,6 @@ eZ Platform v2.0.0 requires PHP version 7.1, instead of 5.6, as before. Together ## Installation -[Installation guide](https://doc.ibexa.co/en/2.5/getting_started/install_ez_platform) +[Installation guide](https://doc.ibexa.co/en/2.5/getting_started/install_ez_platform/) -[Technical requirements](https://doc.ibexa.co/en/2.5/getting_started/requirements) +[Technical requirements](https://doc.ibexa.co/en/2.5/getting_started/requirements/) diff --git a/docs/release_notes/ez_platform_v2.1.0.md b/docs/release_notes/ez_platform_v2.1.0.md index 5bf2700a9e..4b7ced828a 100644 --- a/docs/release_notes/ez_platform_v2.1.0.md +++ b/docs/release_notes/ez_platform_v2.1.0.md @@ -82,6 +82,6 @@ You can now perform REST search via `POST /views` using custom `FieldCriterion`. ## Installation -[Installation guide](https://doc.ibexa.co/en/2.5/getting_started/install_ez_platform) +[Installation guide](https://doc.ibexa.co/en/2.5/getting_started/install_ez_platform/) -[Technical requirements](https://doc.ibexa.co/en/2.5/getting_started/requirements) +[Technical requirements](https://doc.ibexa.co/en/2.5/getting_started/requirements/) diff --git a/docs/release_notes/ez_platform_v2.2.0.md b/docs/release_notes/ez_platform_v2.2.0.md index c107c0ccd4..368a5052ab 100644 --- a/docs/release_notes/ez_platform_v2.2.0.md +++ b/docs/release_notes/ez_platform_v2.2.0.md @@ -23,7 +23,7 @@ This version introduces the **Page Builder** which replaces the landing page edi They will be included again in a future release. The Places Page Builder block has been removed from the clean installation and will only be available in the demo out of the box. - If you had been using this block in your site, re-apply its configuration based on [the demo](https://github.com/ezsystems/ezplatform-ee-demo/blob/master/app/config/blocks.yaml). + If you had been using this block in your site, re-apply its configuration based on [the demo](https://github.com/ezsystems/ezplatform-ee-demo/blob/2.2/app/config/blocks.yml). #### Modifying the Page content type @@ -39,9 +39,9 @@ In the Page block config you can now specify the CSS class with its own style fo !!! caution "Updating to 2.2" - Refer to [Updating eZ Platform](https://doc.ibexa.co/en/2.5/updating/5_update_2.2) for a database update script. + Refer to [Updating eZ Platform](https://doc.ibexa.co/en/2.2/releases/updating_ez_platform/) for a database update script. - To update to 2.2 with existing Content you need a [dedicated script for converting the landing page into the new Page](https://doc.ibexa.co/en/2.5/updating/5_update_2.2/#migrate-landing-pages). + To update to 2.2 with existing Content you need a [dedicated script for converting the landing page into the new Page](https://doc.ibexa.co/en/2.2/releases/updating_ez_platform/#migrate-landing-pages). ### Bookmarks @@ -59,7 +59,7 @@ You can find the list of all bookmarks in *Browse content* section. There, you c ### Standard design -eZ Platform now comes with two designs that use the [design engine](https://doc.ibexa.co/en/2.5/guide/design_engine): `standard` for content view and `admin` for the back office. +eZ Platform now comes with two designs that use the [design engine](https://doc.ibexa.co/en/2.5/guide/design_engine/): `standard` for content view and `admin` for the back office. For more information, see [default designs](https://doc.ibexa.co/en/2.5/guide/design_engine/#default-designs). !!! caution @@ -81,7 +81,7 @@ Database charset is changed from UTF8 to UTF8MB4, to support 4-byte characters. !!! caution - To cover this change when upgrading, follow the instructions in the [update guide](https://doc.ibexa.co/en/2.5/updating/5_update_2.2). + To cover this change when upgrading, follow the instructions in the [update guide](https://doc.ibexa.co/en/2.5/update_and_migration/from_1.x_2.x/update_db_to_2.5/#a-update-to-v22). ### URL generation pattern @@ -110,7 +110,7 @@ You can also use the new `composer ezplatform-install` command which automatical ### Notifications -[Notification Bundle](https://github.com/ezsystems/ezstudio-notifications) is now moved into CoreBundle of [EzPublishKernel](https://github.com/ezsystems/ezpublish-kernel). This allows whole community to get access to eZ notification system. +Notification Bundle is now moved into CoreBundle of [EzPublishKernel](https://github.com/ezsystems/ezpublish-kernel). This allows whole community to get access to eZ notification system. ### Bookmarks @@ -133,6 +133,6 @@ This release introduces a few notable simplifications to API use. Here are some ## Installation -[Installation guide](https://doc.ibexa.co/en/2.5/getting_started/install_ez_platform) +[Installation guide](https://doc.ibexa.co/en/2.5/getting_started/install_ez_platform/) -[Technical requirements](https://doc.ibexa.co/en/2.5/getting_started/requirements) +[Technical requirements](https://doc.ibexa.co/en/2.5/getting_started/requirements/) diff --git a/docs/release_notes/ez_platform_v2.3.md b/docs/release_notes/ez_platform_v2.3.md index 8b66d450a4..7b222674c2 100644 --- a/docs/release_notes/ez_platform_v2.3.md +++ b/docs/release_notes/ez_platform_v2.3.md @@ -33,7 +33,7 @@ The timeline also shows other events, such a Content published with the date-based publisher. -For more information, see [advanced publishing options](https://doc.ibexa.co/projects/userguide/en/2.5/publishing/advanced_publishing_options) in User Documentation. +For more information, see [advanced publishing options](https://doc.ibexa.co/projects/userguide/en/2.5/publishing/advanced_publishing_options/) in User Documentation. ### Form Builder @@ -47,7 +47,7 @@ For more information, see [advanced publishing options](https://doc.ibexa.co/pro ![Form Builder submissions](2.3_form_builder_submissions.png) - See [Extending Form Builder](https://doc.ibexa.co/en/2.5/guide/extending/extending_form_builder) for information on how to modify and create Form fields. + See [Extending Form Builder](https://doc.ibexa.co/en/2.5/guide/extending/extending_form_builder/) for information on how to modify and create Form fields. For more information, see [forms](https://doc.ibexa.co/projects/userguide/en/2.5/creating_content_advanced/#forms) in User Documentation. @@ -55,7 +55,7 @@ For more information, see [forms](https://doc.ibexa.co/projects/userguide/en/2.5 You can now create a single source media library with images that can be reused across the system. -For more information, see [Reusing images](https://doc.ibexa.co/en/2.5/guide/images/#reusing-images) and [ImageAsset field type reference](https://doc.ibexa.co/en/2.5/api/field_types_reference/imageassetfield). +For more information, see [Reusing images](https://doc.ibexa.co/en/2.5/guide/images/#reusing-images) and [ImageAsset field type reference](https://doc.ibexa.co/en/2.5/api/field_types_reference/imageassetfield/). ![Set up multiple relations with image](2.3_image_asset.png) @@ -114,6 +114,6 @@ For more information, see [How to translate the interface using Crowdin](https:/ ## Installation -[Installation guide](https://doc.ibexa.co/en/2.5/getting_started/install_ez_platform) +[Installation guide](https://doc.ibexa.co/en/2.5/getting_started/install_ez_platform/) -[Technical requirements](https://doc.ibexa.co/en/2.5/getting_started/requirements) +[Technical requirements](https://doc.ibexa.co/en/2.5/getting_started/requirements/) diff --git a/docs/release_notes/ez_platform_v2.4.md b/docs/release_notes/ez_platform_v2.4.md index 90562b8ada..ac430cbed4 100644 --- a/docs/release_notes/ez_platform_v2.4.md +++ b/docs/release_notes/ez_platform_v2.4.md @@ -14,7 +14,7 @@ ### Editorial workflow - [Editorial Workflow](https://doc.ibexa.co/en/2.5/guide/workflow) enables you to pass content through a series of stages. + [Editorial Workflow](https://doc.ibexa.co/en/2.5/guide/workflow/) enables you to pass content through a series of stages. Each step can be used to represent for example contributions and approval of different teams and editors. For instance, an article can pass through draft, design and proofreading stages. @@ -24,7 +24,7 @@ ![Workflow event timeline](2.4_workflow_events_timeline.png "Timeline of workflow stages a content item has gone through") - Workflow Engine is located in the [ezplatform-workflow bundle](https://github.com/ezsystems/ezplatform-workflow). + Workflow Engine is located in the ezplatform-workflow bundle. ### RichText @@ -35,7 +35,7 @@ RichText field type has been extracted to a separate bundle, [ezsystems/ezplatfo If you're implementing any interface or extending any base class from the old namespace, refer to its PHPDoc to see what to implement or extend instead. Make sure to enable the new eZ Platform RichTextBundle. -See [RichText field type Reference](https://doc.ibexa.co/en/2.5/api/field_types_reference/richtextfield). +See [RichText field type Reference](https://doc.ibexa.co/en/2.5/api/field_types_reference/richtextfield/). #### RichText block @@ -76,7 +76,7 @@ To learn how it works, see [FactBox tag](https://doc.ibexa.co/en/2.5/guide/exten You can now translate content type names and Field definitions. This possibility is available automatically when you have the target language configured -(in the same way as for translating content, see [Languages](https://doc.ibexa.co/en/2.5/guide/internationalization)). +(in the same way as for translating content, see [Languages](https://doc.ibexa.co/en/2.5/guide/internationalization/)). ![Content type with existing translations](2.4_content_type_translations.png "Available translation of a content type") @@ -213,7 +213,7 @@ The biggest benefit of this feature is saving load time on complex landing pages By default `HS256` is used as signature algorithm for generated token but we strongly recommend switching to SSH keys. - For more information, see [`LexikJWTAuthenticationBundle` installation instruction](https://github.com/lexik/LexikJWTAuthenticationBundle/blob/master/Resources/doc/index.md#installation). + For more information, see [`LexikJWTAuthenticationBundle` installation instruction](https://github.com/lexik/LexikJWTAuthenticationBundle/blob/1.x/Resources/doc/index.md). 3\. Add `EzSystems\EzPlatformPageBuilder\Security\EditorialMode\TokenAuthenticator` authentication provider to `ezpublish_front` firewall before `form_login` in `app/config/security.yml`: diff --git a/docs/release_notes/ez_platform_v2.5.md b/docs/release_notes/ez_platform_v2.5.md index 1099042908..66b847b101 100644 --- a/docs/release_notes/ez_platform_v2.5.md +++ b/docs/release_notes/ez_platform_v2.5.md @@ -41,14 +41,14 @@ Database schema is now created based on [YAML configuration](https://github.com/ ### GraphQL -You can now take advantage of [GraphQL](https://doc.ibexa.co/en/2.5/api/graphql) to query and operate on content. +You can now take advantage of [GraphQL](https://doc.ibexa.co/en/2.5/api/graphql/) to query and operate on content. It uses a domain schema based on your content model. For more information, see [GraphQL documentation](https://graphql.org/). ### Matrix field type -The new [Matrix field type](https://doc.ibexa.co/en/2.5/api/field_types_reference/matrixfield) enables you to store a table of data. +The new [Matrix field type](https://doc.ibexa.co/en/2.5/api/field_types_reference/matrixfield/) enables you to store a table of data. Columns in the matrix are defined in the field definition. ![Configuring a Matrix field type](2.5_matrix_ft.png) @@ -90,7 +90,7 @@ You can now create [inline custom tags](https://doc.ibexa.co/en/2.5/guide/extend #### Custom CK Editor plugins -You can now easily use [custom CK Editor plugins](https://doc.ibexa.co/en/2.5/guide/extending/extending_online_editor/#plugins-configuration) in AlloyEditor. +You can now easily use [custom CK Editor plugins](https://doc.ibexa.co/en/2.5/guide/extending/extending_online_editor/#custom-plugins) in AlloyEditor. ### Hiding and revealing content @@ -154,7 +154,7 @@ New API improvements include: ## Requirements changes -Due to using Webpack Encore, you now need [Node.js and yarn](https://doc.ibexa.co/en/2.5/updating/updating) +Due to using Webpack Encore, you now need [Node.js and yarn](https://doc.ibexa.co/en/2.5/update_and_migration/from_1.x_2.x/update_app_to_2.5/#c-fix-other-conflicts) to install or update eZ Platform. This release also changes support for versions of the following third-party software: @@ -163,7 +163,7 @@ This release also changes support for versions of the following third-party soft - Apache 2.2 is no longer supported. Use Apache 2.4 instead. - Varnish 4 is no longer supported. Use Varnish 5.1 or higher (6.0LTS recommended). -For full list of supported versions, see [Requirements](https://doc.ibexa.co/en/2.5/getting_started/requirements). +For full list of supported versions, see [Requirements](https://doc.ibexa.co/en/2.5/getting_started/requirements/). ### Password requirements @@ -242,7 +242,7 @@ This section provides a list of deprecated features to be removed in eZ Platform #### Custom Installers -- The `\EzSystems\PlatformInstallerBundle\Installer\CleanInstaller` class and its [service container](https://doc.ibexa.co/en/2.5/api/service_container) definition (`ezplatform.installer.clean_installer`) have been deprecated in favor of `EzSystems\PlatformInstallerBundle\Installer\CoreInstaller` which requires the [Doctrine Schema Bundle](https://github.com/ezsystems/doctrine-dbal-schema) to be enabled. +- The `\EzSystems\PlatformInstallerBundle\Installer\CleanInstaller` class and its service container definition (`ezplatform.installer.clean_installer`) have been deprecated in favor of `EzSystems\PlatformInstallerBundle\Installer\CoreInstaller` which requires the [Doctrine Schema Bundle](https://github.com/ezsystems/doctrine-dbal-schema) to be enabled. - The `ezplatform.installer.db_based_installer` service container definition has been deprecated in favor of its FQCN-named equivalent (`EzSystems\PlatformInstallerBundle\Installer\DbBasedInstaller`). - `vendor/ezsystems/ezpublish-kernel/data/mysql/schema.sql` has been deprecated and isn't used by the installation process anymore. @@ -266,7 +266,7 @@ The following PHP API methods have been added: With v2.5.6 you can optionally use Solr 7.7. To enable it: 1. Update the `ezplatform-solr-search-engine` package version to ~2.0. -2. Follow [Solr upgrade documentation](https://lucene.apache.org/solr/guide/7_7/solr-upgrade-notes.html). +2. Follow [Solr upgrade documentation](https://solr.apache.org/guide/7_7/solr-upgrade-notes.html). 3. Reindex your content. 4. Clear cache. diff --git a/docs/release_notes/ez_platform_v3.0.md b/docs/release_notes/ez_platform_v3.0.md index ad4246aa3f..de2695d587 100644 --- a/docs/release_notes/ez_platform_v3.0.md +++ b/docs/release_notes/ez_platform_v3.0.md @@ -32,12 +32,12 @@ To use Symfony Events, create [Event Listeners]([[= symfony_doc =]]/event_dispat The list of bundles in v3.0 has been extended by the following ones: -- [`ezplatform-calendar`](https://github.com/ezsystems/ezplatform-calendar) +- `ezplatform-calendar` - [`ezplatform-content-forms`](https://github.com/ezsystems/ezplatform-content-forms) - [`ezplatform-kernel`](https://github.com/ezsystems/ezplatform-kernel) - [`ezplatform-rest`](https://github.com/ezsystems/ezplatform-rest) -- [`ezplatform-site-factory`](https://github.com/ezsystems/ezplatform-site-factory) -- [`ezplatform-version-comparison`](https://github.com/ezsystems/ezplatform-version-comparison) +- `ezplatform-site-factory` +- `ezplatform-version-comparison` For details, see [Bundles](https://doc.ibexa.co/en/latest/guide/bundles). @@ -150,7 +150,7 @@ You can now duplicate a role with a single click in the back office. ### REST API reference -The REST reference has been moved from Kernel to a new page, [eZ Platform REST API](https://ezsystems.github.io/ezplatform-rest-reference). +The REST reference has been moved from Kernel to a new page, [eZ Platform REST API](https://web.archive.org/web/20201015232625/https://ezsystems.github.io/ezplatform-rest-reference/). ### Search Criteria diff --git a/docs/release_notes/ez_platform_v3.0_deprecations.md b/docs/release_notes/ez_platform_v3.0_deprecations.md index 233511207a..bce5507664 100644 --- a/docs/release_notes/ez_platform_v3.0_deprecations.md +++ b/docs/release_notes/ez_platform_v3.0_deprecations.md @@ -12,7 +12,7 @@ This page lists backwards compatibility breaks and deprecations introduced in eZ ## Symfony 5 v3.0 now uses Symfony 5 instead of Symfony 3. -Refer to [Symfony changelog for 4.0](https://github.com/symfony/symfony/blob/master/CHANGELOG-4.0.md), [for 5.0](https://github.com/symfony/symfony/blob/master/CHANGELOG-5.0.md), [Symfony upgrade guides for 4.0](https://github.com/symfony/symfony/blob/master/UPGRADE-4.0.md), and [for 5.0](https://github.com/symfony/symfony/blob/master/UPGRADE-5.0.md) to learn about all changes it entails. +Refer to [Symfony changelog for 4.0](https://github.com/symfony/symfony/blob/5.0/CHANGELOG-4.0.md), [for 5.0](https://github.com/symfony/symfony/blob/5.0/CHANGELOG-5.0.md), [Symfony upgrade guides for 4.0](https://github.com/symfony/symfony/blob/4.0/UPGRADE-4.0.md), and [for 5.0](https://github.com/symfony/symfony/blob/5.0/UPGRADE-5.0.md) to learn about all changes it entails. See [v3.0 project update](adapt_code_to_v3.md) for the steps you need to take to update your project to Symfony 5. See also [full requirements for installing eZ Platform](https://doc.ibexa.co/en/latest/getting_started/requirements). diff --git a/docs/release_notes/ez_platform_v3.1.md b/docs/release_notes/ez_platform_v3.1.md index 05133239d0..7f6c2494c5 100644 --- a/docs/release_notes/ez_platform_v3.1.md +++ b/docs/release_notes/ez_platform_v3.1.md @@ -12,8 +12,6 @@ [eZ Commerce](https://github.com/ezsystems/ezcommerce) now uses Symfony 5 and is fully integrated into the eZ Platform back office. -For more information, see [eZ Commerce documentation](https://doc.ezplatform.com/projects/ezcommerce/en/latest/). - ## New features This release of eZ Platform introduces the following new features: @@ -61,7 +59,7 @@ This release of eZ Platform introduces the following new features: - Matrix - Media - For overview of additional fields, see [User documentation on Comparing versions]([[= user_doc =]]/publishing/publishing/#comparing-versions). + For overview of additional fields, see [User documentation on Comparing versions](https://doc.ibexa.co/projects/userguide/en/3.1/publishing/publishing/#comparing-versions). ### URL management UI @@ -74,7 +72,7 @@ You can create, modify or delete URL wildcards, and decide if the user should be ![URL Management UI](3_1_URL_Management.png "URL Management UI") -For more information on how to manage URLs, see [URL management](https://doc.ibexa.co/en/latest/guide/url_management). +For more information on how to manage URLs, see [URL management](https://doc.ibexa.co/en/3.1/guide/url_management/). ### Tree view in the Universal Discovery Widget diff --git a/docs/release_notes/ibexa_dxp_v3.2.md b/docs/release_notes/ibexa_dxp_v3.2.md index 7241eb7234..60a62fbf51 100644 --- a/docs/release_notes/ibexa_dxp_v3.2.md +++ b/docs/release_notes/ibexa_dxp_v3.2.md @@ -30,7 +30,7 @@ and use assets such as images directly from the DAM in your content. [[= product_name_base =]] Platform can now save your edits in a content item or product automatically to help you preserve the progress in an event of a failure. -For more information, see [Autosave](https://doc.ibexa.co/projects/userguide/en/latest/publishing/publishing/#autosave). +For more information, see [Autosave](https://doc.ibexa.co/projects/userguide/en/3.2/publishing/publishing/#autosave). ### Aggregation API @@ -93,8 +93,6 @@ This way you can envision what content will be available in the future. Also, you can now apply new filters that are intended to help you declutter the calendar view. -For more information, see [Calendar widget](https://doc.ibexa.co/projects/userguide/en/latest/publishing/advanced_publishing_options/#calendar-widget). - ### Cloning content types When creating content types in the back office, you don't have to start from scratch. diff --git a/docs/release_notes/ibexa_dxp_v3.3.md b/docs/release_notes/ibexa_dxp_v3.3.md index 0afd78a0f3..26905fa254 100644 --- a/docs/release_notes/ibexa_dxp_v3.3.md +++ b/docs/release_notes/ibexa_dxp_v3.3.md @@ -24,7 +24,7 @@ This release brings a completely reconstructed user interface of the Personaliza [[= product_name =]] is now installed using [Symfony Flex]([[= symfony_doc =]]/quick_tour/flex_recipes.html). -See [the updated installation instruction](https://doc.ibexa.co/en/3.3/getting_started/install_ez_platform) for a new guide to installing the product. +See [the updated installation instruction](https://doc.ibexa.co/en/3.3/getting_started/install_ez_platform/) for a new guide to installing the product. ### Image Editor @@ -35,11 +35,11 @@ that contain an `ezimage` or `ezimageasset` Field. You can modify the Image Editor's default settings to change its appearance or behavior. -For more information, see [Configuring the Image Editor](https://doc.ibexa.co/en/3.3/guide/image_editor). +For more information, see [Configuring the Image Editor](https://doc.ibexa.co/en/3.3/guide/image_editor/). ### Migration bundle -The new [migration bundle](https://doc.ibexa.co/en/3.3/guide/data_migration) enables you to export and import your Repository data by using YAML files. +The new [migration bundle](https://doc.ibexa.co/en/3.3/guide/data_migration/data_migration/) enables you to export and import your Repository data by using YAML files. ## Other changes @@ -47,9 +47,9 @@ The new [migration bundle](https://doc.ibexa.co/en/3.3/guide/data_migration) ena Search API has been extended with the following capabilities: -- [Score Sort Clause](https://doc.ibexa.co/en/3.3/guide/search/sort_clause_reference/score_sort_clause) orders search results by their score. -- [CustomField Sort Clause](https://doc.ibexa.co/en/3.3/guide/search/sort_clause_reference/customfield_sort_clause) sorts search results by raw search index fields. -- [ContentTranslatedName Sort Clause](https://doc.ibexa.co/en/3.3/guide/search/sort_clause_reference/contenttranslatedname_sort_clause) sorts search results by the content items' translated names. +- [Score Sort Clause](https://doc.ibexa.co/en/3.3/guide/search/sort_clause_reference/score_sort_clause/) orders search results by their score. +- [CustomField Sort Clause](https://doc.ibexa.co/en/3.3/guide/search/sort_clause_reference/customfield_sort_clause/) sorts search results by raw search index fields. +- [ContentTranslatedName Sort Clause](https://doc.ibexa.co/en/3.3/guide/search/sort_clause_reference/contenttranslatedname_sort_clause/) sorts search results by the content items' translated names. You can now access [additional search result data from PagerFanta](https://doc.ibexa.co/en/3.3/api/public_php_api_search/#additional-search-result-data). @@ -57,12 +57,12 @@ You can now access [additional search result data from PagerFanta](https://doc.i You can now use the following new PHP API methods: -- [`UserService::loadUserGroupByRemoteId`](https://github.com/ezsystems/ezplatform-kernel/blob/master/eZ/Publish/API/Repository/UserService.php#L71) -- [`PasswordHashService::getDefaultHashType`](https://github.com/ezsystems/ezplatform-kernel/blob/master/eZ/Publish/API/Repository/PasswordHashService.php#L18) -- [`PasswordHashService::getSupportedHashTypes`](https://github.com/ezsystems/ezplatform-kernel/blob/master/eZ/Publish/API/Repository/PasswordHashService.php#L25) -- [`PasswordHashService::isHashTypeSupported`](https://github.com/ezsystems/ezplatform-kernel/blob/master/eZ/Publish/API/Repository/PasswordHashService.php#L30) -- [`PasswordHashService::createPasswordHash`](https://github.com/ezsystems/ezplatform-kernel/blob/master/eZ/Publish/API/Repository/PasswordHashService.php#L37) -- [`PasswordHashService::isValidPassword`](https://github.com/ezsystems/ezplatform-kernel/blob/master/eZ/Publish/API/Repository/PasswordHashService.php#L44) +- [`UserService::loadUserGroupByRemoteId`](https://github.com/ezsystems/ezplatform-kernel/blob/1.3/eZ/Publish/API/Repository/UserService.php#L71) +- [`PasswordHashService::getDefaultHashType`](https://github.com/ezsystems/ezplatform-kernel/blob/1.3/eZ/Publish/API/Repository/PasswordHashService.php#L18) +- [`PasswordHashService::getSupportedHashTypes`](https://github.com/ezsystems/ezplatform-kernel/blob/1.3/eZ/Publish/API/Repository/PasswordHashService.php#L25) +- [`PasswordHashService::isHashTypeSupported`](https://github.com/ezsystems/ezplatform-kernel/blob/1.3/eZ/Publish/API/Repository/PasswordHashService.php#L30) +- [`PasswordHashService::createPasswordHash`](https://github.com/ezsystems/ezplatform-kernel/blob/1.3/eZ/Publish/API/Repository/PasswordHashService.php#L37) +- [`PasswordHashService::isValidPassword`](https://github.com/ezsystems/ezplatform-kernel/blob/1.3/eZ/Publish/API/Repository/PasswordHashService.php#L44) ### Query Field Location handling diff --git a/docs/release_notes/ibexa_dxp_v4.0.md b/docs/release_notes/ibexa_dxp_v4.0.md index 3166fef3c1..b77c445b4e 100644 --- a/docs/release_notes/ibexa_dxp_v4.0.md +++ b/docs/release_notes/ibexa_dxp_v4.0.md @@ -60,7 +60,7 @@ You can now configure and use the locking feature to lock a draft of a content i so that only an assigned person can edit it, and no other user can take it over. For more information, see the [Draft locking](https://doc.ibexa.co/en/latest/guide/workflow/workflow/#draft-locking) -and relevant [User Documentation](https://doc.ibexa.co/projects/userguide/en/latest/publishing/editorial_workflow/#releasing-locked-drafts). +and relevant [User Documentation](https://doc.ibexa.co/projects/userguide/en/4.0/publishing/editorial_workflow/#releasing-locked-drafts). ### Online Editor is now based on CKEditor @@ -88,7 +88,7 @@ You can set it as required when adding the Image field to a content type. You can now select which page blocks, page layout and what edit mode are available in the Editor mode for the content type. -For more information, see [Working with Page](https://doc.ibexa.co/projects/userguide/en/latest/site_organization/working_with_page/#configure-block-display). +For more information, see [Working with Page](https://doc.ibexa.co/projects/userguide/en/4.0/site_organization/working_with_page/#configure-block-display). ### Purge all submissions of given form [[% include 'snippets/experience_badge.md' %]] [[% include 'snippets/commerce_badge.md' %]] diff --git a/docs/release_notes/ibexa_dxp_v4.1.md b/docs/release_notes/ibexa_dxp_v4.1.md index b9bed32901..0cafba6279 100644 --- a/docs/release_notes/ibexa_dxp_v4.1.md +++ b/docs/release_notes/ibexa_dxp_v4.1.md @@ -38,7 +38,7 @@ The new Measurement product attribute enables describing products with different ### Dynamic targeting block [[% include 'snippets/experience_badge.md' %]] [[% include 'snippets/commerce_badge.md' %]] -[Dynamic targeting block](https://doc.ibexa.co/projects/userguide/en/latest/site_organization/working_with_page/#dynamic-targeting-block) for the Page Builder provides recommendation items based on users related to the configured Segments. +[Dynamic targeting block](https://doc.ibexa.co/projects/userguide/en/4.1/site_organization/working_with_page/#dynamic-targeting-block) for the Page Builder provides recommendation items based on users related to the configured Segments. ![Dynamic targeting block](4.1_page_builder_dynamic_targeting.png) diff --git a/docs/release_notes/ibexa_dxp_v4.2.md b/docs/release_notes/ibexa_dxp_v4.2.md index 81631262d0..36ea3f1912 100644 --- a/docs/release_notes/ibexa_dxp_v4.2.md +++ b/docs/release_notes/ibexa_dxp_v4.2.md @@ -40,7 +40,7 @@ For more information, see [Customer Portal documentation](https://doc.ibexa.co/p #### Inviting users -You can [invite users to create their account](https://doc.ibexa.co/projects/userguide/en/latest/users/user_management/#inviting-users) in the frontend as customers or in the back office as members of your team. +You can [invite users to create their account](https://doc.ibexa.co/projects/userguide/en/4.2/user_management/manage_users/#invite-users) in the frontend as customers or in the back office as members of your team. ![Inviting members of your team](4.2_invite_users.png) @@ -106,7 +106,7 @@ you can now get recommendations for all these content types. ### Taxonomy field type -Taxonomy is now [configured with a field type](https://doc.ibexa.co/projects/userguide/en/latest/taxonomy/#add-tag), +Taxonomy is now [configured with a field type](https://doc.ibexa.co/projects/userguide/en/latest/content_management/taxonomy/work_with_tags/#add-tag), so you can use many Fields to add different taxonomy categories, for example, tags and product categories in the same content type. ### Address field type @@ -120,7 +120,7 @@ With the [new Address field type](https://doc.ibexa.co/en/latest/content_managem Data migration now offers [repeatable migration steps](https://doc.ibexa.co/en/latest/guide/data_migration/importing_data/#repeatable-steps), especially useful when creating large amounts of data, for example for testing. -You can vary the migration values by using the iteration counter, or by generating random data by using [`FakerPHP`](https://fakerphp.github.io/). +You can vary the migration values by using the iteration counter, or by generating random data by using [`FakerPHP`](https://fakerphp.org/). ## Other changes diff --git a/docs/release_notes/ibexa_dxp_v4.3.md b/docs/release_notes/ibexa_dxp_v4.3.md index db85140235..e51d7b9e62 100644 --- a/docs/release_notes/ibexa_dxp_v4.3.md +++ b/docs/release_notes/ibexa_dxp_v4.3.md @@ -73,7 +73,7 @@ From product's **Completeness** tab you can now jump directly to editing the pro #### Catalog filters -In catalogs, you can now [configure default filters](https://doc.ibexa.co/en/5.0/pim/pim_configuration/#catalog-filters) that are always added to a catalog, define filter order, and group custom filters. +In catalogs, you can now [configure default filters](https://doc.ibexa.co/en/4.3/pim/pim_configuration/#catalog-filters) that are always added to a catalog, define filter order, and group custom filters. Built-in filters are also divided into groups now for easier browsing. Filtering by the Color attribute is now possible. @@ -104,7 +104,7 @@ The catalogs functionality in the product catalog is now covered in REST API, in ### Personalization improvements Now, as a Personalization admin, after editing a model in the back office, -[you can build this model](https://doc.ibexa.co/projects/userguide/en/master/personalization/recommendation_models/#trigger-model-build), use the **Trigger model build** button to build this model with your modifications. +[you can build this model](https://doc.ibexa.co/projects/userguide/en/master/personalization/configure_models/#trigger-model-build), use the **Trigger model build** button to build this model with your modifications. ### Taxonomy improvements diff --git a/docs/release_notes/ibexa_dxp_v4.4.md b/docs/release_notes/ibexa_dxp_v4.4.md index 2806f418e9..86f443a4a8 100644 --- a/docs/release_notes/ibexa_dxp_v4.4.md +++ b/docs/release_notes/ibexa_dxp_v4.4.md @@ -42,13 +42,13 @@ For more information, see [Commerce](https://doc.ibexa.co/en/4.4/commerce/commer Another addition is the Storefront package that provides a starting kit for the developers. It's a working set of components, which you can use to test the new capabilities, and then customize and extend to create your own implementation of a web store. -For more information, see [Storefront](https://doc.ibexa.co/en/4.4/commerce/storefront/storefront). +For more information, see [Storefront](https://doc.ibexa.co/en/4.4/commerce/storefront/storefront/). ### Fastly Image Optimizer (Fastly IO) You can now use Fastly IO to serve optimized versions of your images in real time and cache them. Fastly can perform multiple transformations on your image, for example, cropping, resizing, and trimming before serving it to end user. -Fastly is an external service that requires a separate subscription, to learn more see, [Fastly Image Optimizer website](https://docs.fastly.com/en/guides/about-fastly-image-optimizer). +Fastly is an external service that requires a separate subscription, to learn more see, [Fastly Image Optimizer website](https://www.fastly.com/documentation/guides/full-site-delivery/image-optimization/about-fastly-image-optimizer/). If you already have Fastly IO subscription, you can move to [Fastly IO configuration in [[= product_name =]]](https://doc.ibexa.co/en/4.4/content_management/images/fastly_io/). @@ -85,7 +85,7 @@ provide the best recommendations. ## [[= product_name_connect =]] -You can now take advantage of [[[= product_name_connect =]]](https://www.ibexa.co/products/ibexa-connect), +You can now take advantage of [[[= product_name_connect =]]](https://www.ibexa.co/products/features/integration-and-automation), an iPaaS (integration platform-as-a-service) which allows you to connect [[= product_name =]] with third-party applications. [[= product_name_connect =]] features a low-code drag-and-drop interface and hundreds of connectors to different services that help you automate business processes. diff --git a/docs/release_notes/ibexa_dxp_v4.5.md b/docs/release_notes/ibexa_dxp_v4.5.md index f79700f039..c86aa3757b 100644 --- a/docs/release_notes/ibexa_dxp_v4.5.md +++ b/docs/release_notes/ibexa_dxp_v4.5.md @@ -207,7 +207,7 @@ It's no longer necessary to take other taxonomies into account when creating tag You can now enhance password security with a setting that prevents using passwords that have been exposed in a public breach. To do it, the system checks the password against known password dumps by using the https://haveibeenpwned.com/ API. -For more information, see [Breached passwords](https://doc.ibexa.co/en/4.5/users/user_management/#breached-passwords). +For more information, see [Breached passwords](https://doc.ibexa.co/en/4.5/users/passwords/#breached-passwords). ### [[= product_name_connect =]] diff --git a/docs/release_notes/ibexa_dxp_v4.6.md b/docs/release_notes/ibexa_dxp_v4.6.md index 0a30c84294..67f889125b 100644 --- a/docs/release_notes/ibexa_dxp_v4.6.md +++ b/docs/release_notes/ibexa_dxp_v4.6.md @@ -50,7 +50,7 @@ For more information, see [available Admin UI Twig Component groups](https://doc - `getAvailability()` returns whether the product or variant is manually set as available - `getComputedAvailability()` returns whether the product or variant can be ordered, for example, based on its stock level -For more information, see [Availability and computed availability](https://doc.ibexa.co/en/4.6/product_catalog/products/#product-availability-and-stock). +For more information, see [Availability and computed availability](https://doc.ibexa.co/en/4.6/pim/products/#product-availability-and-stock). ##### Workflow API: new `loadWorkflowMetadataForVersionInfo` method @@ -94,7 +94,7 @@ For more information, see [Product tour](https://doc.ibexa.co/en/4.6/administrat #### Taxonomy search -One [taxonomy search](https://doc.ibexa.co/en/4.6/content_management/taxonomy/taxonomy_api/search) criterion is added: +One [taxonomy search](https://doc.ibexa.co/en/4.6/content_management/taxonomy/taxonomy_api/) search criterion is added: - [`TaxonomyNoEntries`](https://doc.ibexa.co/en/4.6/search/criteria_reference/taxonomy_no_entries/) to find content items to which no taxonomy entries have been assigned. @@ -737,7 +737,7 @@ For more information, see [Discounts product guide](https://doc.ibexa.co/en/4.6/ #### Features -AI Actions can now integrate with [Ibexa Connect]([[= connect_doc =]]), giving you an opportunity to build complex data transformation workflows without having to rely on custom code. +AI Actions can now integrate with [Ibexa Connect]([[= connect_doc =]]/), giving you an opportunity to build complex data transformation workflows without having to rely on custom code. To learn more, see the [setup instructions for this integration](https://doc.ibexa.co/en/4.6/ai_actions/install_ai_actions/#configure-access-to-ibexa-connect). [[= release_note_entry_end() =]] @@ -850,7 +850,7 @@ To learn more, see the [corresponding security advisory](https://developers.ibex #### Features - New REST API endpoints for [Segments](https://doc.ibexa.co/en/4.6/api/rest_api/rest_api_reference/rest_api_reference.html#segments) and [Segment Groups](https://doc.ibexa.co/en/4.6/api/rest_api/rest_api_reference/rest_api_reference.html#segment-groups) -- PHP API Client ([`Ibexa\Contracts\Connect\ConnectClientInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Connect-ConnectClientInterface.html)) for [Ibexa Connect]([[= connect_doc =]]) +- PHP API Client ([`Ibexa\Contracts\Connect\ConnectClientInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Connect-ConnectClientInterface.html)) for [Ibexa Connect]([[= connect_doc =]]/) - The following Twig functions now additionally support objects implementing the [`ContentAwareInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Values-Content-ContentAwareInterface.html) as arguments: - [`ibexa_content_field_identifier_first_filled_image`](https://doc.ibexa.co/en/4.6/templating/twig_function_reference/image_twig_functions/#ibexa_content_field_identifier_first_filled_image) - [`ibexa_content_name`](https://doc.ibexa.co/en/4.6/templating/twig_function_reference/content_twig_functions/#ibexa_content_name) @@ -957,8 +957,8 @@ The new AI Assistant allows you to use the AI capabilities in additional places, The PHP API has been enhanced with the following new classes: -- [`Ibexa\Contracts\AdminUi\Permission\PermissionCheckContextProviderInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-AdminUi-Permission-PermissionCheckContextProviderInterface.html) -- [`Ibexa\Contracts\AdminUi\Values\PermissionCheckContext`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-AdminUi-Values-PermissionCheckContext.html) +- [`Ibexa\Contracts\Share\Permission\PermissionCheckContextProviderInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Share-Permission-PermissionCheckContextProviderInterface.html) +- [`Ibexa\Contracts\Share\Values\PermissionCheckContext`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Share-Values-PermissionCheckContext.html) - [`Ibexa\Contracts\Checkout\Discounts\DataMapper\DiscountsDataMapperInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Checkout-Discounts-DataMapper-DiscountsDataMapperInterface.html) - [`Ibexa\Contracts\Seo\Resolver\FieldValueResolverInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Seo-Resolver-FieldValueResolverInterface.html) @@ -1292,7 +1292,7 @@ and helps to make better business decisions based on data. ![Customizable dashboard](img/4.6_customizable_dashboard.png "Customizable dashboard") -For more information, see [Customizable dashboard](https://doc.ibexa.co/projects/userguide/en/master/getting_started/dashboard/dashboard/#customizable-dashboard). +For more information, see [Customizable dashboard](https://doc.ibexa.co/projects/userguide/en/4.6/getting_started/dashboard/dashboard/#customizable-dashboard). #### UX and UI improvements @@ -1315,7 +1315,7 @@ Here are the most important changes: ![Page Builder interface](img/4.6_page_builder_interface.png "Page builder interface") -For more information, see [Page Builder interface](https://doc.ibexa.co/projects/userguide/en/master/content_management/create_edit_pages/#page-builder-interface). +For more information, see [Page Builder interface](https://doc.ibexa.co/projects/userguide/en/4.6/content_management/create_edit_pages/#page-builder-interface). ##### Editing embedded content items @@ -1325,7 +1325,7 @@ and while adding or modifying a Content relation. ![Editing embedded content items](img/4.6_editing_embedded_content_items.png "Editing embedded content items") -For more information, see [Edit embedded content items](https://doc.ibexa.co/projects/userguide/en/master/content_management/create_edit_content_items/#edit-embedded-content-items). +For more information, see [Edit embedded content items](https://doc.ibexa.co/projects/userguide/en/4.6/content_management/create_edit_content_items/#edit-embedded-content-items). ##### Focus mode @@ -1362,7 +1362,7 @@ It expands the workspace to full screen and shows only editor toolbar. ![Distraction free mode](img/4.6_distraction_free_mode.png "Distraction free mode") -For more information, see [Distraction free mode](https://doc.ibexa.co/projects/userguide/en/master/content_management/create_edit_content_items/#distraction-free-mode). +For more information, see [Distraction free mode](https://doc.ibexa.co/projects/userguide/en/4.6/content_management/create_edit_content_items/#distraction-free-mode). ##### Simplified user actions @@ -1393,7 +1393,7 @@ With personal touch in mind, editors can now upload their photos (avatar), and p Also, editors and other users can customize their experience even better, with new preferences that have been added to user settings. -For more information, see [user profile and settings documentation](https://doc.ibexa.co/projects/userguide/en/master/getting_started/get_started/#edit-user-profile). +For more information, see [user profile and settings documentation](https://doc.ibexa.co/projects/userguide/en/4.6/getting_started/get_started/#view-and-edit-user-profile). ##### Recent activity log @@ -1403,7 +1403,7 @@ on the dashboard within Recent activity block, or on the user profile. ![Recent activity log](img/4.6_activity_list.png "Recent activity log") -For more information, see feature's [User Documentation](https://doc.ibexa.co/projects/userguide/en/master/recent_activity/recent_activity/), and [Developer Documentation](https://doc.ibexa.co/en/5.0/administration/recent_activity/recent_activity/). +For more information, see feature's [User Documentation](https://doc.ibexa.co/projects/userguide/en/4.6/recent_activity/recent_activity/), and [Developer Documentation](https://doc.ibexa.co/en/5.0/administration/recent_activity/recent_activity/). ##### Back office search @@ -1419,7 +1419,7 @@ In the search result page, a spellcheck suggestion can be made. For example, if the searched text is "Comany", the result page may ask "Did you mean company?", which is clickable to relaunch the search with this word. -For more information, see [User Documentation](https://doc.ibexa.co/projects/userguide/en/master/search/search_for_content/), and how to [customize autocompletion suggestions](https://doc.ibexa.co/en/5.0/administration/back_office/customize_search_suggestion/). +For more information, see [User Documentation](https://doc.ibexa.co/projects/userguide/en/4.6/search/search_for_content/), and how to [customize autocompletion suggestions](https://doc.ibexa.co/en/5.0/administration/back_office/customize_search_suggestion/). ###### Filtering and sorting @@ -1427,7 +1427,7 @@ The search result page can be sorted in other orders than relevance. Name, publi Filters can be applied to the search page to narrow down the results. -For more information, see [User Documentation](https://doc.ibexa.co/projects/userguide/en/master/search/search_for_content/#filtered-search), and how to [customize search sorting](https://doc.ibexa.co/en/5.0/administration/back_office/customize_search_sorting/). +For more information, see [User Documentation](https://doc.ibexa.co/projects/userguide/en/4.6/search/search_for_content/#filtered-search), and how to [customize search sorting](https://doc.ibexa.co/en/5.0/administration/back_office/customize_search_sorting/). ##### New and updated content type icons @@ -1440,7 +1440,7 @@ Also, content type icons have changed slightly. Editors can now use a Digital Asset Management platform that enables storing media assets in a central location, organizing, distributing, and sharing them across many channels. -For more information, see [Ibexa DAM](https://doc.ibexa.co/projects/userguide/en/master/dam/ibexa_dam/). +For more information, see [Ibexa DAM](https://doc.ibexa.co/projects/userguide/en/4.6/dam/ibexa_dam/). #### New features and improvements in product catalog @@ -1472,7 +1472,7 @@ For more information about Remote PIM support and the solution's limitations, se With this feature, you can create virtual products - non-tangible items such as memberships, services, warranties. Default Checkout and Order workflows have been adjusted to allow purchase of virtual products. -For more information, see [Create virtual products](https://doc.ibexa.co/projects/userguide/en/master/pim/create_virtual_product/). +For more information, see [Create virtual products](https://doc.ibexa.co/projects/userguide/en/4.6/pim/create_virtual_product/). ##### Product page URLs @@ -1480,7 +1480,7 @@ When you're creating a new product type, you can set up a product URL alias name With this feature, you can also create custom URL and URL alias name pattern field based on product attributes. Customized URLs are easier to remember, help with SEO optimization and reduce bounce rates on the website. -For more information, see [Product page URLs](https://doc.ibexa.co/projects/userguide/en/master/pim/work_with_product_page_urls/). +For more information, see [Product page URLs](https://doc.ibexa.co/projects/userguide/en/4.6/pim/work_with_product_page_urls/). ##### Improved UX of VAT rate assignment @@ -1488,14 +1488,14 @@ Users who are creating or editing a product type are less likely to forget about ![Assigning VAT rates to a product type](img/4.6_catalog_vat_rates.png "Assigning VAT rates to a product type") -For more information, see [Create product types](https://doc.ibexa.co/projects/userguide/en/master/pim/create_product_types/). +For more information, see [Create product types](https://doc.ibexa.co/projects/userguide/en/4.6/pim/create_product_types/). ##### Updated VAT configuration VAT rates configuration has been extended to accept additional flags under the `extras` key. Developers can use them, for example, to pass additional information to the UI, or define special exclusion rules. -For more information, see [VAT rates](https://doc.ibexa.co/en/5.0/pim/pim_configuration/#vat-rates). +For more information, see [VAT rates](https://doc.ibexa.co/en/5.0/product_catalog/product_catalog_configuration/#vat-rates). ##### Ability to search through products in a catalog @@ -1503,7 +1503,7 @@ When you're reviewing catalog details, on the **Products** tab, you can now see ##### New Twig functions -The `ibexa_is_pim_local` Twig helper has been introduced, which can be used in templates to [check whether product data comes from a local or remote data source](https://doc.ibexa.co/en/5.0/templating/twig_function_reference/storefront_twig_functions/#ibexa_is_pim_local), and adjust their behavior accordingly. +The `ibexa_is_pim_local` Twig helper has been introduced, which can be used in templates to [check whether product data comes from a local or remote data source](https://doc.ibexa.co/en/5.0/templating/twig_function_reference/product_twig_functions/#ibexa_is_pim_local), and adjust their behavior accordingly. Also, several new Twig functions have been implemented that help [get product availability information](https://doc.ibexa.co/en/5.0/templating/twig_function_reference/product_twig_functions/#ibexa_has_product_availability). ##### New and modified query types @@ -1534,7 +1534,7 @@ For more information, see [reorder documentation](https://doc.ibexa.co/en/5.0/co Orders block displays a list of orders associated with a specific company or an individual customer. This block allows users to configure orders statuses, columns, number of orders, and sorting order. -For more information, see [Orders block documentation](https://doc.ibexa.co/projects/userguide/en/master/content_management/block_reference/#orders-block). +For more information, see [Orders block documentation](https://doc.ibexa.co/projects/userguide/en/4.6/content_management/block_reference/#orders-block). ##### Quick order @@ -1566,7 +1566,7 @@ You can access shipments for your own orders or all the shipments that exist in ![Shipments](img/4.6_shipments.png "Shipments") -For more information, see [Work with shipments](https://doc.ibexa.co/projects/userguide/en/master/commerce/shipping_management/work_with_shipments/). +For more information, see [Work with shipments](https://doc.ibexa.co/projects/userguide/en/4.6/commerce/shipping_management/work_with_shipments/). ##### Owner criterion @@ -1613,7 +1613,7 @@ The feature requires that your organization exposes an endpoint that passes data - Reviving the customer's interest by pushing a message with products that are similar to the ones the customer has already seen. - Inducing a purchase by pushing a message when a price of the product from the customer's wishlist decreases. -For more information, see [Email triggers](https://doc.ibexa.co/projects/userguide/en/master/personalization/triggers/). +For more information, see [Email triggers](https://doc.ibexa.co/projects/userguide/en/4.6/personalization/triggers/). ##### Multiple attributes in recommendation computation @@ -1656,7 +1656,7 @@ Use Qualifio Engage integration to create engaging marketing experiences to your Unlike conventional streaming services, integration with SeenThis! service provides an adaptive streaming technology with no limitations. It allows you to preserve the best video quality with a minimum amount of data transfer. -For more information, see [SeenThis! block](https://doc.ibexa.co/projects/userguide/en/master/content_management/block_reference/#seenthis-block). +For more information, see [SeenThis! block](https://doc.ibexa.co/projects/userguide/en/4.6/content_management/block_reference/#seenthis-block). #### API improvements @@ -1810,7 +1810,7 @@ The following endpoints have been added in 4.6.0 release (27 endpoints in total) - Site Context API (`\Ibexa\Contracts\SiteContext\SiteContextServiceInterface`) - Dashboard API (`\Ibexa\Contracts\Dashboard\DashboardServiceInterface`) - Price resolver API (`\Ibexa\Contracts\ProductCatalog\PriceResolverInterface`) -- Location Preview URL resolver (`\Ibexa\Contracts\SiteContext\PreviewUrlResolver\LocationPreviewUrlResolverInterface`, see [GitHub](https://github.com/ibexa/site-context/pull/25)) +- Location Preview URL resolver (`\Ibexa\Contracts\SiteContext\PreviewUrlResolver\LocationPreviewUrlResolverInterface`) - ContentAware API (`\Ibexa\Contracts\Core\Repository\Values\Content\ContentAwareInterface`) - Sorting Definition API (`\Ibexa\Contracts\Search\SortingDefinition`) diff --git a/docs/release_notes/ibexa_dxp_v5.0.md b/docs/release_notes/ibexa_dxp_v5.0.md index 8e5e564082..22d424357d 100644 --- a/docs/release_notes/ibexa_dxp_v5.0.md +++ b/docs/release_notes/ibexa_dxp_v5.0.md @@ -140,10 +140,10 @@ The following additions were made to the PHP API: ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release'] ) =]] -This release introduces a new AI connector that allows you to integrate [AI Actions](https://doc.ibexa.co/en/5.0/ai_actions/ai_actions/) with [Google Gemini](https://gemini.google/overview/#what-gemini-is). +This release introduces a new AI connector that allows you to integrate [AI Actions](https://doc.ibexa.co/en/5.0/ai/ai_actions/ai_actions/) with [Google Gemini](https://gemini.google/overview/#what-gemini-is). You can also use it as an alternative embeddings provider for the [taxonomy suggestions feature](taxonomy.md#taxonomy-suggestions). -For more information, see how to [install and configure the Google Gemini connector](https://doc.ibexa.co/en/5.0/ai_actions/configure_ai_actions/#install-google-gemini-connector). +For more information, see how to [install and configure the Google Gemini connector](https://doc.ibexa.co/en/5.0/ai/ai_actions/configure_ai_actions/#install-google-gemini-connector). [[= release_note_entry_end() =]] @@ -207,7 +207,7 @@ For more information, see [Quable PIM Integration](https://doc.ibexa.co/en/5.0/p ### AI Actions in Page Builder blocks [[% include 'snippets/experience_badge.md' %]] [[% include 'snippets/commerce_badge.md' %]] -You can now use the [refining text AI Actions](https://doc.ibexa.co/en/5.0/ai_actions/ai_actions_guide/#refining-text) in Page Builder blocks string and text inputs. +You can now use the [refining text AI Actions](https://doc.ibexa.co/en/5.0/ai/ai_actions/ai_actions_guide/#refining-text) in Page Builder blocks string and text inputs. ### Developer experience @@ -289,7 +289,7 @@ The following additions were made to the PHP API: - [`Ibexa\Contracts\ProductCatalog\Events\ProductAttributeRenderEvent`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-Events-ProductAttributeRenderEvent.html) - [`Ibexa\Contracts\Taxonomy\Search\Query\Criterion\TaxonomyNoEntries`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Taxonomy-Search-Query-Criterion-TaxonomyNoEntries.html)
For more information, see [search criteria reference entry](https://doc.ibexa.co/en/5.0/search/criteria_reference/taxonomy_no_entries/). -- [`Ibexa\Contracts\ConnectorRaptor` namespace](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/namespaces/ibexa-contracts-connectorraptor.html) from the [Raptor connector add-on](https://doc.ibexa.co/en/5.0/cdp/raptor_integration/raptor_connector/) +- [`Ibexa\Contracts\ConnectorRaptor` namespace](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/namespaces/ibexa-contracts-connectorraptor.html) from the [Raptor connector add-on](https://doc.ibexa.co/en/5.0/recommendations/raptor_integration/raptor_connector/) - [`Ibexa\Contracts\IntegratedHelp` namespace](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/namespaces/ibexa-contracts-integratedhelp.html) from the [Integrated help LTS-Update](https://doc.ibexa.co/en/5.0/administration/back_office/integrated_help/) ### Full changelog @@ -331,7 +331,7 @@ Product variant querying now supports filtering by variant codes and product att You can now use the [`ProductServiceInterface::findVariants()`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-ProductServiceInterface.html#method_findVariants) method to search for variants across all products, regardless of their base product. -For more information, see [Product API - Searching variants](https://doc.ibexa.co/en/5.0/pim/product_api/#searching-for-variants-across-all-products). +For more information, see [Product API - Searching variants](https://doc.ibexa.co/en/5.0/product_catalog/product_api/#searching-for-variants-across-all-products). ### Infrastructure @@ -471,9 +471,9 @@ For more information, see [Integrated help](https://doc.ibexa.co/en/5.0/administ [[= release_note_entry_begin("Anthropic connector " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]] -This release introduces a new AI connector that allows you to integrate [AI Actions](https://doc.ibexa.co/en/5.0/ai_actions/ai_actions/) with [Anthropic Claude](https://claude.com/product/overview). +This release introduces a new AI connector that allows you to integrate [AI Actions](https://doc.ibexa.co/en/5.0/ai/ai_actions/ai_actions/) with [Anthropic Claude](https://claude.com/product/overview). -For more information, see how to [install Anthropic connector](https://doc.ibexa.co/en/5.0/ai_actions/configure_ai_actions#install-anthropic-connector). +For more information, see how to [install Anthropic connector](https://doc.ibexa.co/en/5.0/ai/ai_actions/configure_ai_actions#install-anthropic-connector). [[= release_note_entry_end() =]] @@ -778,7 +778,7 @@ It uses the [special characters plugin](https://ckeditor.com/docs/ckeditor5/late With this release, [[= product_name =]] starts supporting [Solr 9](https://doc.ibexa.co/en/5.0/getting_started/requirements/#search). -Solr 9 comes with support for [Dense Vector Search](https://solr.apache.org/guide/solr/latest/query-guide/dense-vector-search.html), paving the way for incoming improvements to the [AI Actions](https://doc.ibexa.co/en/5.0/ai_actions/ai_actions/) feature. +Solr 9 comes with support for [Dense Vector Search](https://solr.apache.org/guide/solr/latest/query-guide/dense-vector-search.html), paving the way for incoming improvements to the [AI Actions](https://doc.ibexa.co/en/5.0/ai/ai_actions/ai_actions/) feature. ### Improved content creation interface @@ -830,9 +830,9 @@ By default, the AI Actions feature can help users with their work in following s ![AI Assistant](ai_assistant.png) -AI Actions integrate with [Ibexa Connect]([[= connect_doc =]]), giving you an opportunity to build complex data transformation workflows without having to rely on custom code. +AI Actions integrate with [Ibexa Connect]([[= connect_doc =]]/), giving you an opportunity to build complex data transformation workflows without having to rely on custom code. -For more information, see [AI Actions product guide](https://doc.ibexa.co/en/5.0/ai_actions/ai_actions_guide/). +For more information, see [AI Actions product guide](https://doc.ibexa.co/en/5.0/ai/ai_actions/ai_actions_guide/). #### Discounts [[% include 'snippets/commerce_badge.md' %]] diff --git a/docs/resources/new_in_doc.md b/docs/resources/new_in_doc.md index be2f5bebee..387b1820fc 100644 --- a/docs/resources/new_in_doc.md +++ b/docs/resources/new_in_doc.md @@ -416,13 +416,13 @@ Installation instructions for v4.6 are not needed in v5.0, or replaced by config |:-----------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------| | [Install AI Actions](https://doc.ibexa.co/en/4.6/ai_actions/install_ai_actions/) | [Configure AI Actions](https://doc.ibexa.co/en/5.0/ai_actions/configure_ai_actions/) | | [Install Discounts](https://doc.ibexa.co/en/4.6/discounts/install_discounts/) | [Customize Discounts](https://doc.ibexa.co/en/5.0/discounts/configure_discounts/) directly | -| [Date and time attribute: Installation](https://doc.ibexa.co/en/4.6/pim/attributes/date_and_time/#installation) | [Date and time attribute: Usage](https://doc.ibexa.co/en/5.0/pim/attributes/date_and_time/#usage) | +| [Date and time attribute: Installation](https://doc.ibexa.co/en/4.6/pim/attributes/date_and_time/#installation) | [Date and time attribute: Usage](https://doc.ibexa.co/en/5.0/product_catalog/attributes/date_and_time/#usage) | | [Symbol attribute: Installation](https://doc.ibexa.co/en/4.6/pim/attributes/symbol_attribute_type/#installation) | [Symbol attribute](https://doc.ibexa.co/en/5.0/pim/attributes/symbol_attribute_type/) | #### PHP API Documentation examples and [PHP API Reference](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/) have been updated for v5.0. -You can use [`ibexa/rector`](https://github.com/ibexa/rector#readme) package that allows to maintain your custom PHP code quality. +You can use [`ibexa/rector`](https://github.com/ibexa/rector#ibexa-dxp-rector) package that allows to maintain your custom PHP code quality. Consult the [Ibexa DXP v5.0 renames, deprecations and removals](https://doc.ibexa.co/en/5.0/release_notes/ibexa_dxp_v5.0_deprecations/) to learn more about the changes. Major additions to the PHP API Reference are [`Ibexa\Contracts\Collaboration`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/namespaces/ibexa-contracts-collaboration.html) and [`Ibexa\Contracts\Share`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/namespaces/ibexa-contracts-share.html) namespaces, the building blocks for the [collaboration framework](https://doc.ibexa.co/en/5.0/release_notes/ibexa_dxp_v5.0/#collaboration). @@ -430,7 +430,7 @@ Major additions to the PHP API Reference are [`Ibexa\Contracts\Collaboration`](h #### REST API Layout for [v5.0 REST API Reference](https://doc.ibexa.co/en/5.0/api/rest_api/rest_api_reference/rest_api_reference.html) is now changed. -As [Ibexa DXP 5.0 is OpenAPI compliant](https://doc.ibexa.co/en/5.0/api/rest_api/rest_api_usage/#openapi-support), the specification output is used to generate the online reference. +As [Ibexa DXP 5.0 is OpenAPI compliant](https://doc.ibexa.co/en/5.0/api/rest_api/rest_api_usage/rest_api_usage/#openapi-support), the specification output is used to generate the online reference. You can also check the documentation directly on your development installations at `/api/ibexa/v2/doc`. ## June 2025 @@ -690,8 +690,7 @@ Enhanced the PHP API with the following new classes and interfaces: ### PHP API - Added the following interfaces and classes to the public PHP API: - - [`Ibexa\Contracts\AdminUi\Permission\PermissionCheckContextProviderInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-AdminUi-Permission-PermissionCheckContextProviderInterface.html) - - [`Ibexa\Contracts\AdminUi\Values\PermissionCheckContext`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-AdminUi-Values-PermissionCheckContext.html) + - [`Ibexa\Contracts\Share\Values\PermissionCheckContext`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Share-Values-PermissionCheckContext.html) - [`Ibexa\Contracts\Checkout\Discounts\DataMapper\DiscountsDataMapperInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Checkout-Discounts-DataMapper-DiscountsDataMapperInterface.html) - [`Ibexa\Contracts\Seo\Resolver\FieldValueResolverInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Seo-Resolver-FieldValueResolverInterface.html) @@ -844,7 +843,7 @@ Enhanced the PHP API with the following new classes and interfaces: ### Infrastructure and maintenance -- Added [v4.6.4 to v4.6.8 update instructions](https://doc.ibexa.co/en/4.6/update_and_migration/from_4.5/update_from_4.5/#v468) +- Added [v4.6.4 to v4.6.8 update instructions](https://doc.ibexa.co/en/4.6/update_and_migration/from_4.6/update_from_4.6/#v468) - Modified [v3.3.x to v3.3.latest update instructions](https://doc.ibexa.co/en/4.6/update_and_migration/from_3.3/update_from_3.3/#update-the-application) - Updated the recommendations in [Performance](https://doc.ibexa.co/en/4.6/infrastructure_and_maintenance/performance/#symfony) by mentioning Symfony @@ -882,8 +881,8 @@ Enhanced the PHP API with the following new classes and interfaces: ### Infrastructure and maintenance -- [Updated [[= product_name_cloud =]] domain to ibexa.cloud](https://doc.ibexa.co/en/4.6/getting_started/install_on_ibexa_cloud/#4-push-the-project) -- [v4.6.3 to v4.6.4 update instructions](https://doc.ibexa.co/en/4.6/update_and_migration/from_4.5/update_from_4.5/#v464) +- [Updated [[= product_name_cloud =]] domain to ibexa.cloud](https://doc.ibexa.co/en/4.6/ibexa_cloud/install_on_ibexa_cloud/#4-push-the-project) +- [v4.6.3 to v4.6.4 update instructions](https://doc.ibexa.co/en/4.6/update_and_migration/from_4.6/update_from_4.6/#v464) ### Documentation @@ -907,7 +906,7 @@ Enhanced the PHP API with the following new classes and interfaces: ### Infrastructure and maintenance -- [v4.6.0 to v4.6.3 update instructions](https://doc.ibexa.co/en/4.6/update_and_migration/from_4.5/update_from_4.5/#v463) +- [v4.6.0 to v4.6.3 update instructions](https://doc.ibexa.co/en/4.6/update_and_migration/from_4.6/update_from_4.6/#v463) ### Users @@ -980,7 +979,7 @@ Enhanced the PHP API with the following new classes and interfaces: - [Updated Create custom view matcher article](https://doc.ibexa.co/en/4.6/templating/templates/create_custom_view_matcher/) - [Actito transactional email integration](https://doc.ibexa.co/en/4.6/commerce/transactional_emails/transactional_emails/#configure-actito-integration) -- [Described user profile](https://doc.ibexa.co/projects/userguide/en/latest/getting_started/get_started/#edit-user-profile) +- [Described user profile](https://doc.ibexa.co/projects/userguide/en/latest/getting_started/get_started/#view-and-edit-user-profile) ## January 2024 @@ -1005,7 +1004,7 @@ Enhanced the PHP API with the following new classes and interfaces: ### Getting started - [[[= product_name_headless =]] product guide](https://doc.ibexa.co/en/4.6/ibexa_products/headless/) -- [Enhanced get started article](https://doc.ibexa.co/projects/userguide/en/latest/getting_started/get_started/#edit-user-profile) in User Documentation +- [Enhanced get started article](https://doc.ibexa.co/projects/userguide/en/latest/getting_started/get_started/#view-and-edit-user-profile) in User Documentation ### Image management @@ -1037,7 +1036,7 @@ Enhanced the PHP API with the following new classes and interfaces: ### Templating - [Taxonomy view matchers](https://doc.ibexa.co/en/4.6/templating/templates/view_matcher_reference/#taxonomy-entry-id) -- [Get content category Twig filter](https://doc.ibexa.co/en/4.6/templating/twig_function_reference/other_twig_filters/#ibexa_taxonomy_entries_for_content) +- [Get content category Twig filter](https://doc.ibexa.co/en/4.6/templating/twig_function_reference/content_twig_functions/#ibexa_taxonomy_entries_for_content-filter) - [Updated arguments list for `ibexa_render()` method](https://doc.ibexa.co/en/4.6/templating/twig_function_reference/content_twig_functions/#ibexa_render) - [New Field information Twig functions](https://doc.ibexa.co/en/4.6/templating/twig_function_reference/field_twig_functions/#ibexa_field_group_name) - [Updated get user Twig functions](https://doc.ibexa.co/en/4.6/templating/twig_function_reference/user_twig_functions/) @@ -1181,7 +1180,7 @@ Enhanced the PHP API with the following new classes and interfaces: ### Security -- [Hidden state clarification](https://doc.ibexa.co/en/4.6/infrastructure_and_maintenance/security/security_checklist/#do-not-use-hide-for-read-access-restriction) +- [Hidden state clarification](https://doc.ibexa.co/en/4.6/infrastructure_and_maintenance/security/security_checklist/#dont-use-hide-for-read-access-restriction) - [Add timeouts information](https://doc.ibexa.co/en/4.6/infrastructure_and_maintenance/security/security_checklist/#protect-against-brute-force-attacks) ## July 2023 diff --git a/docs/search/search_engines/elasticsearch/configure_elasticsearch.md b/docs/search/search_engines/elasticsearch/configure_elasticsearch.md index 62cc6b6cc0..b62afa8ae4 100644 --- a/docs/search/search_engines/elasticsearch/configure_elasticsearch.md +++ b/docs/search/search_engines/elasticsearch/configure_elasticsearch.md @@ -305,7 +305,7 @@ To do this, pass the following setting under the `ssl` key: verification: false ``` -For more information, see [Elasticsearch: SSL Encryption](https://www.elastic.co/guide/en/elasticsearch/client/php-api/8.19/connecting.html#ssl-encryption). +For more information, see [Elasticsearch: Security by default](https://www.elastic.co/guide/en/elasticsearch/client/php-api/8.19/connecting.html#auth-http). ### Enable debugging diff --git a/docs/snippets/update/finish_the_update.md b/docs/snippets/update/finish_the_update.md index 3b70a38dbc..5edf59aacd 100644 --- a/docs/snippets/update/finish_the_update.md +++ b/docs/snippets/update/finish_the_update.md @@ -1,8 +1,7 @@ ### A. Platform.sh changes If you're hosting your site on [[= product_name_cloud =]] be aware of the fact that Varnish is enabled by default as of v1.13.5, v2.4.3 and v2.5.0. -If you're using Fastly, read about [how to disable Varnish](https://docs.platform.sh/frameworks/ibexa/fastly.html#remove-varnish-configuration). - +If you're using Fastly, read about [how to disable Varnish](https://fixed.docs.upsun.com/guides/ibexa/fastly.html#remove-varnish-configuration). ### B. Dump assets Dump web assets if you're using the `prod` environment. In `dev` this happens automatically: diff --git a/docs/snippets/update/merge_composer.md b/docs/snippets/update/merge_composer.md index 72afd5f08e..b67373edf4 100644 --- a/docs/snippets/update/merge_composer.md +++ b/docs/snippets/update/merge_composer.md @@ -1,6 +1,6 @@ ### A. Resolve conflicts -If you get a lot of conflicts and you installed from the [support.ez.no / support.ibexa.co](https://support.ibexa.co) tarball or from [ezplatform.com](https://ezplatform.com), you may have incomplete history. +If you get a lot of conflicts and you installed from the [support.ez.no / support.ibexa.co](https://support.ibexa.co) tarball or from ezplatform.com, you may have incomplete history. To load the full history, run `git fetch upstream --unshallow` from the `update-[[= target_version =]]` branch, and run the merge again. diff --git a/docs/templating/layout/customize_storefront_layout.md b/docs/templating/layout/customize_storefront_layout.md index df3af3942e..04d4313bf2 100644 --- a/docs/templating/layout/customize_storefront_layout.md +++ b/docs/templating/layout/customize_storefront_layout.md @@ -31,7 +31,7 @@ The available groups for the storefront are: ## Template customization example -As an example, to change the cart display when it contains no products, you need to override [`vendor/ibexa/storefront/src/bundle/Resources/views/themes/storefront/cart/component/maincart/maincart_empty_cart.html.twig`](https://github.com/ibexa/storefront/blob/5.0/src/bundle/Resources/views/themes/storefront/cart/component/maincart/maincart_empty_cart.html.twig) template. +As an example, to change the cart display when it contains no products, you need to override the `vendor/ibexa/storefront/src/bundle/Resources/views/themes/storefront/cart/component/maincart/maincart_empty_cart.html.twig` template. To do it, create your own template in `templates/theme/storefront/cart/component/maincart/maincart_empty_cart.html.twig`. diff --git a/docs/templating/render_content/customize_product_view.md b/docs/templating/render_content/customize_product_view.md index 4024685e38..49495cb936 100644 --- a/docs/templating/render_content/customize_product_view.md +++ b/docs/templating/render_content/customize_product_view.md @@ -16,7 +16,7 @@ To override any of them, copy its directory structure in your template directory ## Template customization example As an example, to modify the template used to display the product price, -you need to override [`vendor/ibexa/storefront/src/bundle/Resources/views/themes/storefront/storefront/component/price/price.html.twig`](https://github.com/ibexa/storefront/blob/v4.4.0/src/bundle/Resources/views/themes/storefront/storefront/component/price/price.html.twig) template. +you need to override the `vendor/ibexa/storefront/src/bundle/Resources/views/themes/storefront/storefront/component/price/price.html.twig` template. To do it, create your own template in `templates/themes/storefront/storefront/component/price/price.html.twig` file: diff --git a/docs/templating/render_content/render_content_in_php.md b/docs/templating/render_content/render_content_in_php.md index bff7c12663..25ba8f171d 100644 --- a/docs/templating/render_content/render_content_in_php.md +++ b/docs/templating/render_content/render_content_in_php.md @@ -16,7 +16,7 @@ While in PHP, you may need to render the view of a content item (for example, fo The following example is a command outputting the render of a content for a view type in the terminal. It works only if the view doesn't refer to the HTTP request. It's compatible with the default installation views such as `line` or `embed`. -To go further with this example, you could add some dedicated views not outputting HTML but, for example, plain text, [Symfony command styled text]([[= symfony_doc =]]/console/coloring.html) or Markdown. +To go further with this example, you could add some dedicated views not outputting HTML but, for example, plain text, [Symfony command styled text]([[= symfony_doc =]]/console/style.html#output-coloring) or Markdown. It doesn't work with a `full` view when the [page layout](template_configuration.md#page-layout) uses `app.request`, such as the out-of-the-box template. Create the command in `src/Command/ViewCommand.php`: diff --git a/docs/templating/twig_function_reference/icon_twig_functions.md b/docs/templating/twig_function_reference/icon_twig_functions.md index ca993200ad..c0a2fdfe0a 100644 --- a/docs/templating/twig_function_reference/icon_twig_functions.md +++ b/docs/templating/twig_function_reference/icon_twig_functions.md @@ -25,7 +25,7 @@ The icons can be displayed in different colors and sizes. ### Icon color variants -By default, the icon inherits the [`fill`](https://developer.mozilla.org/en-US/docs/Web/CSS/fill) attribute from the parent element. +By default, the icon inherits the [`fill`](https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/fill) attribute from the parent element. You can change it by using one of the available CSS modifiers: |Modifier|Usage| diff --git a/docs/templating/twig_function_reference/recommendations_twig_functions.md b/docs/templating/twig_function_reference/recommendations_twig_functions.md index a392faa7fd..43ffe90b4b 100644 --- a/docs/templating/twig_function_reference/recommendations_twig_functions.md +++ b/docs/templating/twig_function_reference/recommendations_twig_functions.md @@ -70,7 +70,7 @@ ibexa_tracking_track_event( ) ``` -- **eventType** - type: string, defines the type of tracking event to be sent, for example, `visit`, `contentvisit`, `buy`, `basket`, `itemclick`. For more information, see [Tracking events for recommendations](https://content.raptorservices.com/help-center/tracking-events-for-recommendation). +- **eventType** - type: string, defines the type of tracking event to be sent, for example, `visit`, `contentvisit`, `buy`, `basket`, `itemclick`. For more information, see [Tracking events for recommendations](https://content.raptorservices.com/help-center/tracking-events-parameters-reference). - **data** (optional) - type: mixed, accepts the primary object associated with the event, such as a Product or Content, can be null if not required. For more information, see [tracking event examples](#tracking-events). - **context** (optional)- type: array, additional event data, such as quantity, basket details, or custom parameters. For more information, see [example usage](#context-parameter-example-usage). - **template** (optional) - type: string, path to a custom Twig template used to render the tracking event, allows overriding the default tracking output. @@ -81,7 +81,7 @@ The following events are supported and can be triggered from Twig templates: #### `pageview` event -The `ibexa_tracking_script()` Twig function automatically sends a [`pageview`](https://content.raptorservices.com/help-center/tracking-events-parameters-reference#:~:text=Event%20Specifications%20%28Full%20Reference) event to Raptor for every incoming GET request, in both `client` and `server` tracking types. +The `ibexa_tracking_script()` Twig function automatically sends a [`pageview`](https://content.raptorservices.com/help-center/tracking-events-parameters-reference) event to Raptor for every incoming GET request, in both `client` and `server` tracking types. Use it for basic page metrics and debugging the Live Tracking Stream. diff --git a/docs/update_and_migration/from_3.3/to_4.0.md b/docs/update_and_migration/from_3.3/to_4.0.md index 87ba50fe83..24a47309c3 100644 --- a/docs/update_and_migration/from_3.3/to_4.0.md +++ b/docs/update_and_migration/from_3.3/to_4.0.md @@ -227,7 +227,7 @@ The v4 version of [[= product_name =]] is using Bootstrap 5 in the back office. #### Custom plugins and buttons If you added your own Online Editor plugins or buttons, you need to rewrite them -using [CKEditor 5's extensibility](https://ckeditor.com/docs/ckeditor5/latest/tutorials/crash-course/plugins.html#creating-custom-plugins). +using [CKEditor 5's extensibility](https://ckeditor.com/docs/ckeditor5/latest/framework/tutorials/crash-course/plugins.html#creating-custom-plugins). #### Custom tags diff --git a/docs/update_and_migration/from_4.1/update_from_4.1.md b/docs/update_and_migration/from_4.1/update_from_4.1.md index 15507488a8..ba3ec9db87 100644 --- a/docs/update_and_migration/from_4.1/update_from_4.1.md +++ b/docs/update_and_migration/from_4.1/update_from_4.1.md @@ -44,7 +44,7 @@ Follow the upgrade steps below to update them: 3. Upload a new `snippet_re_enable_shielding.vcl` snippet file, based on `vendor/ibexa/fastly/fastly/snippet_re_enable_shielding.vcl`. Once the VCL configuration has been updated, -you may enable [Fastly Shielding](https://docs.fastly.com/en/guides/shielding) if you prefer. +you may enable [Fastly Shielding](https://www.fastly.com/documentation/guides/getting-started/hosts/shielding/) if you prefer. ## Update from v4.1.latest to v4.2 diff --git a/docs/update_and_migration/from_4.6/update_from_4.6.md b/docs/update_and_migration/from_4.6/update_from_4.6.md index 40d86db014..154e5263a3 100644 --- a/docs/update_and_migration/from_4.6/update_from_4.6.md +++ b/docs/update_and_migration/from_4.6/update_from_4.6.md @@ -478,7 +478,7 @@ composer require ibexa/elasticsearch8:[[= latest_tag_4_6 =]] --with-all-dependen Upgrade your Elasticsearch server to version 8.19 or higher. For detailed instructions, follow the [Elasticsearch upgrade guide](https://www.elastic.co/guide/en/elastic-stack/8.19/upgrading-elastic-stack.html#prepare-to-upgrade). -When you use [[= product_name_cloud =]], see [Elasticsearch service](https://docs.upsun.com/add-services/elasticsearch.html) for a list of supported versions. +When you use [[= product_name_cloud =]], see [Elasticsearch service](https://developer.upsun.com/docs/add-services/elasticsearch) for a list of supported versions. #### Update configuration diff --git a/docs/update_and_migration/from_4.6/update_to_5.0.md b/docs/update_and_migration/from_4.6/update_to_5.0.md index 0bf7390ee1..2692a2df6a 100644 --- a/docs/update_and_migration/from_4.6/update_to_5.0.md +++ b/docs/update_and_migration/from_4.6/update_to_5.0.md @@ -109,7 +109,7 @@ rm -r config/graphql [[= product_name =]] 5.0 is based on Symfony 7.3 and both must be updated. Your development packages must be updated as well. -The example below assumes that [`symfony/debug-pack`](https://symfony.com/packages/Debug%20Pack) and `ibexa/rector` are installed. +The example below assumes that [`symfony/debug-pack`](https://symfony.com/packages/debug-pack) and `ibexa/rector` are installed. Adjust the list based on your project requirements. Notice the use of the `--no-update` option to only edit the `composer.json` entries and avoid triggering the package update and Composer scripts. @@ -507,7 +507,7 @@ use Rector\Symfony\Set\SensiolabsSetList; In the following example, you can see optimization thanks to the following features: - [Constructor parameter promoted as properties](https://www.php.net/manual/en/language.oop5.decon.php#language.oop5.decon.constructor.promotion) (available since PHP 8.0) -- [`AsCommand` attribute to register a command](https://symfony.com/doc/7.3/console.html#console_registering-the-command) (available since Symfony 6.2) +- [`AsCommand` attribute to register a command](https://symfony.com/doc/7.4/console.html#creating-a-command) (available since Symfony 6.2) ```diff +#[AsCommand(name: 'app:test', description: 'Command to test something.')] diff --git a/docs/update_and_migration/from_5.0/update_from_5.0.md b/docs/update_and_migration/from_5.0/update_from_5.0.md index 55ec0cbd19..3c2ffb5aee 100644 --- a/docs/update_and_migration/from_5.0/update_from_5.0.md +++ b/docs/update_and_migration/from_5.0/update_from_5.0.md @@ -199,7 +199,7 @@ If you choose to upgrade to Elasticsearch 8, follow these steps: Upgrade your Elasticsearch server to version 8.19 or higher. For detailed instructions, follow the [Elasticsearch upgrade guide](https://www.elastic.co/guide/en/elastic-stack/8.19/upgrading-elastic-stack.html#prepare-to-upgrade). -When you use [[= product_name_cloud =]], see [Elasticsearch service](https://docs.upsun.com/add-services/elasticsearch.html) for a list of supported versions. +When you use [[= product_name_cloud =]], see [Elasticsearch service](https://developer.upsun.com/docs/add-services/elasticsearch) for a list of supported versions. #### Update configuration 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 16c794e47c..6b67a8fcfe 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 @@ -30,11 +30,11 @@ The specific incompatibilities The specific changes that are migrated and are incompatible with legacy are: - XmlText fields have been replaced with a new [RichText](richtextfield.md) field -- Page field (ezflow) has been replaced by the [LandingPage](pagefield.md) field, and is now provided by our commercial product [eZ Platform Enterprise Edition](http://ezstudio.com/) +- Page field (ezflow) has been replaced by the [LandingPage](pagefield.md) field, and is now provided by our commercial product eZ Platform Enterprise Edition - Incremental future improvements to the database schema to improve features and scalability of the content repository Together these major improvements make it practically impossible to run eZ Platform side by side with eZ Publish legacy, like it was possible in 5.x series. -*For these reasons we recommend that you use eZ Publish Enterprise 5.4  ([which is supported until end of 2021](https://support.ez.no/Public/Service-Life)) if you don't have the option to remake your web application yet, or want to do it gradually.* +*For these reasons we recommend that you use eZ Publish Enterprise 5.4  ([which is supported until end of 2021](https://support.ibexa.co/Public/service-life)) if you don't have the option to remake your web application yet, or want to do it gradually.* ## Migration Path @@ -47,9 +47,9 @@ Alternatively you can use Null field type as a dummy implementation for the cust Using Null field type prevents errors from the Platform Stack, see [Null field type Reference](nullfield.md) - Rewrite custom web front end to use the new Platform/Symfony stack, see [Beginner Tutorial](beginner_tutorial.md) - Rewrite custom admin modules to use the new Platform/Symfony stack - - And if you do this while on 5.x, you can use several of the [available legacy migration features](https://doc.ez.no/display/EZP/Legacy+code+and+features) to make the new code appear in legacy admin + - And if you do this while on 5.x, you can use several of the [available legacy migration features](https://web.archive.org/web/20140911035812/https://doc.ez.no/display/EZP/Legacy+code+and+features) to make the new code appear in legacy admin -See Upgrade documentation on how to perform the actual upgrade: [Upgrade (eZ Publish Platform page)](https://doc.ez.no/display/EZP/Upgrade). +See Upgrade documentation on how to perform the actual upgrade: [Upgrade (eZ Publish Platform page)](https://web.archive.org/web/20150920231014/https://doc.ez.no/display/EZP/Upgrade). !!! caution "Avoid exception when migrating the database" diff --git a/docs/users/oauth_client.md b/docs/users/oauth_client.md index 3956bc9449..889f140682 100644 --- a/docs/users/oauth_client.md +++ b/docs/users/oauth_client.md @@ -50,7 +50,7 @@ In `config/packages/security.yaml`, enable the `ibexa_oauth2_connect` firewall a [[= include_file('code_samples/user_management/oauth_google/config/packages/security.yaml') =]] ``` -The `custom_authenticators` setting specifies the [custom authenticators]([[= symfony_doc =]]/current/security/custom_authenticator.html) to be used. +The `custom_authenticators` setting specifies the [custom authenticators]([[= symfony_doc =]]/security/custom_authenticator.html) to be used. By adding the `Ibexa\Bundle\OAuth2Client\Security\Authenticator\OAuth2Authenticator` authenticator you add a possibility to use OAuth2 on those routes. From f7a7663974344d2cb41d6a5461dcad0b9b4e6228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Wed, 24 Jun 2026 11:49:23 +0200 Subject: [PATCH 3/9] Empty commit From 6caaf361fd09c6e37c248e4b5e989784b08e8bb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Mon, 29 Jun 2026 16:12:58 +0200 Subject: [PATCH 4/9] Fixed remaining main -> 5.0 link --- docs/getting_started/install_with_ddev.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting_started/install_with_ddev.md b/docs/getting_started/install_with_ddev.md index 47b35a8c5a..802c70baae 100644 --- a/docs/getting_started/install_with_ddev.md +++ b/docs/getting_started/install_with_ddev.md @@ -356,7 +356,7 @@ ddev restart Generate the virtual host with [`vhost.sh`](https://github.com/ibexa/docker/blob/5.0/scripts/vhost.sh): ```bash -curl -O https://raw.githubusercontent.com/ibexa/docker/main/scripts/vhost.sh +curl -O https://raw.githubusercontent.com/ibexa/docker/5.0/scripts/vhost.sh bash vhost.sh --template-file=vendor/ibexa/post-install/resources/templates/apache2/vhost.template \ --ip='*' \ --host-name='my-ddev-project.ddev.site' \ From 80cff0af392657b9da66d95cfc6c4b00c4cbd39c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Mon, 29 Jun 2026 16:19:28 +0200 Subject: [PATCH 5/9] Avoid parallelism issues --- tools/clone-repositories.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/clone-repositories.sh b/tools/clone-repositories.sh index 68e6082a59..3fbed48681 100755 --- a/tools/clone-repositories.sh +++ b/tools/clone-repositories.sh @@ -46,9 +46,14 @@ git clone --depth=1 --branch "$USERDOC_50_BRANCH" https://github.com/ibexa/docum git clone --depth=1 --branch "$CONNECT_BRANCH" https://github.com/ibexa/documentation-connect.git repositories/connect & wait +echo "==> Installing dependencies for versioned repositories..." +for dir in repositories/devdoc-4.6 repositories/devdoc-5.0 repositories/userdoc-4.6 repositories/userdoc-5.0 repositories/connect; do + (cd "$dir" && pip install -q -r requirements.txt) +done + echo "==> Building versioned repositories..." for dir in repositories/devdoc-4.6 repositories/devdoc-5.0 repositories/userdoc-4.6 repositories/userdoc-5.0 repositories/connect; do - (cd "$dir" && pip install -q -r requirements.txt && mkdocs build --quiet) & + (cd "$dir" && mkdocs build --quiet) & done wait From 513e26a62a06d67a20d4d06a89be7127da94dc74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Tue, 30 Jun 2026 09:38:56 +0200 Subject: [PATCH 6/9] Fixed SymfonyCasts links --- docs/infrastructure_and_maintenance/background_tasks.md | 2 +- docs/update_and_migration/from_2.5/adapt_code_to_v3.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/infrastructure_and_maintenance/background_tasks.md b/docs/infrastructure_and_maintenance/background_tasks.md index 46f49c0323..c3c5d6feac 100644 --- a/docs/infrastructure_and_maintenance/background_tasks.md +++ b/docs/infrastructure_and_maintenance/background_tasks.md @@ -55,7 +55,7 @@ ibexa_messenger: !!! note "Supported transports" You can define different transports: [[= product_name_base =]] Messenger has been tested to work with Redis, MySQL, PostgreSQL. - For more information, see [Symfony Messenger documentation](https://symfony.com/doc/current/messenger.html#transports-async-queued-messages) or [Symfony Messenger tutorial](https://symfonycasts.com/screencast/messenger/install#installing-messenger). + For more information, see [Symfony Messenger documentation](https://symfony.com/doc/current/messenger.html#transports-async-queued-messages) or [Symfony Messenger tutorial](https://symfonycasts.com/screencast/messenger/install). ### Start worker diff --git a/docs/update_and_migration/from_2.5/adapt_code_to_v3.md b/docs/update_and_migration/from_2.5/adapt_code_to_v3.md index 3ec0007b78..5e2a2b9db5 100644 --- a/docs/update_and_migration/from_2.5/adapt_code_to_v3.md +++ b/docs/update_and_migration/from_2.5/adapt_code_to_v3.md @@ -33,9 +33,9 @@ To adapt, you need to move all your PHP code, such as controllers or event liste !!! tip "How to make AppBundle continue to work, for now" - Refactoring bundles for `src/` folder can involve extensive changes, if you want to make your `src/AppBundle` continue to work, follow [an Autoloading src/AppBundle guide on Symfony Casts](https://symfonycasts.com/screencast/symfony4-upgrade/flex-composer.json#autoloading-src-amp-src-appbundle). + Refactoring bundles for `src/` folder can involve extensive changes, if you want to make your `src/AppBundle` continue to work, follow [an Autoloading src/AppBundle guide on Symfony Casts](https://symfonycasts.com/screencast/symfony4-upgrade/flex-composer.json). - You can also follow [Using a "path" Repository guide](https://symfonycasts.com/screencast/symfony-bundle/extracting-bundle#using-a-path-repository), to create a [composer path repository](https://getcomposer.org/doc/05-repositories.md#path). + You can also follow [Using a "path" Repository guide](https://symfonycasts.com/screencast/symfony-bundle/extracting-bundle), to create a [composer path repository](https://getcomposer.org/doc/05-repositories.md#path). If you have several bundles you can move them into a `packages/` directory and load them all with: ``` From 583f3d0d556af700e365c66a9dd89370c8a1594b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Tue, 30 Jun 2026 09:41:53 +0200 Subject: [PATCH 7/9] Brought back removed Calendar widget link --- .lycheeignore | 1 + docs/release_notes/ibexa_dxp_v3.2.md | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.lycheeignore b/.lycheeignore index 992598aa38..693908c1e1 100644 --- a/.lycheeignore +++ b/.lycheeignore @@ -143,6 +143,7 @@ https://doc.ibexa.co/projects/userguide/en/2.5/publishing/flex_workflow/#reviewi https://doc.ibexa.co/projects/userguide/en/2.5/search/#simplified-filtered-search https://doc.ibexa.co/projects/userguide/en/3.1/publishing/publishing/#comparing-versions https://doc.ibexa.co/projects/userguide/en/3.2/publishing/publishing/#autosave +https://doc.ibexa.co/projects/userguide/en/3.3/publishing/advanced_publishing_options/#calendar-widget https://doc.ibexa.co/projects/userguide/en/4.0/publishing/editorial_workflow/#releasing-locked-drafts https://doc.ibexa.co/projects/userguide/en/4.0/site_organization/working_with_page/#configure-block-display https://doc.ibexa.co/projects/userguide/en/4.1/site_organization/working_with_page/#dynamic-targeting-block diff --git a/docs/release_notes/ibexa_dxp_v3.2.md b/docs/release_notes/ibexa_dxp_v3.2.md index 60a62fbf51..8b16a12cc1 100644 --- a/docs/release_notes/ibexa_dxp_v3.2.md +++ b/docs/release_notes/ibexa_dxp_v3.2.md @@ -93,6 +93,8 @@ This way you can envision what content will be available in the future. Also, you can now apply new filters that are intended to help you declutter the calendar view. +For more information, see [Calendar widget](https://doc.ibexa.co/projects/userguide/en/3.3/publishing/advanced_publishing_options/#calendar-widget). + ### Cloning content types When creating content types in the back office, you don't have to start from scratch. From cc11af25d47c0a06a0eba8722d43c182e57cefb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Tue, 30 Jun 2026 13:51:50 +0200 Subject: [PATCH 8/9] Apply suggestions from code review Co-authored-by: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> --- lychee.toml.dist | 1 + 1 file changed, 1 insertion(+) diff --git a/lychee.toml.dist b/lychee.toml.dist index 14bcbf5d5d..ebcb6b02f0 100644 --- a/lychee.toml.dist +++ b/lychee.toml.dist @@ -107,6 +107,7 @@ exclude_all_private = true # Required to resolve root-relative links (e.g. href="/…") found in every page into # file:// URLs. Those file:// URLs are then excluded from checking by the pattern in # the exclude list — internal links are validated by `mkdocs build --strict`. +# `site` is the default `mkdocs build` output directory. root_dir = "site" ############################# Remap ############################### From a8c22bd22d8f2808e94840d9a1b4dcd46369b4e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Wed, 1 Jul 2026 16:40:24 +0200 Subject: [PATCH 9/9] Review existing "latest" links --- docs/cdp/cdp_guide.md | 14 ++-- .../collaborative_editing.md | 4 +- docs/content_management/locations.md | 2 +- docs/content_management/taxonomy/taxonomy.md | 2 +- docs/ibexa_products/ibexa_experience.md | 2 +- .../clustering/clustering_with_ddev.md | 2 +- .../security/security_checklist.md | 8 +-- docs/permissions/custom_policies.md | 2 +- docs/release_notes/ez_platform_v1.10.0.md | 4 +- docs/release_notes/ez_platform_v1.11.0.md | 2 +- docs/release_notes/ez_platform_v1.12.0.md | 2 +- docs/release_notes/ez_platform_v1.13.0_lts.md | 4 +- docs/release_notes/ez_platform_v1.9.0.md | 2 +- docs/release_notes/ez_platform_v3.0.md | 62 ++++++++--------- .../ez_platform_v3.0_deprecations.md | 26 +++---- docs/release_notes/ez_platform_v3.1.md | 14 ++-- docs/release_notes/ibexa_dxp_v3.2.md | 22 +++--- docs/release_notes/ibexa_dxp_v4.0.md | 14 ++-- docs/release_notes/ibexa_dxp_v4.1.md | 12 ++-- docs/release_notes/ibexa_dxp_v4.2.md | 54 +++++++-------- docs/release_notes/ibexa_dxp_v4.3.md | 4 +- docs/release_notes/ibexa_dxp_v4.4.md | 2 +- docs/release_notes/ibexa_dxp_v4.5.md | 2 +- docs/release_notes/ibexa_dxp_v4.6.md | 34 +++++----- docs/release_notes/ibexa_dxp_v5.0.md | 2 +- docs/resources/new_in_doc.md | 68 +++++++++---------- docs/snippets/page_block_cache_clear.md | 2 +- .../from_3.3/update_from_3.3.md | 4 +- .../from_4.1/update_from_4.1.md | 2 +- .../from_4.2/update_from_4.2.md | 4 +- .../from_4.3/update_from_4.3_new_commerce.md | 2 +- .../from_4.3/update_from_4.3_old_commerce.md | 2 +- .../from_4.4/update_from_4.4.md | 2 +- .../from_4.6/update_from_4.6.md | 6 +- 34 files changed, 195 insertions(+), 195 deletions(-) diff --git a/docs/cdp/cdp_guide.md b/docs/cdp/cdp_guide.md index 1327f63b3c..57e17ccfe5 100644 --- a/docs/cdp/cdp_guide.md +++ b/docs/cdp/cdp_guide.md @@ -31,11 +31,11 @@ Customer data is gathered through a system of trackers embedded in various areas ### Installation and configuration -To start using [[= product_name_cdp =]], first you need to contact your sales representative, who provides you with a link to [register your [[= product_name_cdp =]] account](https://doc.ibexa.co/en/latest/cdp/cdp_installation/#register-in-ibexa-cdp-dashboard). +To start using [[= product_name_cdp =]], first you need to contact your sales representative, who provides you with a link to [register your [[= product_name_cdp =]] account](/cdp/cdp_installation.md#register-in-ibexa-cdp-dashboard). When you're done with registration process, you're able to access a separate instance with the data needed to configure, activate, and use this feature. -After your account is created, you can [download and install the [[= product_name_cdp =]] package](https://doc.ibexa.co/en/latest/cdp/cdp_installation/#install-cdp-package) that is opt-in and needs to be downloaded separately. -Last step is to go through the [configuration process](https://doc.ibexa.co/en/latest/cdp/cdp_activation/cdp_configuration/). +After your account is created, you can [download and install the [[= product_name_cdp =]] package](/cdp/cdp_installation.md#install-cdp-package) that is opt-in and needs to be downloaded separately. +Last step is to go through the [configuration process](cdp_configuration.md). ### Customer profile @@ -65,7 +65,7 @@ Remember to add a segment group identifier to the configuration, under the `segm ### Data export Configuration in [[= product_name_cdp =]] allows you to automate the process of exporting content, users, and products. -An `ibexa_cdp.data_export` [configuration key](https://doc.ibexa.co/en/latest/cdp/cdp_data_export_schedule/#configuration-key) includes the `schedule` setting where you can find separate sections for exporting user, content, and product. +An `ibexa_cdp.data_export` [configuration key](cdp_data_export_schedule.md#configuration-key) includes the `schedule` setting where you can find separate sections for exporting user, content, and product. Structure of each section is exactly the same and includes `interval` and `options` elements: - `interval` - sets the frequency at which the command is invoked, uses cron expressions, for example, '*/30 * * * *' means "every 30 minutes", '0 */12 * * *' means "every 12th hour" @@ -77,7 +77,7 @@ It's important, because all the types of content/product must have their own par Regarding data export, currently, only Stream File transport is supported and can be initialized from the configuration. -For more information, see [CDP data export](https://doc.ibexa.co/en/latest/cdp/cdp_activation/cdp_data_export/). +For more information, see [CDP data export](cdp_data_export.md). ### Data customization @@ -85,12 +85,12 @@ For more information, see [CDP data export](https://doc.ibexa.co/en/latest/cdp/c With [[= product_name_cdp =]], you can export field types and field type values. They're exported with metadata and attributes, for example, ID, field definition name, type, or value. -For more information, see [data customization](https://doc.ibexa.co/en/latest/cdp/cdp_data_customization/#data-customization) documentation in Developer Documentation. +For more information, see [data customization](cdp_data_customization.md#data-customization) documentation in Developer Documentation. ### Client-side Tracking The final step is setting up a tracking script. -For more information, see [CDP add client-side tracking](https://doc.ibexa.co/en/latest/cdp/cdp_activation/cdp_add_clientside_tracking/) and [Introduction to tracking in Raptor documentation](https://content.raptorservices.com/help-center/introduction-to-tracking-documentation). +For more information, see [CDP add client-side tracking](cdp_add_tracking.md) and [Introduction to tracking in Raptor documentation](https://content.raptorservices.com/help-center/introduction-to-tracking-documentation). ### Audience Builder diff --git a/docs/content_management/collaborative_editing/collaborative_editing.md b/docs/content_management/collaborative_editing/collaborative_editing.md index 3b6e384590..e3a5a005c4 100644 --- a/docs/content_management/collaborative_editing/collaborative_editing.md +++ b/docs/content_management/collaborative_editing/collaborative_editing.md @@ -21,7 +21,7 @@ This feature also introduces new dashboard tabs for managing shared drafts and j "content_management/collaborative_editing/collaborative_editing_guide", "content_management/collaborative_editing/configure_collaborative_editing", ("permissions/policies#collaborative-editing", "Policies", "Learn about the available Collaborative editing policies"), -("https://doc.ibexa.co/projects/userguide/en/4.6/content_management/collaborative_editing/"), +("https://doc.ibexa.co/projects/userguide/en/5.0/content_management/collaborative_editing/"), ], columns=2) =]] ## Development @@ -29,7 +29,7 @@ This feature also introduces new dashboard tabs for managing shared drafts and j [[= cards([ "content_management/collaborative_editing/collaborative_editing_api", "api/event_reference/collaboration_events", -("https://doc.ibexa.co/en/4.6/api/rest_api/rest_api_reference/rest_api_reference.html#collaborative-editing", "REST API Reference", "See the available endpoints for Collaborative editing"), +("https://doc.ibexa.co/en/5.0/api/rest_api/rest_api_reference/rest_api_reference.html#collaborative-editing", "REST API Reference", "See the available endpoints for Collaborative editing"), "content_management/collaborative_editing/extend_collaborative_editing", "search/collaboration_search_reference/collaboration_criteria", "search/collaboration_search_reference/collaboration_sort_clauses", diff --git a/docs/content_management/locations.md b/docs/content_management/locations.md index dea1485125..06aba8b18a 100644 --- a/docs/content_management/locations.md +++ b/docs/content_management/locations.md @@ -94,7 +94,7 @@ When the location of a content item is hidden, the system doesn't display it on !!! caution "Visibility and permissions" - The [visibility switcher](https://doc.ibexa.co/en/latest/content_management/locations/#location-visibility) is a convenient feature for withdrawing content from the frontend. + The [visibility switcher](locations.md#location-visibility) is a convenient feature for withdrawing content from the frontend. It acts as a filter in the frontend by default. You can choose to respect it or ignore it in your code. It isn't permission-based, and **doesn't restrict access to content**. Hidden content can be read through other means, like the REST API. diff --git a/docs/content_management/taxonomy/taxonomy.md b/docs/content_management/taxonomy/taxonomy.md index 227e631150..2d99adaf39 100644 --- a/docs/content_management/taxonomy/taxonomy.md +++ b/docs/content_management/taxonomy/taxonomy.md @@ -133,7 +133,7 @@ When it happens, the `Ibexa\Taxonomy\ActionHandler\TextToTaxonomyActionHandler` !!! note "Field selection" - You select the actual text fields, whose values are used as source for the embedding generation, when you create an [AI action](https://doc.ibexa.co/projects/userguide/en/latest/ai_actions/work_with_ai_actions/#create-ai-actions-that-use-ibexa-connect) that uses the `text-to-taxonomy` handler. + You select the actual text fields, whose values are used as source for the embedding generation, when you create an [AI action]([[= user_doc =]]/ai_actions/work_with_ai_actions/#create-ai-actions-that-use-ibexa-connect) that uses the `text-to-taxonomy` handler. The search engine then compares the generated embedding with the taxonomy path embeddings stored in its index. By default, it selects the three best-matching taxonomy paths and presents them to the editor as suggestions. diff --git a/docs/ibexa_products/ibexa_experience.md b/docs/ibexa_products/ibexa_experience.md index 1da8ef8128..1650386227 100644 --- a/docs/ibexa_products/ibexa_experience.md +++ b/docs/ibexa_products/ibexa_experience.md @@ -92,7 +92,7 @@ Using this tool, your customers can change their organization details, invite an #### Segments -[Segmentation](https://doc.ibexa.co/en/latest/administration/admin_panel/segments_admin_panel/) allows you to split up the user base. +[Segmentation](segments_admin_panel.md) allows you to split up the user base. By assigning users to segments, you can display specific content to selected visitors and tailor the content that they can see. One of the tools that you can use right out of the box is the Targeting block that is available in the Page Builder. Segmentation is also useful with the [Personalization](personalization_guide.md). diff --git a/docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md b/docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md index 6a535c9924..e4b9cf5911 100644 --- a/docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md +++ b/docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md @@ -137,7 +137,7 @@ For more information on topics such as available configurations, command lines, ### Fastly -For Fastly (as for [[[= product_name_connect =]]](https://doc.ibexa.co/projects/connect/en/latest/)), the instance must be visible from Internet. +For Fastly (as for [[[= product_name_connect =]]]([[= connect_doc =]])), the instance must be visible from Internet. To use [ngrok](https://ngrok.com/) alongside [`ddev share`](https://docs.ddev.com/en/stable/users/topics/sharing/#using-ddev-share-easiest) is probably the easiest way to achieve this. diff --git a/docs/infrastructure_and_maintenance/security/security_checklist.md b/docs/infrastructure_and_maintenance/security/security_checklist.md index c4d57530af..4f92b9b4a6 100644 --- a/docs/infrastructure_and_maintenance/security/security_checklist.md +++ b/docs/infrastructure_and_maintenance/security/security_checklist.md @@ -100,14 +100,14 @@ Use the following checklist to ensure the roles and policies are secure: ### Don't use "hide" for read access restriction -The [visibility switcher](https://doc.ibexa.co/en/latest/content_management/locations/#location-visibility) is a convenient feature for withdrawing content from the frontend. +The [visibility switcher](locations.md#location-visibility) is a convenient feature for withdrawing content from the frontend. It acts as a filter in the frontend by default. You can choose to respect it or ignore it in your code. It isn't permission-based, and doesn't restrict read access to content. Hidden content can be read through other means, like the REST API or GraphQL. -If you need to restrict read access to a given content item, you could create a role that grants read access for a given [**Section**](https://doc.ibexa.co/en/latest/administration/content_organization/sections/) or [**Object State**](https://doc.ibexa.co/en/latest/administration/content_organization/object_states/), and set a different section or object State for the given content. -Or use other permission-based [**Limitations**](https://doc.ibexa.co/en/latest/permissions/limitations/). +If you need to restrict read access to a given content item, you could create a role that grants read access for a given [**Section**](sections.md) or [**Object State**](object_states.md), and set a different section or object State for the given content. +Or use other permission-based [**Limitations**](limitations.md). ### Minimize exposure @@ -117,7 +117,7 @@ Reduce your attack surface by exposing only what you must. - If possible, make the back office unavailable on the open internet. - [Symfony FOSJsRoutingBundle](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle) is required in those releases where it's included, to expose routes to JavaScript. It exposes only the required routes, nothing more. It's only required in the back office SiteAccess though, so you can consider blocking it in other SiteAccesses. You should also go through your own custom routes, and decide for each if you need to expose them or not. See the documentation on [YAML route definitions for exposure](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/blob/master/Resources/doc/usage.rst#generating-uris). -- By default, a [Powered-By header](https://doc.ibexa.co/en/latest/update_and_migration/from_1.x_2.x/update_db_to_2.5/#powered-by-header) is set. It specifies what version of the DXP is running. For example, `x-powered-by: [[= product_name_exp =]] v4`. This doesn't expose anything that couldn't be detected through other means. But if you wish to obscure this, you can either omit the version number, or disable the header entirely by setting `enabled: false`. +- By default, a [Powered-By header](update_db_to_2.5.md#powered-by-header) is set. It specifies what version of the DXP is running. For example, `x-powered-by: [[= product_name_exp =]] v4`. This doesn't expose anything that couldn't be detected through other means. But if you wish to obscure this, you can either omit the version number, or disable the header entirely by setting `enabled: false`. ```yaml ibexa_system_info: diff --git a/docs/permissions/custom_policies.md b/docs/permissions/custom_policies.md index cd85f9211a..9e20f54e5c 100644 --- a/docs/permissions/custom_policies.md +++ b/docs/permissions/custom_policies.md @@ -304,7 +304,7 @@ Finally, add the policy definition in `src/Resources/config/policies.yaml`: [[= include_file('code_samples/back_office/limitation/src/Resources/config/policies.yaml', 3, 5) =]] ``` -This way, after you clean the cache, the new policy becomes available when you [edit the policies assigned to a Role](https://doc.ibexa.co/projects/userguide/en/latest/permission_management/work_with_permissions/). +This way, after you clean the cache, the new policy becomes available when you [edit the policies assigned to a Role]([[= user_doc =]]/permission_management/work_with_permissions/). ### Secure access on PHP API level diff --git a/docs/release_notes/ez_platform_v1.10.0.md b/docs/release_notes/ez_platform_v1.10.0.md index ac806a1be0..32d47bdf96 100644 --- a/docs/release_notes/ez_platform_v1.10.0.md +++ b/docs/release_notes/ez_platform_v1.10.0.md @@ -63,9 +63,9 @@ $value = $content->getFieldValue('body'); #### SOLR: Index time boosting & Improved Facets support -One of the new features in 1.10 *(Solr Bundle 1.4)* is the possibility to [configure index time boosting](https://doc.ibexa.co/en/latest/guide/search/solr/#boost-configuration), which enables you to properly tune the search results to be relevant for your content architecture. +One of the new features in 1.10 *(Solr Bundle 1.4)* is the possibility to [configure index time boosting](https://doc.ibexa.co/en/2.1/guide/solr/#boost-configuration), which enables you to properly tune the search results to be relevant for your content architecture. -In addition to that, we made progress on providing native support for faceted search within eZ Platform when using the Solr Bundle. You can now use facets based on ContentTypes, Sections and Users, see [Performing a Faceted Search](https://doc.ibexa.co/en/latest/api/public_php_api_search/#faceted-search) page for how to use them. We plan to provide more facets natively in the coming releases. +In addition to that, we made progress on providing native support for faceted search within eZ Platform when using the Solr Bundle. You can now use facets based on ContentTypes, Sections and Users, see [Performing a Faceted Search](https://doc.ibexa.co/en/2.2/api/public_php_api_search/#performing-a-faceted-search) page for how to use them. We plan to provide more facets natively in the coming releases. #### Cluster migration script diff --git a/docs/release_notes/ez_platform_v1.11.0.md b/docs/release_notes/ez_platform_v1.11.0.md index fa10b725b0..95f7a02bed 100644 --- a/docs/release_notes/ez_platform_v1.11.0.md +++ b/docs/release_notes/ez_platform_v1.11.0.md @@ -43,7 +43,7 @@ It enables you to manually select a set of content items to be displayed. To enable adding content to a Collection block in a clean installation, you need to configure the views for the block and define which content types can be embedded in it. - For more information and an example, see [block templates](https://doc.ibexa.co/en/latest/content_management/pages/page_blocks/#block-templates). + For more information and an example, see [block templates](https://doc.ibexa.co/en/2.2/content_management/pages/page_blocks/#block-templates). #### RecommendationBundle adapted for YooChoose v2 diff --git a/docs/release_notes/ez_platform_v1.12.0.md b/docs/release_notes/ez_platform_v1.12.0.md index 3ccb027b33..ab3b9610ea 100644 --- a/docs/release_notes/ez_platform_v1.12.0.md +++ b/docs/release_notes/ez_platform_v1.12.0.md @@ -24,7 +24,7 @@ Added support for full-text search query syntax in Solr. You can now remove translations from content item Versions through the PHP API. -For more information, see the section on [deleting translations](https://doc.ibexa.co/en/latest/api/public_php_api_creating_content/#deleting-a-translation). +For more information, see the section on [deleting translations](https://doc.ibexa.co/en/5.0/api/public_php_api_creating_content/#deleting-a-translation). You also have a new endpoint available for deleting a single Version. diff --git a/docs/release_notes/ez_platform_v1.13.0_lts.md b/docs/release_notes/ez_platform_v1.13.0_lts.md index 8c3e7d9ccf..ac381aa5a2 100644 --- a/docs/release_notes/ez_platform_v1.13.0_lts.md +++ b/docs/release_notes/ez_platform_v1.13.0_lts.md @@ -23,7 +23,7 @@ You can edit a link in the manager and it's updated automatically in all content You can now copy a content item with all of its sub-items in the back office. -The maximum number of content items that can be copied this way can be set in configuration, see [Copy subtree limit](https://doc.ibexa.co/en/latest/guide/config_back_office/#copy-subtree-limit). +The maximum number of content items that can be copied this way can be set in configuration, see [Copy subtree limit](https://doc.ibexa.co/en/5.0/guide/config_back_office/#copy-subtree-limit). ![Copy subtree option in the menu](copy_subtree_button.png) @@ -38,7 +38,7 @@ Made ezplatform-http-cache extensible in third party bundles. ### Fastly -You can [serve Varnish through Fastly](https://doc.ibexa.co/en/latest/infrastructure_and_maintenance/cache/http_cache/reverse_proxy/). +You can [serve Varnish through Fastly](https://doc.ibexa.co/en/2.2/infrastructure_and_maintenance/cache/http_cache/reverse_proxy/). ## Full list of new features, improvements and bug fixes since v1.12.0 diff --git a/docs/release_notes/ez_platform_v1.9.0.md b/docs/release_notes/ez_platform_v1.9.0.md index b6cc3862eb..b03013bc62 100644 --- a/docs/release_notes/ez_platform_v1.9.0.md +++ b/docs/release_notes/ez_platform_v1.9.0.md @@ -40,7 +40,7 @@ To reflect this change, the content tree button has been renamed **Content brows - You can now restore from Trash content whose original Location has been deleted. - Pasted thead/tfood tags are now kept in RichText field type, and its Online Editor -- Solr 6 is now supported in [Solr Bundle](https://doc.ibexa.co/en/latest/guide/search/solr) +- Solr 6 is now supported in [Solr Bundle](https://doc.ibexa.co/en/2.2/guide/solr) ### eZ Platform Enterprise Edition - Studio diff --git a/docs/release_notes/ez_platform_v3.0.md b/docs/release_notes/ez_platform_v3.0.md index de2695d587..e8cdd8913f 100644 --- a/docs/release_notes/ez_platform_v3.0.md +++ b/docs/release_notes/ez_platform_v3.0.md @@ -39,7 +39,7 @@ The list of bundles in v3.0 has been extended by the following ones: - `ezplatform-site-factory` - `ezplatform-version-comparison` -For details, see [Bundles](https://doc.ibexa.co/en/latest/guide/bundles). +For details, see [Bundles](https://doc.ibexa.co/en/3.3/guide/bundles). ## New features @@ -50,7 +50,7 @@ For details, see [Bundles](https://doc.ibexa.co/en/latest/guide/bundles). The new Site management User Interface is now integrated with back office. It enables you to easily create and manage multiple sites from the back office without editing the configuration files. - For more information about enabling and configuring, see [Enable Site Factory](https://doc.ibexa.co/en/latest/guide/multisite/site_factory/#enable-site-factory). + For more information about enabling and configuring, see [Enable Site Factory](https://doc.ibexa.co/en/3.3/guide/multisite/site_factory/#enable-site-factory). For more information about using the Site Factory, see [User Documentation]([[= user_doc =]]/site_organization/site_factory) @@ -73,22 +73,22 @@ For details, see [Bundles](https://doc.ibexa.co/en/latest/guide/bundles). ### Defining buttons in Online Editor - You can now reorder and disable buttons in Online Editor using [YAML configuration](https://doc.ibexa.co/en/latest/extending/extending_online_editor/#customizing-buttons). + You can now reorder and disable buttons in Online Editor using [YAML configuration](https://doc.ibexa.co/en/3.3/extending/extending_online_editor/#customizing-buttons). ### Workflow improvements #### Workflow actions - You can now configure your workflows to [automatically publish content](https://doc.ibexa.co/en/latest/guide/workflow/#publishing-content-with-workflow). + You can now configure your workflows to [automatically publish content](https://doc.ibexa.co/en/3.3/guide/workflow/#publishing-content-with-workflow). - You can also create [custom workflow actions](https://doc.ibexa.co/en/latest/extending/extending_workflow/#adding-custom-actions). + You can also create [custom workflow actions](https://doc.ibexa.co/en/3.3/extending/extending_workflow/#adding-custom-actions). #### Reviewers When sending content through a workflow, the user can now select reviewers. You can require the user to select reviewers when sending content through the workflow. - In the configuration, you can also set the workflow to [automatically notify the selected reviewers](https://doc.ibexa.co/en/latest/guide/workflow/#sending-notifications). + In the configuration, you can also set the workflow to [automatically notify the selected reviewers](https://doc.ibexa.co/en/3.3/guide/workflow/#sending-notifications). #### Quick review @@ -114,18 +114,18 @@ New functionalities and changes include: - resizable column with custom sort order - editing content from UDW (Enterprise only) -For full list of changes, see [Backwards compatibility doc](https://doc.ibexa.co/en/latest/releases/ez_platform_v3.0_deprecations/#universal-discovery-widget) and [Configuration](https://doc.ibexa.co/en/latest/extending/extending_udw/#configuration). +For full list of changes, see [Backwards compatibility doc](https://doc.ibexa.co/en/3.3/releases/ez_platform_v3.0_deprecations/#universal-discovery-widget) and [Configuration](https://doc.ibexa.co/en/3.3/extending/extending_udw/#configuration). ### Field types #### Content query field type -The new [Content query field type](https://doc.ibexa.co/en/latest/api/field_types_reference/contentqueryfield) +The new [Content query field type](https://doc.ibexa.co/en/3.3/api/field_types_reference/contentqueryfield) enables you to configure a Content query that uses parameters from a Field definition. #### Field type creation -You can now use [Generic field type](https://doc.ibexa.co/en/latest/extending/extending_field_type) as a template for your custom field types. +You can now use [Generic field type](https://doc.ibexa.co/en/3.3/extending/extending_field_type) as a template for your custom field types. #### Keyword field type @@ -135,11 +135,11 @@ The `keyword` field type can now recognize versions of a content item. #### Login by User name or email -You can now give your users the ability to [log in with User name or with email](https://doc.ibexa.co/en/latest/users/login_methods). +You can now give your users the ability to [log in with User name or with email](https://doc.ibexa.co/en/3.3/users/login_methods). #### Password rules -You can now set [password expiration rules](https://doc.ibexa.co/en/latest/guide/user_management/user_management/#password-expiration) +You can now set [password expiration rules](https://doc.ibexa.co/en/3.3/guide/user_management/user_management/#password-expiration) for user passwords. ### Duplicate a role @@ -158,15 +158,15 @@ The following new Search Criteria have been added: |Search Criterion|Search based on| |-----|-----| -|[IsUserBased](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/isuserbased_criterion)|Whether content represents a User account| -|[IsUserEnabled](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/isuserenabled_criterion)|Whether a User account is enabled| -|[ObjectStateIdentifier](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/objectstateidentifier_criterion)|Object state Identifier| -|[SectionId](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/sectionid_criterion)|ID of the Section content is assigned to| -|[SectionIdentifier](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/sectionidentifier_criterion)|Identifier of the Section content is assigned to| -|[UserEmail](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/useremail_criterion)|Email address of a User account| -|[Sibling](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/sibling_criterion)|Locations that are children of the same parent| -|[UserId](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/userid_criterion)|User ID| -|[UserLogin](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/userlogin_criterion)|User login| +|[IsUserBased](https://doc.ibexa.co/en/3.3/guide/search/criteria_reference/isuserbased_criterion)|Whether content represents a User account| +|[IsUserEnabled](https://doc.ibexa.co/en/3.3/guide/search/criteria_reference/isuserenabled_criterion)|Whether a User account is enabled| +|[ObjectStateIdentifier](https://doc.ibexa.co/en/3.3/guide/search/criteria_reference/objectstateidentifier_criterion)|Object state Identifier| +|[SectionId](https://doc.ibexa.co/en/3.3/guide/search/criteria_reference/sectionid_criterion)|ID of the Section content is assigned to| +|[SectionIdentifier](https://doc.ibexa.co/en/3.3/guide/search/criteria_reference/sectionidentifier_criterion)|Identifier of the Section content is assigned to| +|[UserEmail](https://doc.ibexa.co/en/3.3/guide/search/criteria_reference/useremail_criterion)|Email address of a User account| +|[Sibling](https://doc.ibexa.co/en/3.3/guide/search/criteria_reference/sibling_criterion)|Locations that are children of the same parent| +|[UserId](https://doc.ibexa.co/en/3.3/guide/search/criteria_reference/userid_criterion)|User ID| +|[UserLogin](https://doc.ibexa.co/en/3.3/guide/search/criteria_reference/userlogin_criterion)|User login| ### Random sorting @@ -174,7 +174,7 @@ The list of common Sort Clauses has been extended by the Random sorting option. ### Contextual Twig variables -You can now create [custom Twig variables](https://doc.ibexa.co/en/latest/guide/content_rendering/templates/templates/#custom-template-variables) for use in templates. +You can now create [custom Twig variables](https://doc.ibexa.co/en/3.3/guide/content_rendering/templates/templates/#custom-template-variables) for use in templates. They can be defined per SiteAccess, or per content view. ### Built-in Query Types @@ -200,17 +200,17 @@ You can now add custom tooltips to provide more information for the users when t The new thumbnails API allows you to easily choose an image for each content. -For more information, see [Extending thumbnails](https://doc.ibexa.co/en/latest/extending/extending_thumbnails). +For more information, see [Extending thumbnails](https://doc.ibexa.co/en/3.3/extending/extending_thumbnails). ### Type hints for public PHP API -Strict types have been added to public PHP API methods. For a complete list, see [backwards compatibility breaks](https://doc.ibexa.co/en/latest/releases/ez_platform_v3.0_deprecations/#strict-types-for-php-api). +Strict types have been added to public PHP API methods. For a complete list, see [backwards compatibility breaks](https://doc.ibexa.co/en/3.3/releases/ez_platform_v3.0_deprecations/#strict-types-for-php-api). ## Other changes ### GraphQL -In GraphQL, you can now [query Locations and their children](https://doc.ibexa.co/en/latest/api/graphql_queries/#querying-locations). +In GraphQL, you can now [query Locations and their children](https://doc.ibexa.co/en/3.3/api/graphql_queries/#querying-locations). ### Translations @@ -226,12 +226,12 @@ New multilingual content route for internal translations has been added. ### Renamed templates and parameters Templates and parameters used by the back office have been renamed for consistency. -For A full list of changes, see [Backwards compatibility doc](https://doc.ibexa.co/en/latest/releases/ez_platform_v3.0_deprecations). +For A full list of changes, see [Backwards compatibility doc](https://doc.ibexa.co/en/3.3/releases/ez_platform_v3.0_deprecations). ### HTTP Cache HTTP cache bundle now uses FOS Cache Bundle v2. -For a full list of changes this entails, see [Backwards compatibility doc](https://doc.ibexa.co/en/latest/releases/ez_platform_v3.0_deprecations/#ezplatform-http-cache). +For a full list of changes this entails, see [Backwards compatibility doc](https://doc.ibexa.co/en/3.3/releases/ez_platform_v3.0_deprecations/#ezplatform-http-cache). ### Helpers @@ -266,7 +266,7 @@ New methods have been introduced to the PHP API: ## Deprecations and removals -For full list of deprecations and removals, see [eZ Platform v3.0 deprecations and backwards compatibility breaks](https://doc.ibexa.co/en/latest/releases/ez_platform_v3.0_deprecations). +For full list of deprecations and removals, see [eZ Platform v3.0 deprecations and backwards compatibility breaks](https://doc.ibexa.co/en/3.3/releases/ez_platform_v3.0_deprecations). ### SignalSlots @@ -277,7 +277,7 @@ Use [Event Listeners]([[= symfony_doc =]]/event_dispatcher.html) in your code in The deprecated `ezprice` and `ezpage` field types have been removed. Nameable field type interface has been removed and replaced by `eZ\Publish\SPI\FieldType\FieldType::getName`. -For a full list of changes on field types, see [Backwards compatibility doc](https://doc.ibexa.co/en/latest/releases/ez_platform_v3.0_deprecations/#field-types). +For a full list of changes on field types, see [Backwards compatibility doc](https://doc.ibexa.co/en/3.3/releases/ez_platform_v3.0_deprecations/#field-types). ### Elasticsearch @@ -295,7 +295,7 @@ Following the change, the REST client has been removed from Kernel. ### Online Editor Online Editor front-end code and assets have been moved to the `ezplatform-richtext` repository. -For a full list of resulting changes, see [Backwards compatibility doc](https://doc.ibexa.co/en/latest/releases/ez_platform_v3.0_deprecations/#online-editor). +For a full list of resulting changes, see [Backwards compatibility doc](https://doc.ibexa.co/en/3.3/releases/ez_platform_v3.0_deprecations/#online-editor). ### Configuration through `ezplatform` @@ -312,7 +312,7 @@ The Symfony Service definitions, providing extension point to create custom inst ## Requirements changes -eZ Platform now requires using PHP 7.3. For full list of, see [eZ Platform requirements](https://doc.ibexa.co/en/latest/getting_started/requirements). +eZ Platform now requires using PHP 7.3. For full list of, see [eZ Platform requirements](https://doc.ibexa.co/en/3.3/getting_started/requirements). !!! note @@ -321,7 +321,7 @@ eZ Platform now requires using PHP 7.3. For full list of, see [eZ Platform requi ## Updating -For the upgrade details, see [eZ Platform v3.0 project update instructions](https://doc.ibexa.co/en/latest/updating/updating). +For the upgrade details, see [eZ Platform v3.0 project update instructions](https://doc.ibexa.co/en/3.3/updating/updating). ## Full changelog diff --git a/docs/release_notes/ez_platform_v3.0_deprecations.md b/docs/release_notes/ez_platform_v3.0_deprecations.md index bce5507664..b1b0db48fc 100644 --- a/docs/release_notes/ez_platform_v3.0_deprecations.md +++ b/docs/release_notes/ez_platform_v3.0_deprecations.md @@ -7,7 +7,7 @@ This page lists backwards compatibility breaks and deprecations introduced in eZ !!! tip "Upgrade to v3" For a guide on moving your project to v3, - see [eZ Platform v3.0 project update instructions](https://doc.ibexa.co/en/latest/updating/updating). + see [eZ Platform v3.0 project update instructions](https://doc.ibexa.co/en/3.3/updating/updating). ## Symfony 5 @@ -15,7 +15,7 @@ v3.0 now uses Symfony 5 instead of Symfony 3. Refer to [Symfony changelog for 4.0](https://github.com/symfony/symfony/blob/5.0/CHANGELOG-4.0.md), [for 5.0](https://github.com/symfony/symfony/blob/5.0/CHANGELOG-5.0.md), [Symfony upgrade guides for 4.0](https://github.com/symfony/symfony/blob/4.0/UPGRADE-4.0.md), and [for 5.0](https://github.com/symfony/symfony/blob/5.0/UPGRADE-5.0.md) to learn about all changes it entails. See [v3.0 project update](adapt_code_to_v3.md) for the steps you need to take to update your project to Symfony 5. -See also [full requirements for installing eZ Platform](https://doc.ibexa.co/en/latest/getting_started/requirements). +See also [full requirements for installing eZ Platform](https://doc.ibexa.co/en/3.3/getting_started/requirements). ### Template configuration @@ -36,11 +36,11 @@ Example 2: Following the upgrade to Symfony 5, the DFS IO handler must be configured in a different way. -For more information, see the Doctrine connection configuration example in the [Clustering](https://doc.ibexa.co/en/latest/guide/clustering/#configuring-the-dfs-io-handler) article. +For more information, see the Doctrine connection configuration example in the [Clustering](https://doc.ibexa.co/en/3.3/guide/clustering/#configuring-the-dfs-io-handler) article. ## Field types -The following tags used to register field type features in the [service container](https://doc.ibexa.co/en/latest/api/public_php_api/#service-container) have been renamed: +The following tags used to register field type features in the [service container](https://doc.ibexa.co/en/3.3/api/public_php_api/#service-container) have been renamed: |Former name|New name| |-----------|--------| @@ -56,7 +56,7 @@ The following tags used to register field type features in the [service containe Deprecated method `eZ\Publish\SPI\FieldType\FieldType::getName` is now supported with a new signature similar to `eZ\Publish\SPI\FieldType\Nameable::getFieldName()`, which has been removed. -For more information, see [eZ Platform v3.0 project update](https://doc.ibexa.co/en/latest/updating/4_3_upgrade_field_types). +For more information, see [eZ Platform v3.0 project update](https://doc.ibexa.co/en/3.3/updating/4_3_upgrade_field_types). The deprecated `eZ\Publish\Core\FieldType\RichText` namespace has been removed, as it was moved to a separate bundle in v2.4. @@ -89,9 +89,9 @@ The following Symfony Service definitions that provide extension point to create The `ezstudio.installer.studio_installer` service has been renamed to the FQCN-named service `EzSystems\EzPlatformEnterpriseEditionInstallerBundle\Installer\Installer`. -Deprecated `ezplatform.ee.installer.class` [service container](https://doc.ibexa.co/en/latest/api/public_php_api/#service-container) parameter has been removed. +Deprecated `ezplatform.ee.installer.class` [service container](https://doc.ibexa.co/en/3.3/api/public_php_api/#service-container) parameter has been removed. -See [eZ Platform v3.0 project update instructions](https://doc.ibexa.co/en/latest/updating/4_8_upgrade_rest/#custom-installers) for upgrade details. +See [eZ Platform v3.0 project update instructions](https://doc.ibexa.co/en/3.3/updating/4_8_upgrade_rest/#custom-installers) for upgrade details. ## ezplatform-admin-ui @@ -281,7 +281,7 @@ The `@ezdesign/account/error/credentials_expired.html.twig` has been relocated f ### Universal Discovery Widget The UDW configuration has been changed. -For the full list of UDW configuration keys and their descriptions, see [UDW configuration](https://doc.ibexa.co/en/latest/extending/extending_udw/#configuration). +For the full list of UDW configuration keys and their descriptions, see [UDW configuration](https://doc.ibexa.co/en/3.3/extending/extending_udw/#configuration). ### Online Editor @@ -290,7 +290,7 @@ All Online Editor front-end code and assets (such as JS, CSS, or fonts) have bee ### Adding new tabs in the back office The way of adding custom tab groups in the back office has changed. -You now need to [make use of the `TabsComponent`](https://doc.ibexa.co/en/latest/extending/extending_tabs/#adding-a-new-tab-group). +You now need to [make use of the `TabsComponent`](https://doc.ibexa.co/en/3.3/extending/extending_tabs/#adding-a-new-tab-group). ### Content type forms @@ -463,7 +463,7 @@ Following SPI methods have been removed: ### Dynamic settings -Using dynamic settings (through `$setting$`) and getting settings from the [ConfigResolver](https://doc.ibexa.co/en/latest/guide/config_dynamic/#configresolver) in a class constructor +Using dynamic settings (through `$setting$`) and getting settings from the [ConfigResolver](https://doc.ibexa.co/en/3.3/guide/config_dynamic/#configresolver) in a class constructor or method call has been dropped. You should use the ConfigResolver instead. @@ -473,7 +473,7 @@ Don't store the values globally. Every time the value is needed call `ConfigReso #### AbstractController -The `eZ\Bundle\EzPublishCoreBundle\Controller` now extends `Symfony\Bundle\FrameworkBundle\Controller\AbstractController` instead of `Symfony\Bundle\FrameworkBundle\Controller\Controller` which has limited access to the [service container](https://doc.ibexa.co/en/latest/api/public_php_api/#service-container). +The `eZ\Bundle\EzPublishCoreBundle\Controller` now extends `Symfony\Bundle\FrameworkBundle\Controller\AbstractController` instead of `Symfony\Bundle\FrameworkBundle\Controller\Controller` which has limited access to the [service container](https://doc.ibexa.co/en/3.3/api/public_php_api/#service-container). For details, see [Service Subscribers Locators]([[= symfony_doc =]]/service_container/service_subscribers_locators.html). The `Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand` is deprecated, use `Symfony\Component\Console\Command\Command` instead. @@ -689,7 +689,7 @@ The deprecated `Symfony\Component\HttpFoundation\File\MimeType\ExtensionGuesserI ### Symfony service container -The deprecated Symfony [service container](https://doc.ibexa.co/en/latest/api/public_php_api/#service-container) parameters ending with `.class` have been removed, services relying on them now have their classes defined explicitly. +The deprecated Symfony [service container](https://doc.ibexa.co/en/3.3/api/public_php_api/#service-container) parameters ending with `.class` have been removed, services relying on them now have their classes defined explicitly. To properly decorate a Symfony service, use the `decorates` attribute instead. For the full list of the dropped parameters, see [kernel documentation](https://github.com/ezsystems/ezpublish-kernel/blob/master/doc/bc/1.0/dropped-container-parameters.md). @@ -865,7 +865,7 @@ All Online Editor front-end code and assets (such as JS, CSS, or fonts) have bee #### Custom button configuration Configuring custom Online Editor buttons with `ezrichtext.alloy_editor.extra_buttons` is deprecated. -Use [`ezplatform.system..fieldtypes.ezrichtext.toolbars..buttons`](https://doc.ibexa.co/en/latest/extending/online_editor_button) instead. +Use [`ezplatform.system..fieldtypes.ezrichtext.toolbars..buttons`](https://doc.ibexa.co/en/3.3/extending/online_editor_button) instead. ### View matching diff --git a/docs/release_notes/ez_platform_v3.1.md b/docs/release_notes/ez_platform_v3.1.md index 7f6c2494c5..f2e99d11dd 100644 --- a/docs/release_notes/ez_platform_v3.1.md +++ b/docs/release_notes/ez_platform_v3.1.md @@ -24,20 +24,20 @@ This release of eZ Platform introduces the following new features: You can now create multiple content structures that can be used as Site skeletons for the new sites. - For more information about Site skeleton, see [Configure Site skeleton](https://doc.ibexa.co/en/latest/guide/multisite/site_factory_configuration/#site-skeletons). + For more information about Site skeleton, see [Configure Site skeleton](https://doc.ibexa.co/en/3.1/guide/multisite/site_factory_configuration/#site-skeletons). #### Defining parent Location You can now define the parent Location for every new site in the template configuration. - For more information about defining parent Location, see [Configure parent Location](https://doc.ibexa.co/en/latest/guide/multisite/site_factory_configuration/#parent-location). + For more information about defining parent Location, see [Configure parent Location](https://doc.ibexa.co/en/3.1/guide/multisite/site_factory_configuration/#parent-location). ### Elasticsearch You can now use [Elasticsearch](https://www.elastic.co/) in your eZ Platform installation through the `PlatformElasticSearchEngineBundle`. - See [Elasticsearch documentation](https://doc.ibexa.co/en/latest/guide/search/elastic) to learn how to set up, configure and user Elasticsearch with eZ Platform. + See [Elasticsearch documentation](https://doc.ibexa.co/en/3.1/guide/search/elastic) to learn how to set up, configure and user Elasticsearch with eZ Platform. ### Page Builder @@ -47,7 +47,7 @@ This release of eZ Platform introduces the following new features: ### Field group permissions - The new [field group limitation](https://doc.ibexa.co/en/latest/guide/limitation_reference/#field-group-limitation) + The new [field group limitation](https://doc.ibexa.co/en/3.1/guide/limitation_reference/#field-group-limitation) enables you to control who can edit content fields per field group. ### Version comparison @@ -82,7 +82,7 @@ Selections that you make in one view survive when you switch to the other view. ![Tree view in the Content Browser](3_1_Content_browser_Tree_view.png "Tree view in Content Browser") -For more information about configuring the Universal Discovery Widget, see [Extending Universal Discovery Widget](https://doc.ibexa.co/en/latest/extending/extending_udw). +For more information about configuring the Universal Discovery Widget, see [Extending Universal Discovery Widget](https://doc.ibexa.co/en/3.1/extending/extending_udw). ### Field group display @@ -120,11 +120,11 @@ A customizable search controller has been extracted and placed in `ezplatform-se You can now search through the contents of Trash and sort the search results based on a number of Search Criteria and Sort Clauses that can be used by the `\eZ\Publish\API\Repository\TrashService::findTrashItems` method only. -For more information, see [Search in trash](https://doc.ibexa.co/en/latest/api/public_php_api_search/#search-in-trash). +For more information, see [Search in trash](https://doc.ibexa.co/en/3.1/api/public_php_api_search/#search-in-trash). ### Repository filtering -[Repository filtering](https://doc.ibexa.co/en/latest/api/public_php_api_search/#repository-filtering) enables you to filter content and Locations using a defined Filter, +[Repository filtering](https://doc.ibexa.co/en/3.1/api/public_php_api_search/#repository-filtering) enables you to filter content and Locations using a defined Filter, without the `SearchService`. ### PermissionResolver diff --git a/docs/release_notes/ibexa_dxp_v3.2.md b/docs/release_notes/ibexa_dxp_v3.2.md index 8b16a12cc1..dc1320f313 100644 --- a/docs/release_notes/ibexa_dxp_v3.2.md +++ b/docs/release_notes/ibexa_dxp_v3.2.md @@ -23,7 +23,7 @@ including eCommerce administration. ### DAM connector -You can now [connect your installation to a Digital Asset Management (DAM) system](https://doc.ibexa.co/en/latest/guide/config_connector/#dam-cofniguration) +You can now [connect your installation to a Digital Asset Management (DAM) system](https://doc.ibexa.co/en/3.3/guide/config_connector/#dam-cofniguration) and use assets such as images directly from the DAM in your content. ### Autosave @@ -40,7 +40,7 @@ to group search results and get the count of results per aggregation type. You can aggregate results by general conditions such as content type or Section, or by Field aggregations such as the value of specific Fields. -For more information, see [Aggregation API](https://doc.ibexa.co/en/latest/api/public_php_api_search/#aggregation). +For more information, see [Aggregation API](https://doc.ibexa.co/en/3.2/api/public_php_api_search/#aggregation). ### Targeting block and Segmentation API [[% include 'snippets/experience_badge.md' %]] [[% include 'snippets/commerce_badge.md' %]] @@ -49,9 +49,9 @@ depending on the Segments they belong to. ![Targeting block](3.2_targeting_block.png) -You can [configure Segments](https://doc.ibexa.co/en/latest/guide/admin_panel/#segments) in the back office. +You can [configure Segments](https://doc.ibexa.co/en/3.2/guide/admin_panel/#segments) in the back office. -[Segmentation API](https://doc.ibexa.co/en/latest/api/public_php_api_managing_users/#segments) enables you to create and edit Segments and Segment Groups, and assign Users to Segments. +[Segmentation API](https://doc.ibexa.co/en/3.2/api/public_php_api_managing_users/#segments) enables you to create and edit Segments and Segment Groups, and assign Users to Segments. ### Twig helpers for content rendering @@ -61,20 +61,20 @@ Use `ez_render_content(content)` and `ez_render_location(location)` to render th You can also use `ez_render()` and provide it with either a content or Location object. -For more information, see [Using `ez_render` Twig helpers](https://doc.ibexa.co/en/latest/guide/templates/#using-ez_render-twig-helpers). +For more information, see [Using `ez_render` Twig helpers](https://doc.ibexa.co/en/3.2/guide/templates/#using-ez_render-twig-helpers). ### JWT authentication -You can now use JWT tokens to authenticate in [REST API](https://doc.ibexa.co/en/latest/api/rest_api/rest_api_authentication/#jwt-authentication) -and [GraphQL](https://doc.ibexa.co/en/latest/api/graphql/#jwt-authentication). +You can now use JWT tokens to authenticate in [REST API](https://doc.ibexa.co/en/3.2/api/rest_api/rest_api_authentication/#jwt-authentication) +and [GraphQL](https://doc.ibexa.co/en/3.2/api/graphql/#jwt-authentication). -See [JWT authentication](https://doc.ibexa.co/en/latest/guide/security/#jwt-authentication) to learn how to configure this authentication method. +See [JWT authentication](https://doc.ibexa.co/en/3.2/guide/security/#jwt-authentication) to learn how to configure this authentication method. ### Searching in [[= product_name_com =]] with Elasticsearch [[% include 'snippets/commerce_badge.md' %]] You can now use Elasticsearch for searching in [[= product_name_com =]]. -See [Install Ibexa Platform](https://doc.ibexa.co/en/latest/getting_started/install_ez_platform/#install-and-configure-a-search-engine) to learn how to install and configure the search engine. +See [Install Ibexa Platform](https://doc.ibexa.co/en/3.2/getting_started/install_ez_platform/#install-and-configure-a-search-engine) to learn how to install and configure the search engine. ## Other changes @@ -84,7 +84,7 @@ You can now define user group skeletons where you define policies and limitation You can then associate a number of such skeletons with a site template. User group skeletons survive deleting a site. -For more information, see [Configure user group skeleton](https://doc.ibexa.co/en/latest/guide/multisite/site_factory_configuration/#user-group-skeletons). +For more information, see [Configure user group skeleton](https://doc.ibexa.co/en/3.2/guide/multisite/site_factory_configuration/#user-group-skeletons). ### Calendar widget improvements @@ -106,7 +106,7 @@ Then, refresh the view to see an updated list of content types. ### Object state API improvements You can now use `ObjectStateService::loadObjectStateByIdentifier()` and `ObjectStateService::loadObjectStateGroupByIdentifier()` -to [get object states and object state groups](https://doc.ibexa.co/en/latest/api/public_php_api_managing_repository/#getting-object-state-information) in the PHP API. +to [get object states and object state groups](https://doc.ibexa.co/en/3.2/api/public_php_api_managing_repository/#getting-object-state-information) in the PHP API. ## Full changelog diff --git a/docs/release_notes/ibexa_dxp_v4.0.md b/docs/release_notes/ibexa_dxp_v4.0.md index b77c445b4e..3d72179add 100644 --- a/docs/release_notes/ibexa_dxp_v4.0.md +++ b/docs/release_notes/ibexa_dxp_v4.0.md @@ -50,7 +50,7 @@ for different websites. This way you can eliminate irrelevant recommendations when you set up stores that operate on different markets or under different brands. -For more information, see [Support for multiple websites](https://doc.ibexa.co/projects/userguide/en/latest/personalization/use_cases/#multiple-website-hosting). +For more information, see [Support for multiple websites](https://doc.ibexa.co/projects/userguide/en/4.0/personalization/use_cases/#multiple-website-hosting). ## Other changes @@ -59,14 +59,14 @@ For more information, see [Support for multiple websites](https://doc.ibexa.co/p You can now configure and use the locking feature to lock a draft of a content item, so that only an assigned person can edit it, and no other user can take it over. -For more information, see the [Draft locking](https://doc.ibexa.co/en/latest/guide/workflow/workflow/#draft-locking) +For more information, see the [Draft locking](https://doc.ibexa.co/en/4.0/guide/workflow/workflow/#draft-locking) and relevant [User Documentation](https://doc.ibexa.co/projects/userguide/en/4.0/publishing/editorial_workflow/#releasing-locked-drafts). ### Online Editor is now based on CKEditor You can now edit content of RichText Fields using CKEditor and extend its functionality with many elements. -For more information, see [Extend Online Editor](https://doc.ibexa.co/en/latest/extending/extending_online_editor/). +For more information, see [Extend Online Editor](https://doc.ibexa.co/en/4.0/extending/extending_online_editor/). ### Enhanced GraphQL location handling @@ -74,10 +74,10 @@ GraphQL now enables better querying of Locations and URLs. ### Migration API -You can now manage [data migrations](https://doc.ibexa.co/en/latest/guide/data_migration/data_migration/) by using the PHP API, +You can now manage [data migrations](https://doc.ibexa.co/en/4.0/guide/data_migration/data_migration/) by using the PHP API, including getting migration information and running individual migration files. -See [Managing migrations](https://doc.ibexa.co/en/latest/api/public_php_api_managing_migrations/) for more information. +See [Managing migrations](https://doc.ibexa.co/en/4.0/api/public_php_api_managing_migrations/) for more information. ### Decide whether alternative text for Image field is optional @@ -94,7 +94,7 @@ For more information, see [Working with Page](https://doc.ibexa.co/projects/user You can purge all submissions of a given form. -For more information, see [Forms](https://doc.ibexa.co/en/latest/guide/form_builder/forms/#form-submission-purging). +For more information, see [Forms](https://doc.ibexa.co/en/4.0/guide/form_builder/forms/#form-submission-purging). ### External datasource handling @@ -103,7 +103,7 @@ Personalization has been given an option to fetch content feed from external sou ### Category exclusion Personalization service has been enhanced with a feature which allows to exclude categories from the recommendation response. -See [Exclusions](https://doc.ibexa.co/projects/userguide/en/latest/personalization/filters/#exclusions). +See [Exclusions](https://doc.ibexa.co/projects/userguide/en/4.0/personalization/filters/#exclusions). ## Deprecations diff --git a/docs/release_notes/ibexa_dxp_v4.1.md b/docs/release_notes/ibexa_dxp_v4.1.md index 0cafba6279..352d5be72d 100644 --- a/docs/release_notes/ibexa_dxp_v4.1.md +++ b/docs/release_notes/ibexa_dxp_v4.1.md @@ -17,7 +17,7 @@ description: Ibexa DXP v4.1 enhances the product catalog capabilities, adds a Me With this release, product catalog brings new PHP APIs, productivity boost from new product Search Criteria and Sort classes, advanced filtering in REST endpoints, auto-generated identifiers, product list sorting, and more. -You can now use [advanced filtering on products, product types, attributes, and others in REST endpoints](https://doc.ibexa.co/en/latest/api/rest_api_reference/rest_api_reference.html#product-catalog-filter-currencies). +You can now use [advanced filtering on products, product types, attributes, and others in REST endpoints](https://doc.ibexa.co/en/4.1/api/rest_api_reference/rest_api_reference.html#product-catalog-filter-currencies). Currencies, regions and customer groups can now be resolved automatically in the PHP API based on the current context (for example, selected locale). @@ -70,16 +70,16 @@ A language switcher in Taxonomy view enables quick switching between different t ### Image optimization Images modified in the Image Editor are now optimized for reduced file size. -You can use external libraries to [optimize different image formats](https://doc.ibexa.co/en/latest/guide/images/#image-optimization). +You can use external libraries to [optimize different image formats](https://doc.ibexa.co/en/4.1/guide/images/#image-optimization). ### Expanded data migrations [Data migration](data_migration.md) now covers additional objects: -- [database settings](https://doc.ibexa.co/en/latest/guide/data_migration/importing_data/#settings) -- [segments](https://doc.ibexa.co/en/latest/guide/data_migration/importing_data/#segments) -- [prices](https://doc.ibexa.co/en/latest/guide/data_migration/importing_data/#prices) with `create` mode -- [settings](https://doc.ibexa.co/en/latest/guide/data_migration/importing_data/#settings) +- [database settings](https://doc.ibexa.co/en/4.1/guide/data_migration/importing_data/#settings) +- [segments](https://doc.ibexa.co/en/4.1/guide/data_migration/importing_data/#segments) +- [prices](https://doc.ibexa.co/en/4.1/guide/data_migration/importing_data/#prices) with `create` mode +- [settings](https://doc.ibexa.co/en/4.1/guide/data_migration/importing_data/#settings) Data migration now also offers a locking capability, which prevents multiple processes from executing the same migration and causing duplicated records. diff --git a/docs/release_notes/ibexa_dxp_v4.2.md b/docs/release_notes/ibexa_dxp_v4.2.md index 36ea3f1912..e021f632b2 100644 --- a/docs/release_notes/ibexa_dxp_v4.2.md +++ b/docs/release_notes/ibexa_dxp_v4.2.md @@ -12,7 +12,7 @@ description: Ibexa DXP v4.2 adds the Customer Portal and user management capabil **Release type**: [Fast Track](https://support.ibexa.co/Public/service-life) -**Update**: [v4.1.x to v4.2](https://doc.ibexa.co/en/latest/update_and_migration/from_4.1/update_from_4.1/) +**Update**: [v4.1.x to v4.2](https://doc.ibexa.co/en/4.2/update_and_migration/from_4.1/update_from_4.1/) ## Notable changes @@ -26,7 +26,7 @@ assign them specific roles and limitations, such as a buyer, or sales representa ![Customer Portal back office](4.2_customer_portal.png) -For more information, see [back office company management documentation](https://doc.ibexa.co/projects/userguide/en/latest/shop_administration/manage_users). +For more information, see [back office company management documentation](https://doc.ibexa.co/projects/userguide/en/4.2/shop_administration/manage_users). On their personal accounts in Customer Portal, members of your organisation can view their order history, other members of their team and information regarding their company, for example, billing addresses. @@ -34,7 +34,7 @@ They can also edit their profile information. ![Customer Portal Frontend](4.2_customer_center.png) -For more information, see [Customer Portal documentation](https://doc.ibexa.co/projects/userguide/en/latest/shop_administration/customer_portal). +For more information, see [Customer Portal documentation](https://doc.ibexa.co/projects/userguide/en/4.2/shop_administration/customer_portal). ### User management @@ -46,7 +46,7 @@ You can [invite users to create their account](https://doc.ibexa.co/projects/use #### Configure register form -Register forms for new users can now be [configured straight in the YAML file](https://doc.ibexa.co/en/latest/guide/content_rendering/layout/add_register_user_template/#configure-existing-form). +Register forms for new users can now be [configured straight in the YAML file](https://doc.ibexa.co/en/4.2/guide/content_rendering/layout/add_register_user_template/#configure-existing-form). ### Catalogs @@ -95,7 +95,7 @@ You can use it to get a quick overview of missing parts in the product configura With product categories, you can organize products that populate the Product Catalog. You do it, for example, to assist users in searching for products. -For more information, see [Product categories](https://doc.ibexa.co/projects/userguide/en/latest/shop_administration/product_categories/). +For more information, see [Product categories](https://doc.ibexa.co/projects/userguide/en/4.2/shop_administration/product_categories/). ![Product categories](4.2_product_categories_rn.png) @@ -106,18 +106,18 @@ you can now get recommendations for all these content types. ### Taxonomy field type -Taxonomy is now [configured with a field type](https://doc.ibexa.co/projects/userguide/en/latest/content_management/taxonomy/work_with_tags/#add-tag), +Taxonomy is now [configured with a field type](https://doc.ibexa.co/projects/userguide/en/4.2/content_management/taxonomy/work_with_tags/#add-tag), so you can use many Fields to add different taxonomy categories, for example, tags and product categories in the same content type. ### Address field type -With the [new Address field type](https://doc.ibexa.co/en/latest/content_management/field_types/field_type_reference/addressfield), you can now customize address Fields and configure them per country. +With the [new Address field type](https://doc.ibexa.co/en/4.2/content_management/field_types/field_type_reference/addressfield), you can now customize address Fields and configure them per country. ![Address field type](4.2_address_field_type.png) ### Repeatable migration steps -Data migration now offers [repeatable migration steps](https://doc.ibexa.co/en/latest/guide/data_migration/importing_data/#repeatable-steps), +Data migration now offers [repeatable migration steps](https://doc.ibexa.co/en/4.2/guide/data_migration/importing_data/#repeatable-steps), especially useful when creating large amounts of data, for example for testing. You can vary the migration values by using the iteration counter, or by generating random data by using [`FakerPHP`](https://fakerphp.org/). @@ -130,29 +130,29 @@ New Search Criteria and Sort Clauses help better fine-tune searches for products Price-related Search Criteria enable you to search by base or custom product price: -- [BasePrice](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/baseprice_criterion/) -- [CustomPrice](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/customprice_criterion/) +- [BasePrice](https://doc.ibexa.co/en/4.2/guide/search/criteria_reference/baseprice_criterion/) +- [CustomPrice](https://doc.ibexa.co/en/4.2/guide/search/criteria_reference/customprice_criterion/) Attribute Criteria search for products based on their attribute values, per attribute type: -- [CheckboxAttribute](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/checkboxattribute_criterion/) -- [ColorAttribute](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/colorattribute_criterion/) -- [FloatAttribute](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/floatattribute_criterion/) -- [IntegerAttribute](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/integerattribute_criterion/) -- [SelectionAttribute](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/selectionattribute_criterion/) +- [CheckboxAttribute](https://doc.ibexa.co/en/4.2/guide/search/criteria_reference/checkboxattribute_criterion/) +- [ColorAttribute](https://doc.ibexa.co/en/4.2/guide/search/criteria_reference/colorattribute_criterion/) +- [FloatAttribute](https://doc.ibexa.co/en/4.2/guide/search/criteria_reference/floatattribute_criterion/) +- [IntegerAttribute](https://doc.ibexa.co/en/4.2/guide/search/criteria_reference/integerattribute_criterion/) +- [SelectionAttribute](https://doc.ibexa.co/en/4.2/guide/search/criteria_reference/selectionattribute_criterion/) - SimpleMeasurementAttribute - RangeMeasurementAttributeMinimum - RangeMeasurementAttributeMaximum Creation date Criteria and Sort Clauses allow searching by date of the product's creation: -- [CreatedAt](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/createdat_criterion/) -- [CreatedAtRange](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/createdatrange_criterion/) -- [CreatedAt](https://doc.ibexa.co/en/latest/guide/search/sort_clause_reference/createdat_sort_clause/) +- [CreatedAt](https://doc.ibexa.co/en/4.2/guide/search/criteria_reference/createdat_criterion/) +- [CreatedAtRange](https://doc.ibexa.co/en/4.2/guide/search/criteria_reference/createdatrange_criterion/) +- [CreatedAt](https://doc.ibexa.co/en/4.2/guide/search/sort_clause_reference/createdat_sort_clause/) Finally, you can search product by product category: -- [ProductCategory](https://doc.ibexa.co/en/latest/guide/search/criteria_reference/productcategory_criterion/) +- [ProductCategory](https://doc.ibexa.co/en/4.2/guide/search/criteria_reference/productcategory_criterion/) ### API improvements @@ -160,7 +160,7 @@ Finally, you can search product by product category: Taxonomy is now covered with GraphQL API. -Querying product attributes with GraphQL is improved with the option to [query by attribute type](https://doc.ibexa.co/en/latest/api/graphql_queries/#querying-product-attributes). +Querying product attributes with GraphQL is improved with the option to [query by attribute type](https://doc.ibexa.co/en/4.2/api/graphql_queries/#querying-product-attributes). ### New ways to add images in Online Editor @@ -178,14 +178,14 @@ Images that you upload this way are automatically added to the Media library. ### Content edit tabs -Content editing screen is now enriched with a [tab switcher](https://doc.ibexa.co/en/latest/administration/back_office/content_tab_switcher/), allowing easy access to metadata such as taxonomies. +Content editing screen is now enriched with a [tab switcher](https://doc.ibexa.co/en/4.2/administration/back_office/content_tab_switcher/), allowing easy access to metadata such as taxonomies. The view can be extended with custom tabs. ![Tabs in content edit view](4.2_content_edit_tabs.png) ### Grouped attributes in Page block -If a Page block has multiple attributes, you can now group them with the [`nested_attribute` parameter](https://doc.ibexa.co/en/latest/content_management/pages/page_block_attributes/#nested-attribute-configuration). +If a Page block has multiple attributes, you can now group them with the [`nested_attribute` parameter](https://doc.ibexa.co/en/4.2/content_management/pages/page_block_attributes/#nested-attribute-configuration). ![Grouped attributes](4.2_page_block_nested.png) @@ -195,7 +195,7 @@ You can now search through the **URL wildcards** table in the back office. ### Product price events -The price engine now dispatches [events related to creating, updating and deleting prices](https://doc.ibexa.co/en/latest/guide/repository/event_reference/catalog_events/#price). +The price engine now dispatches [events related to creating, updating and deleting prices](https://doc.ibexa.co/en/4.2/guide/repository/event_reference/catalog_events/#price). ### Data migration @@ -205,7 +205,7 @@ Data migration now supports `attribute` and `attribute_group` types when generat #### Hide and reveal content actions -You can now hide and reveal content items in data migrations by using the [`hide` and `reveal` actions](https://doc.ibexa.co/en/latest/guide/data_migration/data_migration_actions/#available-migration-actions). +You can now hide and reveal content items in data migrations by using the [`hide` and `reveal` actions](https://doc.ibexa.co/en/4.2/guide/data_migration/data_migration_actions/#available-migration-actions). ### Fastly shielding @@ -239,7 +239,7 @@ This is a standalone package that you can install along every product edition (C ![CDP Control Panel](img/4.2_cdp_control_panel.png) -For more information, see [Customer Data Platform](https://doc.ibexa.co/en/latest/cdp/cdp/). +For more information, see [Customer Data Platform](https://doc.ibexa.co/en/4.2/cdp/cdp/). ### SEO @@ -258,8 +258,8 @@ Now, events are sent while performing operations within Taxonomy, which consider ### Protected segment groups -You can now set existing [segment groups](https://doc.ibexa.co/en/latest/administration/admin_panel/segments_admin_panel/) as protected, and prevent them from being modified through the user interface. -It's intended to stop users from breaking data integrity of segments/segment groups maintained by other features or external system integrations, such as [Customer Portal](https://doc.ibexa.co/en/latest/customer_management/customer_portal/) and [CDP](https://doc.ibexa.co/en/latest/cdp/cdp/). +You can now set existing [segment groups](https://doc.ibexa.co/en/4.2/administration/admin_panel/segments_admin_panel/) as protected, and prevent them from being modified through the user interface. +It's intended to stop users from breaking data integrity of segments/segment groups maintained by other features or external system integrations, such as [Customer Portal](https://doc.ibexa.co/en/4.2/customer_management/customer_portal/) and [CDP](https://doc.ibexa.co/en/4.2/cdp/cdp/). To do it, in your configuration, add the following key for each segment group that you intend to protect: diff --git a/docs/release_notes/ibexa_dxp_v4.3.md b/docs/release_notes/ibexa_dxp_v4.3.md index e51d7b9e62..0eca2b223a 100644 --- a/docs/release_notes/ibexa_dxp_v4.3.md +++ b/docs/release_notes/ibexa_dxp_v4.3.md @@ -19,7 +19,7 @@ description: Ibexa DXP v4.3 adds the improvements to the Customer Portal, produc #### Company self-registration -Now, a prospective buyer can apply to [create a company account](https://doc.ibexa.co/projects/userguide/en/latest/shop_administration/company_self_registration/) on a seller's website. +Now, a prospective buyer can apply to [create a company account](https://doc.ibexa.co/projects/userguide/en/4.3/shop_administration/company_self_registration/) on a seller's website. The application goes through an approval process where admin specifies the customer group and sales representative for the new company account. @@ -41,7 +41,7 @@ SEO configuration gains a more prominent place on the content type editing scree For example, to enable SEO, you now have to edit the content type that you want to modify, scroll down to the SEO section and switch the **Enable SEO for this content type** toggle. -For more information, see [Work with SEO](https://doc.ibexa.co/projects/userguide/en/latest/search_engine_optimization/work_with_seo/). +For more information, see [Work with SEO](https://doc.ibexa.co/projects/userguide/en/4.3/search_engine_optimization/work_with_seo/). !!! note diff --git a/docs/release_notes/ibexa_dxp_v4.4.md b/docs/release_notes/ibexa_dxp_v4.4.md index 86f443a4a8..db4deb9926 100644 --- a/docs/release_notes/ibexa_dxp_v4.4.md +++ b/docs/release_notes/ibexa_dxp_v4.4.md @@ -11,7 +11,7 @@ description: Ibexa DXP v4.4 adds the improvements to the Welcome Page, All-new I **Release type**: [Fast Track](https://support.ibexa.co/Public/service-life) -**Update**: [v4.3.x to v4.4](https://doc.ibexa.co/en/latest/update_and_migration/from_4.3/update_from_4.3/) +**Update**: [v4.3.x to v4.4](https://doc.ibexa.co/en/4.4/update_and_migration/from_4.3/update_from_4.3/) ## Notable changes diff --git a/docs/release_notes/ibexa_dxp_v4.5.md b/docs/release_notes/ibexa_dxp_v4.5.md index c86aa3757b..394a5e27aa 100644 --- a/docs/release_notes/ibexa_dxp_v4.5.md +++ b/docs/release_notes/ibexa_dxp_v4.5.md @@ -12,7 +12,7 @@ description: Ibexa DXP v4.5 adds new features to Ibexa Commerce, translation com **Release type**: [Fast Track](https://support.ibexa.co/Public/service-life) -**Update**: [v4.4.x to v4.5](https://doc.ibexa.co/en/latest/update_and_migration/from_4.4/update_from_4.4/) +**Update**: [v4.4.x to v4.5](https://doc.ibexa.co/en/4.6/update_and_migration/from_4.4/update_from_4.4/) ## Notable changes diff --git a/docs/release_notes/ibexa_dxp_v4.6.md b/docs/release_notes/ibexa_dxp_v4.6.md index 67f889125b..033f3bc153 100644 --- a/docs/release_notes/ibexa_dxp_v4.6.md +++ b/docs/release_notes/ibexa_dxp_v4.6.md @@ -673,13 +673,13 @@ The PHP API has been enhanced with the following new classes: The PHP API has been enhanced with the following new classes: -- [`Ibexa\Contracts\Discounts\Admin\Form\DiscountValueFormTypeMapperInterface`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-Discounts-Admin-Form-DiscountValueFormTypeMapperInterface.html) -- [`Ibexa\Contracts\Discounts\Admin\Form\FormThemeProviderInterface`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-Discounts-Admin-Form-FormThemeProviderInterface.html) -- [`Ibexa\Contracts\DiscountsCodes\Exception\DiscountCodeUnusableException`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-DiscountsCodes-Exception-DiscountCodeUnusableException.html) -- [`Ibexa\Contracts\DiscountsCodes\Exception\DiscountCodeUserInvalidArgumentException`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-DiscountsCodes-Exception-DiscountCodeUserInvalidArgumentException.html) -- [`Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUsageInterface`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-DiscountsCodes-Value-DiscountCodeUsageInterface.html) -- [`Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-DiscountsCodes-Value-DiscountCodeUser.html) -- [`Ibexa\Contracts\DiscountsCodes\Value\Query\DiscountCodeUsageQuery`](https://doc.ibexa.co/en/latest/api/php_api/php_api_reference/classes/Ibexa-Contracts-DiscountsCodes-Value-Query-DiscountCodeUsageQuery.html ) +- [`Ibexa\Contracts\Discounts\Admin\Form\DiscountValueFormTypeMapperInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Discounts-Admin-Form-DiscountValueFormTypeMapperInterface.html) +- [`Ibexa\Contracts\Discounts\Admin\Form\FormThemeProviderInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Discounts-Admin-Form-FormThemeProviderInterface.html) +- [`Ibexa\Contracts\DiscountsCodes\Exception\DiscountCodeUnusableException`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-DiscountsCodes-Exception-DiscountCodeUnusableException.html) +- [`Ibexa\Contracts\DiscountsCodes\Exception\DiscountCodeUserInvalidArgumentException`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-DiscountsCodes-Exception-DiscountCodeUserInvalidArgumentException.html) +- [`Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUsageInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-DiscountsCodes-Value-DiscountCodeUsageInterface.html) +- [`Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-DiscountsCodes-Value-DiscountCodeUser.html) +- [`Ibexa\Contracts\DiscountsCodes\Value\Query\DiscountCodeUsageQuery`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-DiscountsCodes-Value-Query-DiscountCodeUsageQuery.html ) To update to the latest version, see the [update instructions](https://doc.ibexa.co/en/4.6/update_and_migration/from_4.6/update_from_4.6/#lts-updates). @@ -689,15 +689,15 @@ To update to the latest version, see the [update instructions](https://doc.ibexa #### Twig Components -- The new [Twig Components](https://doc.ibexa.co/en/latest/templating/components/) feature allow you to effortlessly build customizable and reusable Twig templates in [[= product_name =]] +- The new [Twig Components](https://doc.ibexa.co/en/4.6/templating/components/) feature allow you to effortlessly build customizable and reusable Twig templates in [[= product_name =]] #### Extending Sub-items view -- Thanks to the new extension point, you can now [add new views or overwrite existing ones in the Sub-items list](https://doc.ibexa.co/en/latest/administration/back_office/subitems_list/#create-custom-sub-items-list-view) +- Thanks to the new extension point, you can now [add new views or overwrite existing ones in the Sub-items list](https://doc.ibexa.co/en/4.6/administration/back_office/subitems_list/#create-custom-sub-items-list-view) #### Infrastructure -- MySQL 8.4, Node 20 and Node 22 are now [officially supported](https://doc.ibexa.co/en/latest/getting_started/requirements/) +- MySQL 8.4, Node 20 and Node 22 are now [officially supported](https://doc.ibexa.co/en/4.6/getting_started/requirements/) #### PHP API @@ -754,13 +754,13 @@ To learn more, see the [published security advisory IBEXA-SA-2025-002](https://d #### Features - The [CartSummary endpoint](https://doc.ibexa.co/en/4.6/api/rest_api/rest_api_reference/rest_api_reference.html#managing-commerce-carts-cart-summary) now supports a new `Accept` header: `application/vnd.ibexa.api.ShortCartSummary`, returning only the essential data about products in the cart -- Added a new repository setting: [grace period for archived versions](https://doc.ibexa.co/en/latest/administration/configuration/repository_configuration/#grace-period-for-archived-versions) -- Added a new `group_remote_id` setting for [controlling the user group in which registering users are created](https://doc.ibexa.co/en/latest/users/user_registration/#user-groups) +- Added a new repository setting: [grace period for archived versions](https://doc.ibexa.co/en/4.6/administration/configuration/repository_configuration/#grace-period-for-archived-versions) +- Added a new `group_remote_id` setting for [controlling the user group in which registering users are created](https://doc.ibexa.co/en/4.6/users/user_registration/#user-groups) #### Ibexa Rector - The [Ibexa Rector package](https://github.com/ibexa/rector/tree/4.6?tab=readme-ov-file#ibexa-dxp-rector) has been released, allowing you to automatically refactor your code and remove deprecations. -To learn how to use it, see the [update instructions](https://doc.ibexa.co/en/latest/update_and_migration/from_4.6/update_from_4.6/#ibexa-rector) +To learn how to use it, see the [update instructions](https://doc.ibexa.co/en/4.6/update_and_migration/from_4.6/update_from_4.6/#ibexa-rector) #### PHP API @@ -1332,7 +1332,7 @@ For more information, see [Edit embedded content items](https://doc.ibexa.co/pro With multiple changes to the back office UI intended to expose the most important information and actions, editors can now better focus on their work. The UI is now more friendly and appealing for marketers and editors, with simplified Content structure, designed with new and non-advanced users in mind. -For more information, see [Focus mode](https://doc.ibexa.co/projects/userguide/en/latest/getting_started/discover_ui/#focus-mode). +For more information, see [Focus mode](https://doc.ibexa.co/projects/userguide/en/4.6/getting_started/discover_ui/#focus-mode). ![Focus mode](img/4.6_focus_mode.png "Focus mode") @@ -1620,14 +1620,14 @@ For more information, see [Email triggers](https://doc.ibexa.co/projects/usergui With this feature, you get an option to combine several attribute types when computing recommendations. As a result, users can be presented with recommendations from an intersection of submodel results. -For more information, see [Submodel parameters](https://doc.ibexa.co/en/5.0/personalization/api_reference/recommendation_api/#submodel-parameters) and [Submodels](https://doc.ibexa.co/projects/userguide/en/latest/personalization/recommendation_models/#submodels). +For more information, see [Submodel parameters](https://doc.ibexa.co/en/4.6/personalization/api_reference/recommendation_api/#submodel-parameters) and [Submodels](https://doc.ibexa.co/projects/userguide/en/4.6/personalization/recommendation_models/#submodels). ##### New scenario filter Depending on a setting that you make when defining a scenario, the recommendation response can now include either product variants or base products only. This way you can deliver more accurate recommendations and avoid showing multiple variants of the same product to the client. -For more information, see [Commerce-specific filters](https://doc.ibexa.co/projects/userguide/en/latest/personalization/filters/#commerce-specific-filters). +For more information, see [Commerce-specific filters](https://doc.ibexa.co/projects/userguide/en/4.6/personalization/filters/#commerce-specific-filters). ### Other changes @@ -1638,7 +1638,7 @@ New `project_dir()` expression language function that allows you to reference cu #### Site Factory events Site Factory events have been moved from the `Ibexa\SiteFactory\ServiceEvent\Events` namespace to the `Ibexa\Contracts\SiteFactory\Events` namespace, keeping the backward compatibility. -For a full list of events, see [Site events](https://doc.ibexa.co/en/latest/api/event_reference/site_events/). +For a full list of events, see [Site events](https://doc.ibexa.co/en/4.6/api/event_reference/site_events/). Event handling system was improved with the addition of listeners based on `CreateSiteEvent`, `DeleteSiteEvent`, and `UpdateSiteEvent`. New listeners automatically grant permissions to log in to a site, providing a more seamless site management experience. diff --git a/docs/release_notes/ibexa_dxp_v5.0.md b/docs/release_notes/ibexa_dxp_v5.0.md index 22d424357d..e22034ec88 100644 --- a/docs/release_notes/ibexa_dxp_v5.0.md +++ b/docs/release_notes/ibexa_dxp_v5.0.md @@ -652,7 +652,7 @@ Once properly configured, it uses a background queue to trigger price re-indexin ### Improvements to notifications An improved notifications system is now more intuitive. -Developers can now create and configure their own notification types, while users can now [browse through a list of notifications](https://doc.ibexa.co/projects/userguide/en/latest/getting_started/notifications/), where they can either act on them or dismiss them. +Developers can now create and configure their own notification types, while users can now [browse through a list of notifications](https://doc.ibexa.co/projects/userguide/en/5.0/getting_started/notifications/), where they can either act on them or dismiss them. ![A searchable notifications list](502_notifications_screen.png "A searchable notifications list") diff --git a/docs/resources/new_in_doc.md b/docs/resources/new_in_doc.md index 387b1820fc..a8b450640e 100644 --- a/docs/resources/new_in_doc.md +++ b/docs/resources/new_in_doc.md @@ -160,9 +160,9 @@ This promotes skipping the rebuild of the Symfony container when environment var ### Discounts - Extending Discounts - - Added documentation about how to [create custom conditions and rules](https://doc.ibexa.co/en/latest/discounts/extend_discounts/#create-custom-conditions-and-rules) and [change discount priority](https://doc.ibexa.co/en/latest/discounts/extend_discounts/#change-discount-priority) - - Added documentation about how to [extend Discounts wizard](https://doc.ibexa.co/en/latest/discounts/extend_discounts_wizard/) - - Example [how to deal with discounts products using the API](https://doc.ibexa.co/en/latest/discounts/discounts_api/#example-api-usage) added in the Discounts API page + - Added documentation about how to [create custom conditions and rules](https://doc.ibexa.co/en/5.0/discounts/extend_discounts/#create-custom-conditions-and-rules) and [change discount priority](https://doc.ibexa.co/en/5.0/discounts/extend_discounts/#change-discount-priority) + - Added documentation about how to [extend Discounts wizard](https://doc.ibexa.co/en/5.0/discounts/extend_discounts_wizard/) + - Example [how to deal with discounts products using the API](https://doc.ibexa.co/en/5.0/discounts/discounts_api/#example-api-usage) added in the Discounts API page ### Infrastructure @@ -496,7 +496,7 @@ Discounts documentation includes: ### AI Actions Connect handler -- Documented [how to use the `ibexa:connect:init-custom-property-structures` command](https://doc.ibexa.co/en/4.6/ai_actions/install_ai_actions/#initiate-integration) to integrate [AI actions](https://doc.ibexa.co/en/4.6/ai_actions/ai_actions_guide/) with [Ibexa Connect](https://doc.ibexa.co/projects/connect/en/latest/) +- Documented [how to use the `ibexa:connect:init-custom-property-structures` command](https://doc.ibexa.co/en/4.6/ai_actions/install_ai_actions/#initiate-integration) to integrate [AI actions](https://doc.ibexa.co/en/4.6/ai_actions/ai_actions_guide/) with [Ibexa Connect](https://doc.ibexa.co/projects/connect/en/4.6/) ### Contributions @@ -565,7 +565,7 @@ We want to thank [todomagichere](https://github.com/todomagichere) and [hgieseno ### Page Builder clipboard -- Described how you can use the [Page Builder's clipboard](https://doc.ibexa.co/projects/userguide/en/latest/content_management/create_edit_pages/#copy-blocks) to copy blocks between pages +- Described how you can use the [Page Builder's clipboard](https://doc.ibexa.co/projects/userguide/en/4.6/content_management/create_edit_pages/#copy-blocks) to copy blocks between pages ### REST API @@ -768,10 +768,10 @@ Enhanced the PHP API with the following new classes and interfaces: - Added dynamic attribute submodels information by: - mentioning them in [customizing the recommendation request](https://doc.ibexa.co/en/4.6/personalization/api_reference/recommendation_api/#customizing-the-recommendation-request) instructions - - describing them in [user documentation](https://doc.ibexa.co/projects/userguide/en/latest/personalization/recommendation_models/#dynamic-attributes) + - describing them in [user documentation](https://doc.ibexa.co/projects/userguide/en/4.6/personalization/recommendation_models/#dynamic-attributes) - Added time-slot based models information by: - changing the list of parameters available when [customizing the recommendation request](https://doc.ibexa.co/en/4.6/personalization/api_reference/recommendation_api/#customizing-the-recommendation-request) - - describing them in [user documentation](https://doc.ibexa.co/projects/userguide/en/latest/personalization/recommendation_models/#time-slot-based-models) + - describing them in [user documentation](https://doc.ibexa.co/projects/userguide/en/4.6/personalization/recommendation_models/#time-slot-based-models) - Updated configuration details (including endpoint addresses and code examples) in multiple how-to articles: - [Enable Personalization](https://doc.ibexa.co/en/4.6/personalization/enable_personalization/) @@ -955,9 +955,9 @@ Enhanced the PHP API with the following new classes and interfaces: ### Dashboard - New dashboard sections in User Documentation: - - [Dashboard](https://doc.ibexa.co/projects/userguide/en/latest/getting_started/dashboard/dashboard/) - - [Work with dashboard](https://doc.ibexa.co/projects/userguide/en/latest/getting_started/dashboard/work_with_dashboard/) - - [Dashboard block reference](https://doc.ibexa.co/projects/userguide/en/latest/getting_started/dashboard/dashboard_block_reference/) + - [Dashboard](https://doc.ibexa.co/projects/userguide/en/4.6/getting_started/dashboard/dashboard/) + - [Work with dashboard](https://doc.ibexa.co/projects/userguide/en/4.6/getting_started/dashboard/work_with_dashboard/) + - [Dashboard block reference](https://doc.ibexa.co/projects/userguide/en/4.6/getting_started/dashboard/dashboard_block_reference/) - Dashboard section in Developer Documentation: - [Configure default dashboard](https://doc.ibexa.co/en/4.6/administration/dashboard/configure_default_dashboard/) - [Customize dashboard](https://doc.ibexa.co/en/4.6/administration/dashboard/customize_dashboard/) @@ -965,7 +965,7 @@ Enhanced the PHP API with the following new classes and interfaces: ### DAM -- [Ibexa DAM](https://doc.ibexa.co/projects/userguide/en/latest/dam/ibexa_dam/) +- [Ibexa DAM](https://doc.ibexa.co/projects/userguide/en/4.6/dam/ibexa_dam/) ### PIM @@ -979,7 +979,7 @@ Enhanced the PHP API with the following new classes and interfaces: - [Updated Create custom view matcher article](https://doc.ibexa.co/en/4.6/templating/templates/create_custom_view_matcher/) - [Actito transactional email integration](https://doc.ibexa.co/en/4.6/commerce/transactional_emails/transactional_emails/#configure-actito-integration) -- [Described user profile](https://doc.ibexa.co/projects/userguide/en/latest/getting_started/get_started/#view-and-edit-user-profile) +- [Described user profile](https://doc.ibexa.co/projects/userguide/en/4.6/getting_started/get_started/#view-and-edit-user-profile) ## January 2024 @@ -994,22 +994,22 @@ Enhanced the PHP API with the following new classes and interfaces: - [How to hide the delete button in large subtrees](https://doc.ibexa.co/en/4.6/content_management/taxonomy/taxonomy/#hide-delete-button-on-large-subtree) - [How to remove orphaned content items](https://doc.ibexa.co/en/4.6/content_management/taxonomy/taxonomy/#remove-orphaned-content-items) - Updated information in User Documentation: - - [Enhanced create and edit pages article](https://doc.ibexa.co/projects/userguide/en/latest/content_management/create_edit_pages/) - - [Edit embedded content items](https://doc.ibexa.co/projects/userguide/en/latest/content_management/create_edit_content_items/#edit-embedded-content-items) + - [Enhanced create and edit pages article](https://doc.ibexa.co/projects/userguide/en/4.6/content_management/create_edit_pages/) + - [Edit embedded content items](https://doc.ibexa.co/projects/userguide/en/4.6/content_management/create_edit_content_items/#edit-embedded-content-items) ### DAM -- [Ibexa DAM](https://doc.ibexa.co/projects/userguide/en/latest/dam/ibexa_dam/) +- [Ibexa DAM](https://doc.ibexa.co/projects/userguide/en/4.6/dam/ibexa_dam/) ### Getting started - [[[= product_name_headless =]] product guide](https://doc.ibexa.co/en/4.6/ibexa_products/headless/) -- [Enhanced get started article](https://doc.ibexa.co/projects/userguide/en/latest/getting_started/get_started/#view-and-edit-user-profile) in User Documentation +- [Enhanced get started article](https://doc.ibexa.co/projects/userguide/en/4.6/getting_started/get_started/#view-and-edit-user-profile) in User Documentation ### Image management -- [Upload and store images](https://doc.ibexa.co/projects/userguide/en/latest/image_management/upload_images/) -- [Moved Edit images from Content management](https://doc.ibexa.co/projects/userguide/en/latest/image_management/edit_images/) +- [Upload and store images](https://doc.ibexa.co/projects/userguide/en/4.6/image_management/upload_images/) +- [Moved Edit images from Content management](https://doc.ibexa.co/projects/userguide/en/4.6/image_management/edit_images/) ### Personalization @@ -1031,7 +1031,7 @@ Enhanced the PHP API with the following new classes and interfaces: ### PIM -- [Reorganized and updated information in User Documentation](https://doc.ibexa.co/projects/userguide/en/latest/pim/pim/) +- [Reorganized and updated information in User Documentation](https://doc.ibexa.co/projects/userguide/en/4.6/pim/pim/) ### Templating @@ -1078,7 +1078,7 @@ Enhanced the PHP API with the following new classes and interfaces: ### Personalization -- [Post visit and price drop triggers](https://doc.ibexa.co/projects/userguide/en/latest/personalization/triggers/#trigger-types) +- [Post visit and price drop triggers](https://doc.ibexa.co/projects/userguide/en/4.6/personalization/triggers/#trigger-types) - [Wishlist and Deletefromwishlist events](https://doc.ibexa.co/en/4.6/personalization/api_reference/tracking_api/#track-events) ### PIM @@ -1112,7 +1112,7 @@ Enhanced the PHP API with the following new classes and interfaces: - [Updated configuration for triggers](https://doc.ibexa.co/en/4.6/personalization/api_reference/tracking_api/#tracking-events-based-on-recommendations) - [Send messages with recommendations](https://doc.ibexa.co/en/4.6/personalization/integrate_recommendation_service/#send-messages-with-recommendations) -- [Email triggers](https://doc.ibexa.co/projects/userguide/en/latest/personalization/triggers/) in User Documentation +- [Email triggers](https://doc.ibexa.co/projects/userguide/en/4.6/personalization/triggers/) in User Documentation ### PIM @@ -1148,7 +1148,7 @@ Enhanced the PHP API with the following new classes and interfaces: ### New home page -- Redesigned [home page for User Documentation](https://doc.ibexa.co/projects/userguide/en/latest/) +- Redesigned [home page for User Documentation](https://doc.ibexa.co/projects/userguide/en/4.6/) ### Administration @@ -1164,10 +1164,10 @@ Enhanced the PHP API with the following new classes and interfaces: - [Create custom strategy](https://doc.ibexa.co/en/4.6/commerce/checkout/customize_checkout/#create-custom-strategy) - Payments - [Implement payment method filtering](https://doc.ibexa.co/en/4.6/commerce/payment/payment_method_filtering/) - - [Filter payment methods](https://doc.ibexa.co/projects/userguide/en/latest/commerce/payment/work_with_payment_methods/#filter-payment-methods) + - [Filter payment methods](https://doc.ibexa.co/projects/userguide/en/4.6/commerce/payment/work_with_payment_methods/#filter-payment-methods) - Shipping - [Extend shipping](https://doc.ibexa.co/en/4.6/commerce/shipping_management/extend_shipping/) - - [Filter shipping methods](https://doc.ibexa.co/projects/userguide/en/latest/commerce/shipping_management/work_with_shipping_methods/#filter-shipping-methods) + - [Filter shipping methods](https://doc.ibexa.co/projects/userguide/en/4.6/commerce/shipping_management/work_with_shipping_methods/#filter-shipping-methods) ### Online Editor @@ -1209,14 +1209,14 @@ Enhanced the PHP API with the following new classes and interfaces: ### Personalization - [Multiple attributes in submodel computation](https://doc.ibexa.co/en/4.6/personalization/api_reference/recommendation_api/#submodel-parameters) -- [Multiple attributes in submodel computation](https://doc.ibexa.co/projects/userguide/en/latest/personalization/recommendation_models/#submodels) in User Documentation +- [Multiple attributes in submodel computation](https://doc.ibexa.co/projects/userguide/en/4.6/personalization/recommendation_models/#submodels) in User Documentation ### PIM - Updated [Enable purchasing products](https://doc.ibexa.co/en/4.6/pim/enable_purchasing_products/#region-and-currency) - [Virtual products](https://doc.ibexa.co/en/4.6/pim/products/#product-types) -- [Virtual products in User Documentation](https://doc.ibexa.co/projects/userguide/en/latest/pim/create_virtual_product/) -- [Work with product attributes](https://doc.ibexa.co/projects/userguide/en/latest/pim/work_with_product_attributes/) in User Documentation +- [Virtual products in User Documentation](https://doc.ibexa.co/projects/userguide/en/4.6/pim/create_virtual_product/) +- [Work with product attributes](https://doc.ibexa.co/projects/userguide/en/4.6/pim/work_with_product_attributes/) in User Documentation ### REST API @@ -1257,7 +1257,7 @@ Enhanced the PHP API with the following new classes and interfaces: ### Personalization - [Email triggers](https://doc.ibexa.co/en/4.6/personalization/integrate_recommendation_service/#send-messages-with-recommendations) -- [Email triggers](https://doc.ibexa.co/projects/userguide/en/latest/personalization/triggers/) in User Documentation +- [Email triggers](https://doc.ibexa.co/projects/userguide/en/4.6/personalization/triggers/) in User Documentation ### Search @@ -1268,8 +1268,8 @@ Enhanced the PHP API with the following new classes and interfaces: ### Commerce -- [Shipping methods management](https://doc.ibexa.co/projects/userguide/en/latest/commerce/shipping_management/work_with_shipping_methods/) in User Documentation -- [Payment methods management](https://doc.ibexa.co/projects/userguide/en/latest/commerce/payment/work_with_payments/) in User Documentation +- [Shipping methods management](https://doc.ibexa.co/projects/userguide/en/4.6/commerce/shipping_management/work_with_shipping_methods/) in User Documentation +- [Payment methods management](https://doc.ibexa.co/projects/userguide/en/4.6/commerce/payment/work_with_payments/) in User Documentation - Stock Search Criteria and Aggregation: - [ProductStockRangeAggregation](https://doc.ibexa.co/en/4.6/search/aggregation_reference/productstockrange_aggregation/) - [ProductStock](https://doc.ibexa.co/en/4.6/search/criteria_reference/productstock_criterion/) @@ -1323,12 +1323,12 @@ Enhanced the PHP API with the following new classes and interfaces: ### New Page blocks - [React app Page block](https://doc.ibexa.co/en/4.6/content_management/pages/react_app_block/) -- [Bestsellers block](https://doc.ibexa.co/projects/userguide/en/latest/content_management/block_reference/#bestsellers-block) +- [Bestsellers block](https://doc.ibexa.co/projects/userguide/en/4.6/content_management/block_reference/#bestsellers-block) ### Others -- [Translation comparison](https://doc.ibexa.co/projects/userguide/en/latest/content_management/translate_content/#translation-comparison) -- [Managing Segments](https://doc.ibexa.co/projects/userguide/en/latest/personalization/segment_management/) +- [Translation comparison](https://doc.ibexa.co/projects/userguide/en/4.6/content_management/translate_content/#translation-comparison) +- [Managing Segments](https://doc.ibexa.co/projects/userguide/en/4.6/personalization/segment_management/) ## March 2023 @@ -1364,7 +1364,7 @@ and [extend Storefront](https://doc.ibexa.co/en/4.6/commerce/storefront/extend_s ### Page Builder -- Description of new Page Builder blocks: [Catalog](https://doc.ibexa.co/projects/userguide/en/latest/content_management/block_reference/#catalog-block) and [Product collection](https://doc.ibexa.co/projects/userguide/en/latest/content_management/block_reference/#product-collection-block) +- Description of new Page Builder blocks: [Catalog](https://doc.ibexa.co/projects/userguide/en/4.6/content_management/block_reference/#catalog-block) and [Product collection](https://doc.ibexa.co/projects/userguide/en/4.6/content_management/block_reference/#product-collection-block) ### Other diff --git a/docs/snippets/page_block_cache_clear.md b/docs/snippets/page_block_cache_clear.md index daf94c7446..a559a2a0b8 100644 --- a/docs/snippets/page_block_cache_clear.md +++ b/docs/snippets/page_block_cache_clear.md @@ -5,7 +5,7 @@ To clear the persistence cache, run `php bin/console cache:pool:clear ` command. The default cache pool is named `cache.tagaware.filesystem`. The default cache pool when running Redis or Valkey is named `cache.redis`. - If you have customized the [persistence cache configuration](https://doc.ibexa.co/en/latest/infrastructure_and_maintenance/cache/persistence_cache/#what-is-cached), the name of your cache pool might be different. + If you have customized the [persistence cache configuration](/infrastructure_and_maintenance/cache/persistence_cache.md#what-is-cached), the name of your cache pool might be different. In prod mode, you also need to clear the symfony cache by running `./bin/console c:c`. In dev mode, the Symfony cache is rebuilt automatically. diff --git a/docs/update_and_migration/from_3.3/update_from_3.3.md b/docs/update_and_migration/from_3.3/update_from_3.3.md index 6f3e1973ef..5b9d8cdead 100644 --- a/docs/update_and_migration/from_3.3/update_from_3.3.md +++ b/docs/update_and_migration/from_3.3/update_from_3.3.md @@ -418,7 +418,7 @@ On Experience or Commerce edition, run the following scripts: Following [Security advisory: IBEXA-SA-2022-009](https://developers.ibexa.co/security-advisories/ibexa-sa-2022-009-critical-vulnerabilities-in-graphql-role-assignment-ct-editing-and-drafts-tooltips), unless you can verify based on your log files that the vulnerability hasn't been exploited, -you should [revoke passwords](https://doc.ibexa.co/en/latest/users/passwords/#revoking-passwords) for all affected users. +you should [revoke passwords](https://doc.ibexa.co/en/3.3/users/passwords/#revoking-passwords) for all affected users. ### v3.3.34 @@ -449,7 +449,7 @@ No additional steps needed. This release contains security fixes. For more information, see [the published security advisory](https://developers.ibexa.co/security-advisories/ibexa-sa-2024-006-vulnerabilities-in-content-name-pattern-commerce-shop-and-varnish-vhost-templates). For each of the following fixes, evaluate the vulnerability to determine whether you might have been affected. -If so, take appropriate action, for example by [revoking passwords](https://doc.ibexa.co/en/latest/users/passwords/#revoking-passwords) for all affected users. +If so, take appropriate action, for example by revoking passwords for all affected users. ##### BREACH vulnerability diff --git a/docs/update_and_migration/from_4.1/update_from_4.1.md b/docs/update_and_migration/from_4.1/update_from_4.1.md index ba3ec9db87..8bf995b766 100644 --- a/docs/update_and_migration/from_4.1/update_from_4.1.md +++ b/docs/update_and_migration/from_4.1/update_from_4.1.md @@ -135,7 +135,7 @@ If you have no access to [[= product_name =]]'s `ibexa/installer` package, datab Following [Security advisory: IBEXA-SA-2022-009](https://developers.ibexa.co/security-advisories/ibexa-sa-2022-009-critical-vulnerabilities-in-graphql-role-assignment-ct-editing-and-drafts-tooltips), unless you can verify based on your log files that the vulnerability has not been exploited, -you should [revoke passwords](https://doc.ibexa.co/en/latest/users/passwords/#revoking-passwords) for all affected users. +you should [revoke passwords](https://doc.ibexa.co/en/4.6/users/passwords/#revoking-passwords) for all affected users. ## Remove `node_modules` and `yarn.lock` diff --git a/docs/update_and_migration/from_4.2/update_from_4.2.md b/docs/update_and_migration/from_4.2/update_from_4.2.md index 39c1f583ed..1e4c711af4 100644 --- a/docs/update_and_migration/from_4.2/update_from_4.2.md +++ b/docs/update_and_migration/from_4.2/update_from_4.2.md @@ -146,7 +146,7 @@ If you have no access to [[= product_name =]]'s `ibexa/installer` package, datab ### Clean-up taxonomy database -Run the following command for each of your taxonomies to ensure that there are no [content items orphaned during deletion of subtrees](https://doc.ibexa.co/en/latest/content_management/taxonomy/taxonomy/#remove-orphaned-content-items): +Run the following command for each of your taxonomies to ensure that there are no [content items orphaned during deletion of subtrees](https://doc.ibexa.co/en/4.6/content_management/taxonomy/taxonomy/#remove-orphaned-content-items): `php bin/console ibexa:taxonomy:remove-orphaned-content --force` @@ -161,7 +161,7 @@ php bin/console ibexa:taxonomy:remove-orphaned-content product_categories --forc Following [Security advisory: IBEXA-SA-2022-009](https://developers.ibexa.co/security-advisories/ibexa-sa-2022-009-critical-vulnerabilities-in-graphql-role-assignment-ct-editing-and-drafts-tooltips), unless you can verify based on your log files that the vulnerability has not been exploited, -you should [revoke passwords](https://doc.ibexa.co/en/latest/users/passwords/#revoking-passwords) for all affected users. +you should [revoke passwords](https://doc.ibexa.co/en/4.6/users/passwords/#revoking-passwords) for all affected users. ## Finish update diff --git a/docs/update_and_migration/from_4.3/update_from_4.3_new_commerce.md b/docs/update_and_migration/from_4.3/update_from_4.3_new_commerce.md index e8e0420c8d..a9e2323aac 100644 --- a/docs/update_and_migration/from_4.3/update_from_4.3_new_commerce.md +++ b/docs/update_and_migration/from_4.3/update_from_4.3_new_commerce.md @@ -410,7 +410,7 @@ If you have no access to [[= product_name =]]'s `ibexa/installer` package, datab Following [Security advisory: IBEXA-SA-2022-009](https://developers.ibexa.co/security-advisories/ibexa-sa-2022-009-critical-vulnerabilities-in-graphql-role-assignment-ct-editing-and-drafts-tooltips), unless you can verify based on your log files that the vulnerability has not been exploited, -you should [revoke passwords](https://doc.ibexa.co/en/latest/users/passwords/#revoking-passwords) for all affected users. +you should [revoke passwords](https://doc.ibexa.co/en/4.6/users/passwords/#revoking-passwords) for all affected users. ## Finish code update diff --git a/docs/update_and_migration/from_4.3/update_from_4.3_old_commerce.md b/docs/update_and_migration/from_4.3/update_from_4.3_old_commerce.md index b3e5d5a6d8..d8d0a9823d 100644 --- a/docs/update_and_migration/from_4.3/update_from_4.3_old_commerce.md +++ b/docs/update_and_migration/from_4.3/update_from_4.3_old_commerce.md @@ -201,7 +201,7 @@ If you have no access to [[= product_name =]]'s `ibexa/installer` package, datab Following [Security advisory: IBEXA-SA-2022-009](https://developers.ibexa.co/security-advisories/ibexa-sa-2022-009-critical-vulnerabilities-in-graphql-role-assignment-ct-editing-and-drafts-tooltips), unless you can verify based on your log files that the vulnerability has not been exploited, -you should [revoke passwords](https://doc.ibexa.co/en/latest/users/passwords/#revoking-passwords) for all affected users. +you should [revoke passwords](https://doc.ibexa.co/en/4.6/users/passwords/#revoking-passwords) for all affected users. ## Finish code update diff --git a/docs/update_and_migration/from_4.4/update_from_4.4.md b/docs/update_and_migration/from_4.4/update_from_4.4.md index 847a926762..24005108d0 100644 --- a/docs/update_and_migration/from_4.4/update_from_4.4.md +++ b/docs/update_and_migration/from_4.4/update_from_4.4.md @@ -173,7 +173,7 @@ If you have no access to [[= product_name =]]'s `ibexa/installer` package, apply ### Clean-up taxonomy database -If you didn't run it already when [migrating from 4.2 to 4.3](update_from_4.2.md#clean-up-taxonomy-database), run the following command for each of your taxonomies to ensure that there are no [content items orphaned during deletion of subtrees](https://doc.ibexa.co/en/latest/content_management/taxonomy/taxonomy/#remove-orphaned-content-items) inherited from the earlier version's database: +If you didn't run it already when [migrating from 4.2 to 4.3](update_from_4.2.md#clean-up-taxonomy-database), run the following command for each of your taxonomies to ensure that there are no [content items orphaned during deletion of subtrees](https://doc.ibexa.co/en/4.6/content_management/taxonomy/taxonomy/#remove-orphaned-content-items) inherited from the earlier version's database: `php bin/console ibexa:taxonomy:remove-orphaned-content --force` diff --git a/docs/update_and_migration/from_4.6/update_from_4.6.md b/docs/update_and_migration/from_4.6/update_from_4.6.md index 154e5263a3..f3257033f1 100644 --- a/docs/update_and_migration/from_4.6/update_from_4.6.md +++ b/docs/update_and_migration/from_4.6/update_from_4.6.md @@ -70,7 +70,7 @@ Run the following scripts: ### Notification config update The configuration of the package `ibexa/notifications` has changed. -This package is required by other packages, such as `ibexa/connector-actito` for [Transactional emails](https://doc.ibexa.co/en/latest/commerce/transactional_emails/transactional_emails/), `ibexa/payment`, or `ibexa/user`. +This package is required by other packages, such as `ibexa/connector-actito` for [Transactional emails](https://doc.ibexa.co/en/4.6/commerce/transactional_emails/transactional_emails/), `ibexa/payment`, or `ibexa/user`. If you are customizing the configuration of the `ibexa/notifications` package, and using SiteAccess aware configuration to change the `Notification` subscriptions, you have to manually change your configuration by using the new node name `notifier` instead of the old `notifications`. @@ -192,7 +192,7 @@ You can customize the behavior of the command with the following options: This release contains security fixes. For more information, see [the published security advisory](https://developers.ibexa.co/security-advisories/ibexa-sa-2024-006-vulnerabilities-in-content-name-pattern-commerce-shop-and-varnish-vhost-templates). For each of the following fixes, evaluate the vulnerability to determine whether you might have been affected. -If so, take appropriate action, for example by [revoking passwords](https://doc.ibexa.co/en/latest/users/passwords/#revoking-passwords) for all affected users. +If so, take appropriate action, for example by [revoking passwords](https://doc.ibexa.co/en/4.6/users/passwords/#revoking-passwords) for all affected users. #### BREACH vulnerability @@ -1006,7 +1006,7 @@ To use the [latest features](ibexa_dxp_v4.6.md) added to them, update them separ ### Collaborative editing [[% include 'snippets/lts-update_badge.md' %]] - To learn more about the [Collaborative editing](https://doc.ibexa.co/en/latest/content_management/collaborative_editing/collaborative_editing_guide/), see the [installation instructions](https://doc.ibexa.co/en/4.6/content_management/collaborative_editing/install_collaborative_editing). + To learn more about the [Collaborative editing](https://doc.ibexa.co/en/4.6/content_management/collaborative_editing/collaborative_editing_guide/), see the [installation instructions](https://doc.ibexa.co/en/4.6/content_management/collaborative_editing/install_collaborative_editing). If you're already using it, run the following command to get the latest version of this feature: