From 06b218a6d056d2e21cf97006896146b5fd5b1e2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Fri, 17 Jul 2026 18:16:13 +0200 Subject: [PATCH 1/7] AFDocs: Improve docs accessibility for agents --- .../back_office_elements/add_dropdowns.md | 18 +++---- .../back_office/browser/browser.md | 50 +++++++++---------- docs/api/event_reference/cart_events.md | 22 ++++---- docs/api/event_reference/content_events.md | 40 +++++++-------- .../event_reference/content_type_events.md | 48 +++++++++--------- docs/api/event_reference/language_events.md | 16 +++--- docs/api/event_reference/location_events.md | 28 +++++------ .../event_reference/object_state_events.md | 24 ++++----- docs/api/event_reference/other_events.md | 24 ++++----- docs/api/event_reference/page_events.md | 26 +++++----- .../event_reference/product_catalog_events.md | 50 +++++++++---------- docs/api/event_reference/role_events.md | 36 ++++++------- docs/api/event_reference/section_events.md | 16 +++--- .../event_reference/segmentation_events.md | 24 ++++----- docs/api/event_reference/site_events.md | 8 +-- docs/api/event_reference/taxonomy_events.md | 16 +++--- docs/api/event_reference/trash_events.md | 12 ++--- docs/api/event_reference/url_events.md | 24 ++++----- docs/api/event_reference/user_events.md | 44 ++++++++-------- .../field_types/form_and_template.md | 2 +- .../pages/page_block_attributes.md | 2 +- docs/js/custom.js | 9 ---- docs/permissions/policies.md | 38 +++++++------- .../api_reference/recommendation_api.md | 2 +- .../api_reference/tracking_api.md | 8 +-- .../legacy_recommendation_api.md | 2 +- .../url_twig_functions.md | 6 +-- .../urls_and_routes/custom_breadcrumbs.md | 2 +- .../urls_and_routes/urls_and_routes.md | 6 +-- .../5_create_newsletter_form.md | 4 +- hooks/eol_status.py | 19 +++++++ mkdocs.yml | 7 ++- plugins.yml | 7 +++ tests/python/test_page_metadata.py | 32 +++++++++--- theme/main.html | 10 +++- theme/partials/eol_warning.html | 2 +- tools/llms_txt/hooks.py | 7 ++- tools/llms_txt/llmstxt_preprocess.py | 16 ++++-- 38 files changed, 379 insertions(+), 328 deletions(-) create mode 100644 hooks/eol_status.py diff --git a/docs/administration/back_office/back_office_elements/add_dropdowns.md b/docs/administration/back_office/back_office_elements/add_dropdowns.md index 68e3beed7e6..162dfdfc284 100644 --- a/docs/administration/back_office/back_office_elements/add_dropdowns.md +++ b/docs/administration/back_office/back_office_elements/add_dropdowns.md @@ -110,19 +110,19 @@ The following attributes are available: |`choices`| |Elements listed in the drop-down.| |`preferred_choices`| | Elements listed at the top of the list with a separator.| |`value`|-|The currently selected element. It is an object with a key `value`. | -|`multiple`| true
false|Boolean. To allow users to select multiple items.| -|`translation_domain`|true
false|Used for translating choices and placeholder.| -|`custom_form`|true
false|For custom form must be set to true.| +|`multiple`| true
false|Boolean. To allow users to select multiple items.| +|`translation_domain`|true
false|Used for translating choices and placeholder.| +|`custom_form`|true
false|For custom form must be set to true.| |`class`| |Additional classes for the element with `ibexa-dropdown` class.| |`placeholder`| | Placeholder displayed when no option is selected.| -|`custom_init`|true
false|By default set to `false`. If set to `true`, requires manually initializing drop-down in JavaScript.| -|`is_disabled`|true
false|Disables drop-down.| -|`is_hidden`|true
false|Hides the whole widget.| -|`is_small`|true
false|Adjusts height of the widget (from 48px to 32px).| -|`is_ghost`|true
false|Changes layout of the widget, removes all borders and backgrounds (similar to buttons modifier).| +|`custom_init`|true
false|By default set to `false`. If set to `true`, requires manually initializing drop-down in JavaScript.| +|`is_disabled`|true
false|Disables drop-down.| +|`is_hidden`|true
false|Hides the whole widget.| +|`is_small`|true
false|Adjusts height of the widget (from 48px to 32px).| +|`is_ghost`|true
false|Changes layout of the widget, removes all borders and backgrounds (similar to buttons modifier).| |`min_search_items`|number, default 5|Minimum number of options that have to be passed to show the search inside the drop-down.| |`selected_item_label`|text|Allows setting constant label for widget. By default the visible label shows the currently selected options.| -|`has_select_all_toggler`|true
false|Allows showing a "Select all" option if the minimum number of items is reached.| +|`has_select_all_toggler`|true
false|Allows showing a "Select all" option if the minimum number of items is reached.| |`min_select_all_toggler_items`|number, default 5|Minimum number of items the dropdown must have for the "Select all" option to appear.| ![Drop-down expanded state](dropdown_expanded_state.png) diff --git a/docs/administration/back_office/browser/browser.md b/docs/administration/back_office/browser/browser.md index a62807716f8..ffcf3889c0d 100644 --- a/docs/administration/back_office/browser/browser.md +++ b/docs/administration/back_office/browser/browser.md @@ -54,42 +54,42 @@ You can configure UDW under the `ibexa.system..universal_discovery_widget There you can set the following properties: -|YML
React props|Values|Required|Definition| +|YML
React props|Values|Required|Definition| |-------------------|------|--------|----------| -|multiple
`multiple`|true
false|no|The possibility to choose multiple locations.| -|multiple_items_limit
`multipleItemsLimit`|number|no|Maximum number of items with configuration `multiple: true`.| -|root_location_id
`rootLocationId`|number|no|UDW displays locations only below this content tree element.| -|starting_location_id
`startingLocationId`|number|no|This location is displayed as a starting location in UDW.| -|containers_only
`containersOnly`|true
false|no|When set to `true` only containers can be selected.| -|allowed_content_types
`allowedContentTypes`|null
[]
[`contentTypeIdentifier`]|yes|List of allowed content types:
`null` – all content types are allowed,
`[]` – empty table, no content types are allowed.| -|active_sort_clause
`activeSortClause`|DatePublished
ContentName|no|Sort Clause by which children in the content tree is sorted.| -|active_sort_order
`activeSortOrder`|ascending
descending|no|Sorting order of the children in the content tree.| -|active_tab
`activeTab`|browse
search
bookmarks|no|Starting tab in the UDW.| -|active_view
`activeView`|finder
grid
tree|no|Starting view in the UDW.| -|allow_redirects
`allowRedirects`|true
false|yes|Allows to redirect content from the UDW tab to another page, for example, to content edit page.| -|selected_locations
`selectedLocations`|[]
[locationId]|no|Location that is selected automatically.| -|allow_confirmation
`allowConfirmation`|true
false|yes|Shows confirmations buttons in the UDW. If set to false, it's not possible to confirm selection.| +|multiple
`multiple`|true
false|no|The possibility to choose multiple locations.| +|multiple_items_limit
`multipleItemsLimit`|number|no|Maximum number of items with configuration `multiple: true`.| +|root_location_id
`rootLocationId`|number|no|UDW displays locations only below this content tree element.| +|starting_location_id
`startingLocationId`|number|no|This location is displayed as a starting location in UDW.| +|containers_only
`containersOnly`|true
false|no|When set to `true` only containers can be selected.| +|allowed_content_types
`allowedContentTypes`|null
[]
[`contentTypeIdentifier`]|yes|List of allowed content types:
`null` – all content types are allowed,
`[]` – empty table, no content types are allowed.| +|active_sort_clause
`activeSortClause`|DatePublished
ContentName|no|Sort Clause by which children in the content tree is sorted.| +|active_sort_order
`activeSortOrder`|ascending
descending|no|Sorting order of the children in the content tree.| +|active_tab
`activeTab`|browse
search
bookmarks|no|Starting tab in the UDW.| +|active_view
`activeView`|finder
grid
tree|no|Starting view in the UDW.| +|allow_redirects
`allowRedirects`|true
false|yes|Allows to redirect content from the UDW tab to another page, for example, to content edit page.| +|selected_locations
`selectedLocations`|[]
[locationId]|no|Location that is selected automatically.| +|allow_confirmation
`allowConfirmation`|true
false|yes|Shows confirmations buttons in the UDW. If set to false, it's not possible to confirm selection.| ### Content on the Fly group -|YML
React props|Values|Required|Definition| +|YML
React props|Values|Required|Definition| |-------------------|------|--------|----------| -|allowed_languages
`allowedLanguages`|null
[]
[languageCode]|yes|Languages available in Content on the Fly:
`null` - all,
`[]` - none.| -|allowed_locations
`allowedLocations`|null
[]
[locationId]|yes|Location under which creating content is allowed:
`null` - everywhere,
`[]` - nowhere.| -|preselected_language
`preselectedLanguage`|null
languageCode|yes|First language on the Content on the Fly language list:
null - language order defined in the system.| -|preselected_content_type
`preselectedContentType`|null
contentTypeIdentifier|yes|Content selected in Content on the Fly.| -|hidden
`hidden`|true
false|yes|Content on the Fly visibility.| -|auto_confirm_after_publish
`autoConfirmAfterPublish`|true
false|yes|If set to `true` UDW is automatically closed after publishing the content.| +|allowed_languages
`allowedLanguages`|null
[]
[languageCode]|yes|Languages available in Content on the Fly:
`null` - all,
`[]` - none.| +|allowed_locations
`allowedLocations`|null
[]
[locationId]|yes|Location under which creating content is allowed:
`null` - everywhere,
`[]` - nowhere.| +|preselected_language
`preselectedLanguage`|null
languageCode|yes|First language on the Content on the Fly language list:
null - language order defined in the system.| +|preselected_content_type
`preselectedContentType`|null
contentTypeIdentifier|yes|Content selected in Content on the Fly.| +|hidden
`hidden`|true
false|yes|Content on the Fly visibility.| +|auto_confirm_after_publish
`autoConfirmAfterPublish`|true
false|yes|If set to `true` UDW is automatically closed after publishing the content.| ### Tabs config group General configuration for tabs, for example, browse, search, bookmarks. -|YML
React props|Values|Required|Definition| +|YML
React props|Values|Required|Definition| |-------------------|------|--------|----------| -|items_per_page
`itemsPerPage`|number|yes|Number of items shown on one page.| -|priority
`priority`|number|yes|Priority of items shown in the tab list. Item with a highest value is displayed as first.| -|hidden
`hidden`|true
false|yes|Hides or reveals specific tabs.| +|items_per_page
`itemsPerPage`|number|yes|Number of items shown on one page.| +|priority
`priority`|number|yes|Priority of items shown in the tab list. Item with a highest value is displayed as first.| +|hidden
`hidden`|true
false|yes|Hides or reveals specific tabs.| ### Configuration available only through JS diff --git a/docs/api/event_reference/cart_events.md b/docs/api/event_reference/cart_events.md index 9d96a94598a..c35ac86f6af 100644 --- a/docs/api/event_reference/cart_events.md +++ b/docs/api/event_reference/cart_events.md @@ -8,19 +8,19 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`AddEntryEvent`|`CartService::addEntry`|`CartInterface $cart`
`EntryAddStruct $entryAddStruct`
`CartInterface $cartResult`| -|`BeforeAddEntryEvent`|`CartService::addEntry`|`CartInterface $cart`
`EntryAddStruct $entryAddStruct`
`?CartInterface $cartResult = null`| -|`BeforeCreateCartEvent`|`CartService::createCart`|`CartCreateStruct $cartCreateStruct`
`?CartInterface $cartResult = null`| +|`AddEntryEvent`|`CartService::addEntry`|`CartInterface $cart`
`EntryAddStruct $entryAddStruct`
`CartInterface $cartResult`| +|`BeforeAddEntryEvent`|`CartService::addEntry`|`CartInterface $cart`
`EntryAddStruct $entryAddStruct`
`?CartInterface $cartResult = null`| +|`BeforeCreateCartEvent`|`CartService::createCart`|`CartCreateStruct $cartCreateStruct`
`?CartInterface $cartResult = null`| |`BeforeDeleteCartEvent`|`CartService::deleteCart`|`CartInterface $cart`| |`BeforeEmptyCartEvent`|`CartService::emptyCart`|`CartInterface $cart`| -|`BeforeMergeCartsEvent`|`CartService::mergeCarts`|`CartInterface $targetCart`
`array $cartsToMerge`
`bool $deleteMergedCarts`| -|`BeforeRemoveEntryEvent`|`CartService::removeEntry`|`CartInterface $cart`
`EntryInterface $entry`
`?CartInterface $cartResult = null`| -|`BeforeUpdateCartMetadataEvent`|`CartService::updateCartMetadata`|`CartInterface $cart`
`CartMetadataUpdateStruct $cartUpdateStruct`
`?CartInterface $cartResult = null`| -|`BeforeUpdateEntryEvent`|`CartService::updateEntry`|`CartInterface $cart`
`EntryInterface $entry`
`EntryUpdateStruct $entryUpdateStruct`
`?CartInterface $cartResult = null`| -|`CreateCartEvent`|`CartService::createCart`|`CartCreateStruct $cartCreateStruct`
`CartInterface $cartResult`| +|`BeforeMergeCartsEvent`|`CartService::mergeCarts`|`CartInterface $targetCart`
`array $cartsToMerge`
`bool $deleteMergedCarts`| +|`BeforeRemoveEntryEvent`|`CartService::removeEntry`|`CartInterface $cart`
`EntryInterface $entry`
`?CartInterface $cartResult = null`| +|`BeforeUpdateCartMetadataEvent`|`CartService::updateCartMetadata`|`CartInterface $cart`
`CartMetadataUpdateStruct $cartUpdateStruct`
`?CartInterface $cartResult = null`| +|`BeforeUpdateEntryEvent`|`CartService::updateEntry`|`CartInterface $cart`
`EntryInterface $entry`
`EntryUpdateStruct $entryUpdateStruct`
`?CartInterface $cartResult = null`| +|`CreateCartEvent`|`CartService::createCart`|`CartCreateStruct $cartCreateStruct`
`CartInterface $cartResult`| |`DeleteCartEvent`|`CartService::deleteCart`|`CartInterface $cart`| |`EmptyCartEvent`|`CartService::emptyCart`|`CartInterface $cart`| |`MergeCartsEvent`|`CartService::mergeCarts`|`CartInterface $cartResult`| -|`RemoveEntryEvent`|`CartService::removeEntry`|`CartInterface $cart`
`EntryInterface $entry`
`CartInterface $cartResult`| -|`UpdateCartMetadataEvent`|`CartService::updateCartMetadata`|`CartInterface $cart`
`CartMetadataUpdateStruct $cartUpdateStruct`
`CartInterface $cartResult`| -|`UpdateEntryEvent`|`CartService::updateEntry`|`CartInterface $cart`
`EntryInterface $entry`
`EntryUpdateStruct $entryUpdateStruct`
`CartInterface $cartResult`| +|`RemoveEntryEvent`|`CartService::removeEntry`|`CartInterface $cart`
`EntryInterface $entry`
`CartInterface $cartResult`| +|`UpdateCartMetadataEvent`|`CartService::updateCartMetadata`|`CartInterface $cart`
`CartMetadataUpdateStruct $cartUpdateStruct`
`CartInterface $cartResult`| +|`UpdateEntryEvent`|`CartService::updateEntry`|`CartInterface $cart`
`EntryInterface $entry`
`EntryUpdateStruct $entryUpdateStruct`
`CartInterface $cartResult`| diff --git a/docs/api/event_reference/content_events.md b/docs/api/event_reference/content_events.md index 7eb8db3f2bd..8bb644629e4 100644 --- a/docs/api/event_reference/content_events.md +++ b/docs/api/event_reference/content_events.md @@ -7,20 +7,20 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateContentDraftEvent`|`ContentService::createContentDraft`|`ContentInfo $contentInfo`
`VersionInfo $versionInfo`
`User $creator`
`?Language $language`
`?Content $contentDraft`| -|`CreateContentDraftEvent`|`ContentService::createContentDraft`|`Content $contentDraft`
`ContentInfo $contentInfo`
`VersionInfo $versionInfo`
`User $creator`
`?Language $language`| -|`BeforeCreateContentEvent`|`ContentService::createContent`|`ContentCreateStruct $contentCreateStruct`
`array $locationCreateStructs`
`?Content $content`
`string[] or null $fieldIdentifiersToValidate`| -|`CreateContentEvent`|`ContentService::createContent`|`ContentCreateStruct $contentCreateStruct`
`array $locationCreateStructs`
`Content $content`
`string[] or null $fieldIdentifiersToValidate`| -|`BeforeUpdateContentEvent`|`ContentService::updateContent`|`VersionInfo $versionInfo`
`ContentUpdateStruct $contentUpdateStruct`
`?Content $content`
`string[] or null $fieldIdentifiersToValidate`| -|`UpdateContentEvent`|`ContentService::updateContent`|`Content $content`
`VersionInfo $versionInfo`
`ContentUpdateStruct $contentUpdateStruct`
`string[] or null $fieldIdentifiersToValidate`| -|`BeforeUpdateContentMetadataEvent`|`ContentService::updateContentMetadata`|`ContentInfo $contentInfo`
`ContentMetadataUpdateStruct $contentMetadataUpdateStruct`
`?Content $content`| -|`UpdateContentMetadataEvent`|`ContentService::updateContentMetadata`|`Content $content`
`ContentInfo $contentInfo`
`ContentMetadataUpdateStruct $contentMetadataUpdateStruct`| -|`BeforeCopyContentEvent`|`ContentService::copyContent`|`ContentInfo $contentInfo`
`LocationCreateStruct $destinationLocationCreateStruct`
`VersionInfo $versionInfo`
`?Content $content`| -|`CopyContentEvent`|`ContentService::copyContent`|`Content $content`
`ContentInfo $contentInfo`
`LocationCreateStruct $destinationLocationCreateStruct`
`VersionInfo $versionInfo`| -|`BeforePublishVersionEvent`|`ContentService::publishVersion`|`VersionInfo $versionInfo`
`?Content $content`
`string[] $translations`| -|`PublishVersionEvent`|`ContentService::publishVersion`|`Content $content`
`VersionInfo $versionInfo`
`string[] $translations`| -|`BeforeDeleteContentEvent`|`ContentService::deleteContent`|`ContentInfo $contentInfo`
`array or null $locations`| -|`DeleteContentEvent`|`ContentService::deleteContent`|`array $locations`
`ContentInfo $contentInfo`| +|`BeforeCreateContentDraftEvent`|`ContentService::createContentDraft`|`ContentInfo $contentInfo`
`VersionInfo $versionInfo`
`User $creator`
`?Language $language`
`?Content $contentDraft`| +|`CreateContentDraftEvent`|`ContentService::createContentDraft`|`Content $contentDraft`
`ContentInfo $contentInfo`
`VersionInfo $versionInfo`
`User $creator`
`?Language $language`| +|`BeforeCreateContentEvent`|`ContentService::createContent`|`ContentCreateStruct $contentCreateStruct`
`array $locationCreateStructs`
`?Content $content`
`string[] or null $fieldIdentifiersToValidate`| +|`CreateContentEvent`|`ContentService::createContent`|`ContentCreateStruct $contentCreateStruct`
`array $locationCreateStructs`
`Content $content`
`string[] or null $fieldIdentifiersToValidate`| +|`BeforeUpdateContentEvent`|`ContentService::updateContent`|`VersionInfo $versionInfo`
`ContentUpdateStruct $contentUpdateStruct`
`?Content $content`
`string[] or null $fieldIdentifiersToValidate`| +|`UpdateContentEvent`|`ContentService::updateContent`|`Content $content`
`VersionInfo $versionInfo`
`ContentUpdateStruct $contentUpdateStruct`
`string[] or null $fieldIdentifiersToValidate`| +|`BeforeUpdateContentMetadataEvent`|`ContentService::updateContentMetadata`|`ContentInfo $contentInfo`
`ContentMetadataUpdateStruct $contentMetadataUpdateStruct`
`?Content $content`| +|`UpdateContentMetadataEvent`|`ContentService::updateContentMetadata`|`Content $content`
`ContentInfo $contentInfo`
`ContentMetadataUpdateStruct $contentMetadataUpdateStruct`| +|`BeforeCopyContentEvent`|`ContentService::copyContent`|`ContentInfo $contentInfo`
`LocationCreateStruct $destinationLocationCreateStruct`
`VersionInfo $versionInfo`
`?Content $content`| +|`CopyContentEvent`|`ContentService::copyContent`|`Content $content`
`ContentInfo $contentInfo`
`LocationCreateStruct $destinationLocationCreateStruct`
`VersionInfo $versionInfo`| +|`BeforePublishVersionEvent`|`ContentService::publishVersion`|`VersionInfo $versionInfo`
`?Content $content`
`string[] $translations`| +|`PublishVersionEvent`|`ContentService::publishVersion`|`Content $content`
`VersionInfo $versionInfo`
`string[] $translations`| +|`BeforeDeleteContentEvent`|`ContentService::deleteContent`|`ContentInfo $contentInfo`
`array or null $locations`| +|`DeleteContentEvent`|`ContentService::deleteContent`|`array $locations`
`ContentInfo $contentInfo`| |`BeforeDeleteVersionEvent`|`ContentService::deleteVersion`|`VersionInfo $versionInfo`| |`DeleteVersionEvent`|`ContentService::deleteVersion`|`VersionInfo $versionInfo`| @@ -28,17 +28,17 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeAddRelationEvent`|`ContentService::addRelation`|`VersionInfo $sourceVersion`
`ContentInfo $destinationContent`
`?Relation $relation`| -|`AddRelationEvent`|`ContentService::addRelation`|`Relation $relation`
`VersionInfo $sourceVersion`
`ContentInfo $destinationContent`| -|`BeforeDeleteRelationEvent`|`ContentService::deleteRelation`|`VersionInfo $sourceVersion`
`ContentInfo $destinationContent`| -|`DeleteRelationEvent`|`ContentService::deleteRelation`|`VersionInfo $sourceVersion`
`ContentInfo $destinationContent`| +|`BeforeAddRelationEvent`|`ContentService::addRelation`|`VersionInfo $sourceVersion`
`ContentInfo $destinationContent`
`?Relation $relation`| +|`AddRelationEvent`|`ContentService::addRelation`|`Relation $relation`
`VersionInfo $sourceVersion`
`ContentInfo $destinationContent`| +|`BeforeDeleteRelationEvent`|`ContentService::deleteRelation`|`VersionInfo $sourceVersion`
`ContentInfo $destinationContent`| +|`DeleteRelationEvent`|`ContentService::deleteRelation`|`VersionInfo $sourceVersion`
`ContentInfo $destinationContent`| ## Content translations | Event | Dispatched by | Properties | |---|---|---| -|`BeforeDeleteTranslationEvent`|`ContentService::deleteTranslation`|`ContentInfo $contentInfo`
`$languageCode`| -|`DeleteTranslationEvent`|`ContentService::deleteTranslation`|`ContentInfo $contentInfo`
`$languageCode`| +|`BeforeDeleteTranslationEvent`|`ContentService::deleteTranslation`|`ContentInfo $contentInfo`
`$languageCode`| +|`DeleteTranslationEvent`|`ContentService::deleteTranslation`|`ContentInfo $contentInfo`
`$languageCode`| ## Hiding and revealing diff --git a/docs/api/event_reference/content_type_events.md b/docs/api/event_reference/content_type_events.md index 8c64392ae16..ed2b1ed25e6 100644 --- a/docs/api/event_reference/content_type_events.md +++ b/docs/api/event_reference/content_type_events.md @@ -7,14 +7,14 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateContentTypeDraftEvent`|`ContentTypeService::createContentTypeDraft`|`ContentType $contentType`
`?ContentTypeDraft $contentTypeDraft`| -|`CreateContentTypeDraftEvent`|`ContentTypeService::createContentTypeDraft`|`ContentTypeDraft $contentTypeDraft`
`ContentType $contentType`| -|`BeforeCreateContentTypeEvent`|`ContentTypeService::createContentType`|`ContentTypeCreateStruct $contentTypeCreateStruct`
`array $contentTypeGroups`
`?ContentTypeDraft $contentTypeDraft`| -|`CreateContentTypeEvent`|`ContentTypeService::createContentType`|`ContentTypeDraft $contentTypeDraft`
`ContentTypeCreateStruct $contentTypeCreateStruct`
`array $contentTypeGroups`| -|`BeforeUpdateContentTypeDraftEvent`|`ContentTypeService::updateContentTypeDraft`|`ContentTypeDraft $contentTypeDraft`
`ContentTypeUpdateStruct $contentTypeUpdateStruct`| -|`UpdateContentTypeDraftEvent`|`ContentTypeService::updateContentTypeDraft`|`ContentTypeDraft $contentTypeDraft`
`ContentTypeUpdateStruct $contentTypeUpdateStruct`| -|`BeforeCopyContentTypeEvent`|`ContentTypeService::copyContentType`|`ContentType $contentType`
`User $creator`
`?ContentType $contentTypeCopy`| -|`CopyContentTypeEvent`|`ContentTypeService::copyContentType`|`ContentType $contentTypeCopy`
`ContentType $contentType`
`User $creator`| +|`BeforeCreateContentTypeDraftEvent`|`ContentTypeService::createContentTypeDraft`|`ContentType $contentType`
`?ContentTypeDraft $contentTypeDraft`| +|`CreateContentTypeDraftEvent`|`ContentTypeService::createContentTypeDraft`|`ContentTypeDraft $contentTypeDraft`
`ContentType $contentType`| +|`BeforeCreateContentTypeEvent`|`ContentTypeService::createContentType`|`ContentTypeCreateStruct $contentTypeCreateStruct`
`array $contentTypeGroups`
`?ContentTypeDraft $contentTypeDraft`| +|`CreateContentTypeEvent`|`ContentTypeService::createContentType`|`ContentTypeDraft $contentTypeDraft`
`ContentTypeCreateStruct $contentTypeCreateStruct`
`array $contentTypeGroups`| +|`BeforeUpdateContentTypeDraftEvent`|`ContentTypeService::updateContentTypeDraft`|`ContentTypeDraft $contentTypeDraft`
`ContentTypeUpdateStruct $contentTypeUpdateStruct`| +|`UpdateContentTypeDraftEvent`|`ContentTypeService::updateContentTypeDraft`|`ContentTypeDraft $contentTypeDraft`
`ContentTypeUpdateStruct $contentTypeUpdateStruct`| +|`BeforeCopyContentTypeEvent`|`ContentTypeService::copyContentType`|`ContentType $contentType`
`User $creator`
`?ContentType $contentTypeCopy`| +|`CopyContentTypeEvent`|`ContentTypeService::copyContentType`|`ContentType $contentTypeCopy`
`ContentType $contentType`
`User $creator`| |`BeforePublishContentTypeDraftEvent`|`ContentTypeService::publishContentTypeDraft`|`ContentTypeDraft $contentTypeDraft`| |`PublishContentTypeDraftEvent`|`ContentTypeService::publishContentTypeDraft`|`ContentTypeDraft $contentTypeDraft`| |`BeforeDeleteContentTypeEvent`|`ContentTypeService::deleteContentType`|`ContentType $contentType`| @@ -24,10 +24,10 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateContentTypeGroupEvent`|`ContentTypeService::createContentTypeGroup`|`ContentTypeCreateStruct $contentTypeCreateStruct`
`array $contentTypeGroups`
`?ContentTypeDraft $contentTypeDraft`| -|`CreateContentTypeGroupEvent`|`ContentTypeService::createContentTypeGroup`|`ContentTypeGroup $contentTypeGroup`
`ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct`| -|`BeforeUpdateContentTypeGroupEvent`|`ContentTypeService::updateContentTypeGroup`|`ContentTypeGroup $contentTypeGroup`
`ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct`| -|`UpdateContentTypeGroupEvent`|`ContentTypeService::updateContentTypeGroup`|`ContentTypeGroup $contentTypeGroup`
`ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct`| +|`BeforeCreateContentTypeGroupEvent`|`ContentTypeService::createContentTypeGroup`|`ContentTypeCreateStruct $contentTypeCreateStruct`
`array $contentTypeGroups`
`?ContentTypeDraft $contentTypeDraft`| +|`CreateContentTypeGroupEvent`|`ContentTypeService::createContentTypeGroup`|`ContentTypeGroup $contentTypeGroup`
`ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct`| +|`BeforeUpdateContentTypeGroupEvent`|`ContentTypeService::updateContentTypeGroup`|`ContentTypeGroup $contentTypeGroup`
`ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct`| +|`UpdateContentTypeGroupEvent`|`ContentTypeService::updateContentTypeGroup`|`ContentTypeGroup $contentTypeGroup`
`ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct`| |`BeforeDeleteContentTypeGroupEvent`|`ContentTypeService::deleteContentTypeGroup`|`ContentTypeGroup $contentTypeGroup`| |`DeleteContentTypeGroupEvent`|`ContentTypeService::deleteContentTypeGroup`|`ContentTypeGroup $contentTypeGroup`| @@ -35,25 +35,25 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeRemoveContentTypeTranslationEvent`|`ContentTypeService::removeContentTypeTranslation`|`ContentTypeDraft $contentTypeDraft`
`string $languageCode`
`?ContentTypeDraft $newContentTypeDraft`| -|`RemoveContentTypeTranslationEvent`|`ContentTypeService::removeContentTypeTranslation`|`ContentTypeDraft $newContentTypeDraft`
`ContentTypeDraft $contentTypeDraft`
`string $languageCode`| +|`BeforeRemoveContentTypeTranslationEvent`|`ContentTypeService::removeContentTypeTranslation`|`ContentTypeDraft $contentTypeDraft`
`string $languageCode`
`?ContentTypeDraft $newContentTypeDraft`| +|`RemoveContentTypeTranslationEvent`|`ContentTypeService::removeContentTypeTranslation`|`ContentTypeDraft $newContentTypeDraft`
`ContentTypeDraft $contentTypeDraft`
`string $languageCode`| ## Field definitions | Event | Dispatched by | Properties | |---|---|---| -|`BeforeAddFieldDefinitionEvent`|`ContentTypeService::addFieldDefinition`|`ContentTypeDraft $contentTypeDraft`
`FieldDefinitionCreateStruct $fieldDefinitionCreateStruct`| -|`AddFieldDefinitionEvent`|`ContentTypeService::addFieldDefinition`|`ContentTypeDraft $contentTypeDraft`
`FieldDefinitionCreateStruct $fieldDefinitionCreateStruct`| -|`BeforeUpdateFieldDefinitionEvent`|`ContentTypeService::updateFieldDefinition`|`ContentTypeDraft $contentTypeDraft`
`FieldDefinition $fieldDefinition`
`FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct`| -|`UpdateFieldDefinitionEvent`|`ContentTypeService::updateFieldDefinition`|`ContentTypeDraft $contentTypeDraft`
`FieldDefinition $fieldDefinition`
`FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct`| -|`BeforeRemoveFieldDefinitionEvent`|`ContentTypeService::removeFieldDefinition`|`ContentTypeDraft $contentTypeDraft`
`FieldDefinition $fieldDefinition`| -|`RemoveFieldDefinitionEvent`|`ContentTypeService::removeFieldDefinition`|`ContentTypeDraft $contentTypeDraft`
`FieldDefinition $fieldDefinition`| +|`BeforeAddFieldDefinitionEvent`|`ContentTypeService::addFieldDefinition`|`ContentTypeDraft $contentTypeDraft`
`FieldDefinitionCreateStruct $fieldDefinitionCreateStruct`| +|`AddFieldDefinitionEvent`|`ContentTypeService::addFieldDefinition`|`ContentTypeDraft $contentTypeDraft`
`FieldDefinitionCreateStruct $fieldDefinitionCreateStruct`| +|`BeforeUpdateFieldDefinitionEvent`|`ContentTypeService::updateFieldDefinition`|`ContentTypeDraft $contentTypeDraft`
`FieldDefinition $fieldDefinition`
`FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct`| +|`UpdateFieldDefinitionEvent`|`ContentTypeService::updateFieldDefinition`|`ContentTypeDraft $contentTypeDraft`
`FieldDefinition $fieldDefinition`
`FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct`| +|`BeforeRemoveFieldDefinitionEvent`|`ContentTypeService::removeFieldDefinition`|`ContentTypeDraft $contentTypeDraft`
`FieldDefinition $fieldDefinition`| +|`RemoveFieldDefinitionEvent`|`ContentTypeService::removeFieldDefinition`|`ContentTypeDraft $contentTypeDraft`
`FieldDefinition $fieldDefinition`| ## Assigning to groups | Event | Dispatched by | Properties | |---|---|---| -|`BeforeAssignContentTypeGroupEvent`|`ContentTypeService::assignContentTypeGroup`|`ContentType $contentType`
`ContentTypeGroup $contentTypeGroup`| -|`AssignContentTypeGroupEvent`|`ContentTypeService::assignContentTypeGroup`|`ContentType $contentType`
`ContentTypeGroup $contentTypeGroup`| -|`BeforeUnassignContentTypeGroupEvent`|`ContentTypeService::unassignContentTypeGroup`|`ContentType $contentType`
`ContentTypeGroup $contentTypeGroup`| -|`UnassignContentTypeGroupEvent`|`ContentTypeService::unassignContentTypeGroup`|`ContentType $contentType`
`ContentTypeGroup $contentTypeGroup`| +|`BeforeAssignContentTypeGroupEvent`|`ContentTypeService::assignContentTypeGroup`|`ContentType $contentType`
`ContentTypeGroup $contentTypeGroup`| +|`AssignContentTypeGroupEvent`|`ContentTypeService::assignContentTypeGroup`|`ContentType $contentType`
`ContentTypeGroup $contentTypeGroup`| +|`BeforeUnassignContentTypeGroupEvent`|`ContentTypeService::unassignContentTypeGroup`|`ContentType $contentType`
`ContentTypeGroup $contentTypeGroup`| +|`UnassignContentTypeGroupEvent`|`ContentTypeService::unassignContentTypeGroup`|`ContentType $contentType`
`ContentTypeGroup $contentTypeGroup`| diff --git a/docs/api/event_reference/language_events.md b/docs/api/event_reference/language_events.md index 5f3c378d07b..8fe10f000f9 100644 --- a/docs/api/event_reference/language_events.md +++ b/docs/api/event_reference/language_events.md @@ -7,10 +7,10 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateLanguageEvent`|`LanguageService::createLanguage`|`LanguageCreateStruct $languageCreateStruct`
`?Language $language`| -|`CreateLanguageEvent`|`LanguageService::createLanguage`|`Language $language`
`LanguageCreateStruct $languageCreateStruct`| -|`BeforeUpdateLanguageNameEvent`|`LanguageService::updateLanguageName`|`Language $language`
`string $newName`
`?Language $updatedLanguage`| -|`UpdateLanguageNameEvent`|`LanguageService::updateLanguageName`|`Language $updatedLanguage`
`Language $language`
`string $newName`| +|`BeforeCreateLanguageEvent`|`LanguageService::createLanguage`|`LanguageCreateStruct $languageCreateStruct`
`?Language $language`| +|`CreateLanguageEvent`|`LanguageService::createLanguage`|`Language $language`
`LanguageCreateStruct $languageCreateStruct`| +|`BeforeUpdateLanguageNameEvent`|`LanguageService::updateLanguageName`|`Language $language`
`string $newName`
`?Language $updatedLanguage`| +|`UpdateLanguageNameEvent`|`LanguageService::updateLanguageName`|`Language $updatedLanguage`
`Language $language`
`string $newName`| |`BeforeDeleteLanguageEvent`|`LanguageService::deleteLanguage`|`Language $language`| |`DeleteLanguageEvent`|`LanguageService::deleteLanguage`|`Language $language`| @@ -18,7 +18,7 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeEnableLanguageEvent`|`LanguageService::enableLanguage`|`Language $language`
`?Language $enabledLanguage`| -|`EnableLanguageEvent`|`LanguageService::enableLanguage`|`Language $enabledLanguage`
`Language $language`| -|`BeforeDisableLanguageEvent`|`LanguageService::disableLanguage`|`Language $language`
`?Language $disabledLanguage`| -|`DisableLanguageEvent`|`LanguageService::disableLanguage`|`Language $disabledLanguage`
`Language $language`| +|`BeforeEnableLanguageEvent`|`LanguageService::enableLanguage`|`Language $language`
`?Language $enabledLanguage`| +|`EnableLanguageEvent`|`LanguageService::enableLanguage`|`Language $enabledLanguage`
`Language $language`| +|`BeforeDisableLanguageEvent`|`LanguageService::disableLanguage`|`Language $language`
`?Language $disabledLanguage`| +|`DisableLanguageEvent`|`LanguageService::disableLanguage`|`Language $disabledLanguage`
`Language $language`| diff --git a/docs/api/event_reference/location_events.md b/docs/api/event_reference/location_events.md index ecc463cc89e..e57222cc1d6 100644 --- a/docs/api/event_reference/location_events.md +++ b/docs/api/event_reference/location_events.md @@ -7,10 +7,10 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateLocationEvent`|`LocationService::createLocation`|`ContentInfo $contentInfo`
`LocationCreateStruct $locationCreateStruct`
`?Location $location`| -|`CreateLocationEvent`|`LocationService::createLocation`|`Location $location`
`ContentInfo $contentInfo`
`LocationCreateStruct $locationCreateStruct`| -|`BeforeUpdateLocationEvent`|`LocationService::updateLocation`|`Location $location`
`LocationUpdateStruct $locationUpdateStruct`
`?Location $updatedLocation`| -|`UpdateLocationEvent`|`LocationService::updateLocation`|`Location $updatedLocation`
`Location $location`
`LocationUpdateStruct $locationUpdateStruct`| +|`BeforeCreateLocationEvent`|`LocationService::createLocation`|`ContentInfo $contentInfo`
`LocationCreateStruct $locationCreateStruct`
`?Location $location`| +|`CreateLocationEvent`|`LocationService::createLocation`|`Location $location`
`ContentInfo $contentInfo`
`LocationCreateStruct $locationCreateStruct`| +|`BeforeUpdateLocationEvent`|`LocationService::updateLocation`|`Location $location`
`LocationUpdateStruct $locationUpdateStruct`
`?Location $updatedLocation`| +|`UpdateLocationEvent`|`LocationService::updateLocation`|`Location $updatedLocation`
`Location $location`
`LocationUpdateStruct $locationUpdateStruct`| |`BeforeDeleteLocationEvent`|`LocationService::deleteLocation`|`Location $location`| |`DeleteLocationEvent`|`LocationService::deleteLocation`|`Location $location`| @@ -18,18 +18,18 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeHideLocationEvent`|`LocationService::hideLocation`|`Location $location`
`?Location $hiddenLocation`| -|`HideLocationEvent`|`LocationService::hideLocation`|`Location $hiddenLocation`
`Location $location`| -|`BeforeUnhideLocationEvent`|`LocationService::unhideLocation`|`Location $location`
`?Location $revealedLocation`| -|`UnhideLocationEvent`|`LocationService::unhideLocation`|`Location $revealedLocation`
`Location $location`| +|`BeforeHideLocationEvent`|`LocationService::hideLocation`|`Location $location`
`?Location $hiddenLocation`| +|`HideLocationEvent`|`LocationService::hideLocation`|`Location $hiddenLocation`
`Location $location`| +|`BeforeUnhideLocationEvent`|`LocationService::unhideLocation`|`Location $location`
`?Location $revealedLocation`| +|`UnhideLocationEvent`|`LocationService::unhideLocation`|`Location $revealedLocation`
`Location $location`| ## Subtree and Location management | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCopySubtreeEvent`|`LocationService::copySubtree`|`Location $subtree`
`Location $targetParentLocation`
`?Location $location`| -|`CopySubtreeEvent`|`LocationService::copySubtree`|`Location $location`
`Location $subtree`
`Location $targetParentLocation`| -|`BeforeMoveSubtreeEvent`|`LocationService::moveSubtree`|`Location $location`
`Location $newParentLocation`| -|`MoveSubtreeEvent`|`LocationService::moveSubtree`|`Location $location`
`Location $newParentLocation`| -|`BeforeSwapLocationEvent`|`LocationService::swapLocation`|`Location $location1`
`Location $location2`| -|`SwapLocationEvent`|`LocationService::swapLocation`|`Location $location1`
`Location $location2`| +|`BeforeCopySubtreeEvent`|`LocationService::copySubtree`|`Location $subtree`
`Location $targetParentLocation`
`?Location $location`| +|`CopySubtreeEvent`|`LocationService::copySubtree`|`Location $location`
`Location $subtree`
`Location $targetParentLocation`| +|`BeforeMoveSubtreeEvent`|`LocationService::moveSubtree`|`Location $location`
`Location $newParentLocation`| +|`MoveSubtreeEvent`|`LocationService::moveSubtree`|`Location $location`
`Location $newParentLocation`| +|`BeforeSwapLocationEvent`|`LocationService::swapLocation`|`Location $location1`
`Location $location2`| +|`SwapLocationEvent`|`LocationService::swapLocation`|`Location $location1`
`Location $location2`| diff --git a/docs/api/event_reference/object_state_events.md b/docs/api/event_reference/object_state_events.md index 6d286ad2446..6821491f2ee 100644 --- a/docs/api/event_reference/object_state_events.md +++ b/docs/api/event_reference/object_state_events.md @@ -7,10 +7,10 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateObjectStateEvent`|`ObjectStateService::createObjectState`|`ObjectStateGroup $objectStateGroup`
`ObjectStateCreateStruct $objectStateCreateStruct`
`?ObjectState $objectState`| -|`CreateObjectStateEvent`|`ObjectStateService::createObjectState`|`ObjectState $objectState`
`ObjectStateGroup $objectStateGroup`
`ObjectStateCreateStruct $objectStateCreateStruct`| -|`BeforeUpdateObjectStateEvent`|`ObjectStateService::updateObjectState`|`ObjectState $objectState`
`ObjectStateUpdateStruct $objectStateUpdateStruct`
`?ObjectState $updatedObjectState`| -|`UpdateObjectStateEvent`|`ObjectStateService::updateObjectState`|`ObjectState $updatedObjectState`
`ObjectState $objectState`
`ObjectStateUpdateStruct $objectStateUpdateStruct`| +|`BeforeCreateObjectStateEvent`|`ObjectStateService::createObjectState`|`ObjectStateGroup $objectStateGroup`
`ObjectStateCreateStruct $objectStateCreateStruct`
`?ObjectState $objectState`| +|`CreateObjectStateEvent`|`ObjectStateService::createObjectState`|`ObjectState $objectState`
`ObjectStateGroup $objectStateGroup`
`ObjectStateCreateStruct $objectStateCreateStruct`| +|`BeforeUpdateObjectStateEvent`|`ObjectStateService::updateObjectState`|`ObjectState $objectState`
`ObjectStateUpdateStruct $objectStateUpdateStruct`
`?ObjectState $updatedObjectState`| +|`UpdateObjectStateEvent`|`ObjectStateService::updateObjectState`|`ObjectState $updatedObjectState`
`ObjectState $objectState`
`ObjectStateUpdateStruct $objectStateUpdateStruct`| |`BeforeDeleteObjectStateEvent`|`ObjectStateService::deleteObjectState`|`ObjectState $objectState`| |`DeleteObjectStateEvent`|`ObjectStateService::deleteObjectState`|`ObjectState $objectState`| @@ -18,10 +18,10 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateObjectStateGroupEvent`|`ObjectStateService::createObjectStateGroup`|`ObjectStateGroupCreateStruct $objectStateGroupCreateStruct`
`?ObjectStateGroup $objectStateGroup`| -|`CreateObjectStateGroupEvent`|`ObjectStateService::createObjectStateGroup`|`ObjectStateGroup $objectStateGroup`
`ObjectStateGroupCreateStruct $objectStateGroupCreateStruct`| -|`BeforeUpdateObjectStateGroupEvent`|`ObjectStateService::updateObjectStateGroup`|`ObjectStateGroup $objectStateGroup`
`ObjectStateGroupUpdateStruct $objectStateGroupUpdateStruct`
`?ObjectStateGroup $updatedObjectStateGroup`| -|`UpdateObjectStateGroupEvent`|`ObjectStateService::updateObjectStateGroup`|`ObjectStateGroup $updatedObjectStateGroup`
`ObjectStateGroup $objectStateGroup`
`ObjectStateGroupUpdateStruct $objectStateGroupUpdateStruct`| +|`BeforeCreateObjectStateGroupEvent`|`ObjectStateService::createObjectStateGroup`|`ObjectStateGroupCreateStruct $objectStateGroupCreateStruct`
`?ObjectStateGroup $objectStateGroup`| +|`CreateObjectStateGroupEvent`|`ObjectStateService::createObjectStateGroup`|`ObjectStateGroup $objectStateGroup`
`ObjectStateGroupCreateStruct $objectStateGroupCreateStruct`| +|`BeforeUpdateObjectStateGroupEvent`|`ObjectStateService::updateObjectStateGroup`|`ObjectStateGroup $objectStateGroup`
`ObjectStateGroupUpdateStruct $objectStateGroupUpdateStruct`
`?ObjectStateGroup $updatedObjectStateGroup`| +|`UpdateObjectStateGroupEvent`|`ObjectStateService::updateObjectStateGroup`|`ObjectStateGroup $updatedObjectStateGroup`
`ObjectStateGroup $objectStateGroup`
`ObjectStateGroupUpdateStruct $objectStateGroupUpdateStruct`| |`BeforeDeleteObjectStateGroupEvent`|`ObjectStateService::deleteObjectStateGroup`|`ObjectStateGroup $objectStateGroup`| |`DeleteObjectStateGroupEvent`|`ObjectStateService::deleteObjectStateGroup`|`ObjectStateGroup $objectStateGroup`| @@ -29,7 +29,7 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeSetContentStateEvent`|`ObjectStateService::deleteObjectState`|`ContentInfo $contentInfo`
`ObjectStateGroup $objectStateGroup`
`ObjectState $objectState`| -|`SetContentStateEvent`|`ObjectStateService::deleteObjectState`|`ContentInfo $contentInfo`
`ObjectStateGroup $objectStateGroup`
`ObjectState $objectState`| -|`BeforeSetPriorityOfObjectStateEvent`|`ObjectStateService::setPriorityOfObjectState`|`ObjectState $objectState`
`private $priority`| -|`SetPriorityOfObjectStateEvent`|`ObjectStateService::setPriorityOfObjectState`|`ObjectState $objectState`
`private $priority`| +|`BeforeSetContentStateEvent`|`ObjectStateService::deleteObjectState`|`ContentInfo $contentInfo`
`ObjectStateGroup $objectStateGroup`
`ObjectState $objectState`| +|`SetContentStateEvent`|`ObjectStateService::deleteObjectState`|`ContentInfo $contentInfo`
`ObjectStateGroup $objectStateGroup`
`ObjectState $objectState`| +|`BeforeSetPriorityOfObjectStateEvent`|`ObjectStateService::setPriorityOfObjectState`|`ObjectState $objectState`
`private $priority`| +|`SetPriorityOfObjectStateEvent`|`ObjectStateService::setPriorityOfObjectState`|`ObjectState $objectState`
`private $priority`| diff --git a/docs/api/event_reference/other_events.md b/docs/api/event_reference/other_events.md index 3b4a289f4dc..020996a7b23 100644 --- a/docs/api/event_reference/other_events.md +++ b/docs/api/event_reference/other_events.md @@ -23,8 +23,8 @@ The following events refer to [notifications displayed in the user menu](notific | Event | Dispatched by | Properties | |---|---|---| -|[`BeforeCreateNotificationEvent`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Events-Notification-BeforeCreateNotificationEvent.html)|[`NotificationService::createNotification`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-NotificationService.html#method_createNotification)|`CreateStruct $createStruct`
`?Notification $notification`| -|[`CreateNotificationEvent`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Events-Notification-CreateNotificationEvent.html)|[`NotificationService::createNotification`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-NotificationService.html#method_createNotification)|`Notification $notification`
`CreateStruct $createStruct`| +|[`BeforeCreateNotificationEvent`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Events-Notification-BeforeCreateNotificationEvent.html)|[`NotificationService::createNotification`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-NotificationService.html#method_createNotification)|`CreateStruct $createStruct`
`?Notification $notification`| +|[`CreateNotificationEvent`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Events-Notification-CreateNotificationEvent.html)|[`NotificationService::createNotification`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-NotificationService.html#method_createNotification)|`Notification $notification`
`CreateStruct $createStruct`| |[`BeforeDeleteNotificationEvent`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Events-Notification-BeforeDeleteNotificationEvent.html)|[`NotificationService::deleteNotification`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-NotificationService.html#method_deleteNotification)|`Notification $notification`| |[`DeleteNotificationEvent`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Events-Notification-DeleteNotificationEvent.html)|[`NotificationService::deleteNotification`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-NotificationService.html#method_deleteNotification)|`Notification $notification`| |[`BeforeMarkNotificationAsReadEvent`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Events-Notification-BeforeMarkNotificationAsReadEvent.html)|[`NotificationService::markNotificationAsRead`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-NotificationService.html#method_markNotificationAsRead)|`Notification $notification`| @@ -38,10 +38,10 @@ The following events refer to key/value application-wide settings in database. | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateSettingEvent`|`SettingService::createSetting`|`SettingCreateStruct $settingCreateStruct`
`?Setting $setting`| -|`CreateSettingEvent`|`SettingService::createSetting`|`Setting $setting`
`SettingCreateStruct $settingCreateStruct`| -|`BeforeUpdateSettingEvent`|`SettingService::updateSetting`|`Setting $setting`
`SettingUpdateStruct $settingUpdateStruct`
`?Setting $updatedSetting`| -|`UpdateSettingEvent`|`SettingService::updateSetting`|`Setting $updatedSetting`
`Setting $setting`
`SettingUpdateStruct $settingUpdateStruct`| +|`BeforeCreateSettingEvent`|`SettingService::createSetting`|`SettingCreateStruct $settingCreateStruct`
`?Setting $setting`| +|`CreateSettingEvent`|`SettingService::createSetting`|`Setting $setting`
`SettingCreateStruct $settingCreateStruct`| +|`BeforeUpdateSettingEvent`|`SettingService::updateSetting`|`Setting $setting`
`SettingUpdateStruct $settingUpdateStruct`
`?Setting $updatedSetting`| +|`UpdateSettingEvent`|`SettingService::updateSetting`|`Setting $updatedSetting`
`Setting $setting`
`SettingUpdateStruct $settingUpdateStruct`| |`BeforeDeleteSettingEvent`|`SettingService::deleteSetting`|`Setting $setting`| |`DeleteSettingEvent`|`SettingService::deleteSetting`|`Setting $setting`| @@ -58,7 +58,7 @@ The following events are dispatched when changing the user settings available in | Event | Dispatched by | Properties | |---|---|---| -|`PublishVersionEvent`|`PublishAssetEventDispatcher::emitPublishAssetEvent`|`Content $content`
`Connector\Dam\AssetIdentifier $assetIdentifier`
`Connector\Dam\AssetSource $assetSource`| +|`PublishVersionEvent`|`PublishAssetEventDispatcher::emitPublishAssetEvent`|`Content $content`
`Connector\Dam\AssetIdentifier $assetIdentifier`
`Connector\Dam\AssetSource $assetSource`| ## Image Editor @@ -75,8 +75,8 @@ For more information, see [Customizing image optimizers with an event](images.md | Event | Dispatched by | Properties | |---|---|---| -|`FieldAttributeDefinitionEvent`|`FieldDefinitionFactory::getAttributesDefinitions`|`FieldAttributeDefinitionBuilder $definitionBuilder`
`array $configuration`| -|`FieldDefinitionEvent`|`FieldDefinitionFactory::getFieldDefinition`|`FieldDefinitionBuilder $definitionBuilder`
`array $configuration`| -|`FieldValidatorDefinitionEvent`|`FieldDefinitionFactory::getValidatorsDefinitions`|`FieldDefinitionBuilder $definitionBuilder`
`array $configuration`| -|`FormActionEvent`|`HandleFormSubmission::handleFormSubmission`|`ContentView $contentView`
`Ibexa\Contracts\FormBuilder\FieldType\Model\Form $form`
`string $action`
`mixed $data`| -|`FormSubmitEvent`|`HandleFormSubmission::handleFormSubmission`|`ContentView $contentView`
`Ibexa\Contracts\FormBuilder\FieldType\Model\Form $form`
`array $data`| +|`FieldAttributeDefinitionEvent`|`FieldDefinitionFactory::getAttributesDefinitions`|`FieldAttributeDefinitionBuilder $definitionBuilder`
`array $configuration`| +|`FieldDefinitionEvent`|`FieldDefinitionFactory::getFieldDefinition`|`FieldDefinitionBuilder $definitionBuilder`
`array $configuration`| +|`FieldValidatorDefinitionEvent`|`FieldDefinitionFactory::getValidatorsDefinitions`|`FieldDefinitionBuilder $definitionBuilder`
`array $configuration`| +|`FormActionEvent`|`HandleFormSubmission::handleFormSubmission`|`ContentView $contentView`
`Ibexa\Contracts\FormBuilder\FieldType\Model\Form $form`
`string $action`
`mixed $data`| +|`FormSubmitEvent`|`HandleFormSubmission::handleFormSubmission`|`ContentView $contentView`
`Ibexa\Contracts\FormBuilder\FieldType\Model\Form $form`
`array $data`| diff --git a/docs/api/event_reference/page_events.md b/docs/api/event_reference/page_events.md index bea60ff38f2..0681a2a5029 100644 --- a/docs/api/event_reference/page_events.md +++ b/docs/api/event_reference/page_events.md @@ -8,12 +8,12 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`AttributeSerializationEvent`|`AttributeSerializationDispatcher::serialize`|`LandingPage\Model\BlockValue $blockValue`
`string $attributeIdentifier`
`mixed $serializedValue`
`mixed $deserializedValue`| -|`BlockContextEvent`|`BlockService::createBlockContextFromRequest`|`Request $request`
`?BlockContextInterface $blockContext`| -|`BlockFragmentRenderEvent`|`BlockRenderOptionsFragmentRenderer::dispatchFragmentRenderEvent`|`Content $content`
`?Location $location`
`LandingPage\Model\Page $page`
`LandingPage\Model\BlockValue $blockValue`
`ControllerReference $uri`
`Request $request`
`array $options`| -|`BlockResponseEvent`|`BlockResponseSubscriber::getSubscribedEvents`|`BlockContextInterface $blockContext`
`LandingPage\Model\BlockValue $blockValue`
`Request $request`
`Response $response`| -|`CollectBlockRelationsEvent`|`CollectRelationsSubscriber::onCollectBlockRelations`|`LandingPage\Value $fieldValue`
`LandingPage\Model\BlockValue $blockValue`
`int[] $relations`| -|`PageRenderEvent`|`PageService::dispatchRenderPageEvent`|`Content $content`
`?Location $location`
`LandingPage\Model\Page $page`
`Request $request`| +|`AttributeSerializationEvent`|`AttributeSerializationDispatcher::serialize`|`LandingPage\Model\BlockValue $blockValue`
`string $attributeIdentifier`
`mixed $serializedValue`
`mixed $deserializedValue`| +|`BlockContextEvent`|`BlockService::createBlockContextFromRequest`|`Request $request`
`?BlockContextInterface $blockContext`| +|`BlockFragmentRenderEvent`|`BlockRenderOptionsFragmentRenderer::dispatchFragmentRenderEvent`|`Content $content`
`?Location $location`
`LandingPage\Model\Page $page`
`LandingPage\Model\BlockValue $blockValue`
`ControllerReference $uri`
`Request $request`
`array $options`| +|`BlockResponseEvent`|`BlockResponseSubscriber::getSubscribedEvents`|`BlockContextInterface $blockContext`
`LandingPage\Model\BlockValue $blockValue`
`Request $request`
`Response $response`| +|`CollectBlockRelationsEvent`|`CollectRelationsSubscriber::onCollectBlockRelations`|`LandingPage\Value $fieldValue`
`LandingPage\Model\BlockValue $blockValue`
`int[] $relations`| +|`PageRenderEvent`|`PageService::dispatchRenderPageEvent`|`Content $content`
`?Location $location`
`LandingPage\Model\Page $page`
`Request $request`| ## Page Builder @@ -21,9 +21,9 @@ The following events are dispatched when editing a page in the Page Builder. | Event | Dispatched by | Properties | |---|---|---| -|`BlockConfigurationViewEvent`|`BlockController::dispatchBlockConfigurationViewEvent`|`BlockConfigurationView $blockConfigurationView`
`BlockDefinition $blockDefinition`
`BlockConfiguration $blockConfiguration`
`FormInterface $blockConfigurationForm`| -|`BlockPreviewPageContextEvent`|`PreviewController::dispatchPageContextEvent`|`BlockContextInterface $blockContext`
`LandingPage\Model\Page $page`
`array $pagePreviewParameters`| -|`BlockPreviewResponseEvent`|`PreviewController::dispatchBlockPreviewResponseEvent`|`BlockContextInterface $blockContext`
`array $pagePreviewParameters`
`LandingPage\Model\Page $page`
`BlockValue $blockValue`
`array $responseData`| +|`BlockConfigurationViewEvent`|`BlockController::dispatchBlockConfigurationViewEvent`|`BlockConfigurationView $blockConfigurationView`
`BlockDefinition $blockDefinition`
`BlockConfiguration $blockConfiguration`
`FormInterface $blockConfigurationForm`| +|`BlockPreviewPageContextEvent`|`PreviewController::dispatchPageContextEvent`|`BlockContextInterface $blockContext`
`LandingPage\Model\Page $page`
`array $pagePreviewParameters`| +|`BlockPreviewResponseEvent`|`PreviewController::dispatchBlockPreviewResponseEvent`|`BlockContextInterface $blockContext`
`array $pagePreviewParameters`
`LandingPage\Model\Page $page`
`BlockValue $blockValue`
`array $responseData`| ## Page blocks @@ -31,7 +31,7 @@ The following events are dispatched when editing a page block. | Event | Dispatched by | Properties | |---|---|---| -|`BlockDefinitionEvent`|`BlockDefinitionFactory::getBlockDefinition`|`BlockDefinition $definition`
`array $configuration`| -|`BlockAttributeDefinitionEvent`|`BlockDefinitionFactory::getBlockDefinition`|`BlockAttributeDefinition $definition`
`array $configuration`| -|`PreRenderEvent`|`BlockService::render`|`BlockContextInterface $blockContext`
`BlockValue $blockValue`
`RenderRequestInterface $renderRequest`| -|`PostRenderEvent`|`BlockService::render`|`BlockContextInterface $blockContext`
`BlockValue $blockValue`
`string $renderedBlock`| +|`BlockDefinitionEvent`|`BlockDefinitionFactory::getBlockDefinition`|`BlockDefinition $definition`
`array $configuration`| +|`BlockAttributeDefinitionEvent`|`BlockDefinitionFactory::getBlockDefinition`|`BlockAttributeDefinition $definition`
`array $configuration`| +|`PreRenderEvent`|`BlockService::render`|`BlockContextInterface $blockContext`
`BlockValue $blockValue`
`RenderRequestInterface $renderRequest`| +|`PostRenderEvent`|`BlockService::render`|`BlockContextInterface $blockContext`
`BlockValue $blockValue`
`string $renderedBlock`| diff --git a/docs/api/event_reference/product_catalog_events.md b/docs/api/event_reference/product_catalog_events.md index ed98821c104..db42b106c5a 100644 --- a/docs/api/event_reference/product_catalog_events.md +++ b/docs/api/event_reference/product_catalog_events.md @@ -16,42 +16,42 @@ month_change: false |`BeforeDeleteAttributeDefinitionEvent`|`AttributeDefinitionService::deleteAttributeDefinition`|`AttributeDefinitionInterface $attributeDefinition`| |`BeforeDeleteAttributeGroupEvent`|`AttributeGroupService::deleteAttributeGroup`|`AttributeGroupInterface $attributeGroup`| |`BeforeDeleteProductEvent`|`ProductService::deleteProduct`|`ProductInterface $product`| -|`BeforeUpdateAttributeDefinitionEvent`|`AttributeDefinitionService::updateAttributeDefinition`|`AttributeDefinitionInterface $attributeDefinition`
`AttributeDefinitionUpdateStruct $updateStruct`| -|`BeforeUpdateAttributeGroupEvent`|`AttributeGroupService::updateAttributeGroup`|`AttributeGroupInterface $attributeGroup`
`AttributeGroupUpdateStruct $updateStruct`| +|`BeforeUpdateAttributeDefinitionEvent`|`AttributeDefinitionService::updateAttributeDefinition`|`AttributeDefinitionInterface $attributeDefinition`
`AttributeDefinitionUpdateStruct $updateStruct`| +|`BeforeUpdateAttributeGroupEvent`|`AttributeGroupService::updateAttributeGroup`|`AttributeGroupInterface $attributeGroup`
`AttributeGroupUpdateStruct $updateStruct`| |`BeforeUpdateProductEvent`|`ProductService::updateProduct`|`ProductUpdateStruct $updateStruct`| -|`CreateAttributeDefinitionEvent`|`AttributeDefinitionService::createAttributeDefinition`|`AttributeDefinitionCreateStruct $createStruct`
`AttributeDefinitionInterface $attributeDefinition`| -|`CreateAttributeGroupEvent`|`AttributeGroupService::createAttributeGroup`|`AttributeGroupCreateStruct $createStruct`
`AttributeGroupInterface $attributeGroup`| -|`CreateProductEvent`|`ProductService::createProduct`|`ProductCreateStruct $createStruct`
`ProductInterface $product`| +|`CreateAttributeDefinitionEvent`|`AttributeDefinitionService::createAttributeDefinition`|`AttributeDefinitionCreateStruct $createStruct`
`AttributeDefinitionInterface $attributeDefinition`| +|`CreateAttributeGroupEvent`|`AttributeGroupService::createAttributeGroup`|`AttributeGroupCreateStruct $createStruct`
`AttributeGroupInterface $attributeGroup`| +|`CreateProductEvent`|`ProductService::createProduct`|`ProductCreateStruct $createStruct`
`ProductInterface $product`| |`DeleteAttributeDefinitionEvent`|`AttributeDefinitionService::deleteAttributeDefinition`|`AttributeDefinitionInterface $attributeDefinition`| |`DeleteAttributeGroupEvent`|`AttributeGroupService::deleteAttributeGroup`|`AttributeGroupInterface $attributeGroup`| |`DeleteProductEvent`|`ProductService::deleteProduct`|`ProductInterface $product`| -|`UpdateAttributeDefinitionEvent`|`AttributeDefinitionService::updateAttributeDefinition`|`AttributeDefinitionInterface $attributeDefinition`
`AttributeDefinitionUpdateStruct $updateStruct`| -|`UpdateAttributeGroupEvent`|`AttributeGroupService::updateAttributeGroup`|`AttributeGroupInterface $attributeGroup`
`AttributeGroupUpdateStruct $updateStruct`| -|`UpdateProductEvent`|`ProductService::updateProduct`|`ProductInterface $product`
`ProductUpdateStruct $updateStruct`| +|`UpdateAttributeDefinitionEvent`|`AttributeDefinitionService::updateAttributeDefinition`|`AttributeDefinitionInterface $attributeDefinition`
`AttributeDefinitionUpdateStruct $updateStruct`| +|`UpdateAttributeGroupEvent`|`AttributeGroupService::updateAttributeGroup`|`AttributeGroupInterface $attributeGroup`
`AttributeGroupUpdateStruct $updateStruct`| +|`UpdateProductEvent`|`ProductService::updateProduct`|`ProductInterface $product`
`ProductUpdateStruct $updateStruct`| ## Product variants | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateProductVariantsEvent`|`ProductService::createProductVariants`|`ProductInterface $product`
`iterable $createStructs`| -|`BeforeUpdateProductVariantEvent`|`ProductService::updateProductVariant`|`ProductVariantInterface $productVariant`
`ProductVariantUpdateStruct $updateStruct`| -|`CreateProductVariantsEvent`|`ProductService::createProductVariants`|`ProductInterface $product`
`iterable $createStructs`| -|`UpdateProductVariantEvent`|`ProductService::updateProductVariant`|`ProductVariantInterface $productVariant`
`ProductVariantUpdateStruct $updateStruct`| +|`BeforeCreateProductVariantsEvent`|`ProductService::createProductVariants`|`ProductInterface $product`
`iterable $createStructs`| +|`BeforeUpdateProductVariantEvent`|`ProductService::updateProductVariant`|`ProductVariantInterface $productVariant`
`ProductVariantUpdateStruct $updateStruct`| +|`CreateProductVariantsEvent`|`ProductService::createProductVariants`|`ProductInterface $product`
`iterable $createStructs`| +|`UpdateProductVariantEvent`|`ProductService::updateProductVariant`|`ProductVariantInterface $productVariant`
`ProductVariantUpdateStruct $updateStruct`| ## Product availability | Event | Dispatched by | Properties | |---|---|---| |`BeforeCreateProductAvailabilityEvent`|`ProductAvailabilityService::createProductAvailability`|`ProductAvailabilityCreateStruct $createStruct`| -|`BeforeDecreaseProductAvailabilityEvent`|`ProductAvailabilityService::decreaseProductAvailability`|`ProductInterface $product`
`int $amount`| +|`BeforeDecreaseProductAvailabilityEvent`|`ProductAvailabilityService::decreaseProductAvailability`|`ProductInterface $product`
`int $amount`| |`BeforeDeleteProductAvailabilityEvent`|`ProductAvailabilityService::deleteProductAvailability`|`ProductInterface $product`| -|`BeforeIncreaseProductAvailabilityEvent`|`ProductAvailabilityService::increaseProductAvailability`|`ProductInterface $product`
`int $amount`| +|`BeforeIncreaseProductAvailabilityEvent`|`ProductAvailabilityService::increaseProductAvailability`|`ProductInterface $product`
`int $amount`| |`BeforeUpdateProductAvailabilityEvent`|`ProductAvailabilityService::updateProductAvailability`|`ProductAvailabilityUpdateStruct $updateStruct`| -|`CreateProductAvailabilityEvent`|`ProductAvailabilityService::createProductAvailability`|`ProductAvailabilityCreateStruct $createStruct`
`AvailabilityInterface $productAvailability`| -|`DecreaseProductAvailabilityEvent`|`ProductAvailabilityService::decreaseProductAvailability`|`AvailabilityInterface $productAvailability`
`ProductInterface $product`
`int $amount`| +|`CreateProductAvailabilityEvent`|`ProductAvailabilityService::createProductAvailability`|`ProductAvailabilityCreateStruct $createStruct`
`AvailabilityInterface $productAvailability`| +|`DecreaseProductAvailabilityEvent`|`ProductAvailabilityService::decreaseProductAvailability`|`AvailabilityInterface $productAvailability`
`ProductInterface $product`
`int $amount`| |`DeleteProductAvailabilityEvent`|`ProductAvailabilityService::deleteProductAvailability`|`ProductInterface $product`| -|`IncreaseProductAvailabilityEvent`|`ProductAvailabilityService::increaseProductAvailability`|`AvailabilityInterface $productAvailability ProductInterface $product`
`int $amount`| -|`UpdateProductAvailabilityEvent`|`ProductAvailabilityService::updateProductAvailability`|`AvailabilityInterface $productAvailability`
`ProductAvailabilityUpdateStruct $updateStruct`| +|`IncreaseProductAvailabilityEvent`|`ProductAvailabilityService::increaseProductAvailability`|`AvailabilityInterface $productAvailability ProductInterface $product`
`int $amount`| +|`UpdateProductAvailabilityEvent`|`ProductAvailabilityService::updateProductAvailability`|`AvailabilityInterface $productAvailability`
`ProductAvailabilityUpdateStruct $updateStruct`| ## Price @@ -60,9 +60,9 @@ month_change: false |`BeforeCreatePriceEvent`|`ProductPriceService::createProductPrice`|`ProductPriceCreateStructInterface $createStruct`| |`BeforeDeletePriceEvent`|`ProductPriceService::deletePrice`|`ProductPriceDeleteStructInterface $deleteStruct`| |`BeforeUpdatePriceEvent`|`ProductPriceService::updateProductPrice`|`ProductPriceUpdateStructInterface $updateStruct`| -|`CreatePriceEvent`|`ProductPriceService::createProductPrice`|`ProductPriceCreateStructInterface $createStruct`
`PriceInterface $price`| +|`CreatePriceEvent`|`ProductPriceService::createProductPrice`|`ProductPriceCreateStructInterface $createStruct`
`PriceInterface $price`| |`DeletePriceEvent`|`ProductPriceService::deletePrice`|`ProductPriceDeleteStructInterface $deleteStruct`| -|`UpdatePriceEvent`|`ProductPriceService::updateProductPrice`|`PriceInterface $price`
`ProductPriceUpdateStructInterface $updateStruct`| +|`UpdatePriceEvent`|`ProductPriceService::updateProductPrice`|`PriceInterface $price`
`ProductPriceUpdateStructInterface $updateStruct`| ## Currency @@ -70,10 +70,10 @@ month_change: false |---|---|---| |`BeforeCreateCurrencyEvent`|`CurrencyService::createCurrency`|`CurrencyCreateStruct $createStruct`| |`BeforeDeleteCurrencyEvent`|`CurrencyService::deleteCurrency`|`CurrencyInterface $currency`| -|`BeforeUpdateCurrencyEvent`|`CurrencyService::updateCurrency`|`CurrencyInterface $currency`
`CurrencyUpdateStruct $updateStruct`| -|`CreateCurrencyEvent`|`CurrencyService::createCurrency`|`CurrencyCreateStruct $createStruct`
`CurrencyInterface $currency`| +|`BeforeUpdateCurrencyEvent`|`CurrencyService::updateCurrency`|`CurrencyInterface $currency`
`CurrencyUpdateStruct $updateStruct`| +|`CreateCurrencyEvent`|`CurrencyService::createCurrency`|`CurrencyCreateStruct $createStruct`
`CurrencyInterface $currency`| |`DeleteCurrencyEvent`|`CurrencyService::deleteCurrency`|`CurrencyInterface $currency`| -|`UpdateCurrencyEvent`|`CurrencyService::updateCurrency`|`CurrencyInterface $currency`
`CurrencyUpdateStruct $updateStruct`| +|`UpdateCurrencyEvent`|`CurrencyService::updateCurrency`|`CurrencyInterface $currency`
`CurrencyUpdateStruct $updateStruct`| ## Catalogs @@ -82,7 +82,7 @@ month_change: false |`BeforeCreateCatalogEvent`|`CatalogService::createCatalog`|`CatalogCreateStruct $createStruct`| |`BeforeDeleteCatalogEvent`|`CatalogService::deleteCatalog`|`CatalogInterface $catalog`| |`BeforeUpdateCatalogEvent`|`CatalogService::updateCatalog`|`CatalogUpdateStruct $updateStruct`| -|`CreateCatalogEvent`|`CatalogService::createCatalog`|`CatalogCreateStruct $createStruct`
`CatalogInterface $catalog`| +|`CreateCatalogEvent`|`CatalogService::createCatalog`|`CatalogCreateStruct $createStruct`
`CatalogInterface $catalog`| |`DeleteCatalogEvent`|`CatalogService::deleteCatalog`|`CatalogInterface $catalog`| |`UpdateCatalogEvent`|`CatalogService::updateCatalog`|`CatalogUpdateStruct $updateStruct`| @@ -92,6 +92,6 @@ The following event is dispatched when the [`ibexa_format_product_attribute`](pr | Event | Dispatched by | Properties | |---|---|---| -|`ProductAttributeRenderEvent`|`ibexa_format_product_attribute` Twig filter|`list $templates`
[`AttributeInterface`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-Values-AttributeInterface.html)
`array $parameters`| +|`ProductAttributeRenderEvent`|`ibexa_format_product_attribute` Twig filter|`list $templates`
[`AttributeInterface`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-Values-AttributeInterface.html)
`array $parameters`| For a usage example, see [Customize product attribute templates](customize_product_attribute_templates.md). diff --git a/docs/api/event_reference/role_events.md b/docs/api/event_reference/role_events.md index f0374ff983b..e932750c899 100644 --- a/docs/api/event_reference/role_events.md +++ b/docs/api/event_reference/role_events.md @@ -7,14 +7,14 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateRoleDraftEvent`|`RoleService::createRoleDraft`|`Role $role`
`?RoleDraft $roleDraft`| -|`CreateRoleDraftEvent`|`RoleService::createRoleDraft`|`Role $role`
`RoleDraft $roleDraft`| -|`BeforeCreateRoleEvent`|`RoleService::createRole`|`RoleCreateStruct $roleCreateStruct`
`?RoleDraft $roleDraft`| -|`CreateRoleEvent`|`RoleService::createRole`|`RoleCreateStruct $roleCreateStruct`
`RoleDraft $roleDraft`| -|`BeforeUpdateRoleDraftEvent`|`RoleService::updateRoleDraft`|`RoleDraft $roleDraft`
`RoleUpdateStruct $roleUpdateStruct`
`?RoleDraft $updatedRoleDraft`| -|`UpdateRoleDraftEvent`|`RoleService::updateRoleDraft`|`RoleDraft $roleDraft`
`RoleUpdateStruct $roleUpdateStruct`
`RoleDraft $updatedRoleDraft`| -|`BeforeCopyRoleEvent`|`RoleService::copyRole`|`Role $role`
`RoleCopyStruct $roleCopyStruct`
`?Role $copiedRole`| -|`CopyRoleEvent`|`RoleService::copyRole`|`Role $copiedRole`
`Role $role`
`RoleCopyStruct $roleCopyStruct`| +|`BeforeCreateRoleDraftEvent`|`RoleService::createRoleDraft`|`Role $role`
`?RoleDraft $roleDraft`| +|`CreateRoleDraftEvent`|`RoleService::createRoleDraft`|`Role $role`
`RoleDraft $roleDraft`| +|`BeforeCreateRoleEvent`|`RoleService::createRole`|`RoleCreateStruct $roleCreateStruct`
`?RoleDraft $roleDraft`| +|`CreateRoleEvent`|`RoleService::createRole`|`RoleCreateStruct $roleCreateStruct`
`RoleDraft $roleDraft`| +|`BeforeUpdateRoleDraftEvent`|`RoleService::updateRoleDraft`|`RoleDraft $roleDraft`
`RoleUpdateStruct $roleUpdateStruct`
`?RoleDraft $updatedRoleDraft`| +|`UpdateRoleDraftEvent`|`RoleService::updateRoleDraft`|`RoleDraft $roleDraft`
`RoleUpdateStruct $roleUpdateStruct`
`RoleDraft $updatedRoleDraft`| +|`BeforeCopyRoleEvent`|`RoleService::copyRole`|`Role $role`
`RoleCopyStruct $roleCopyStruct`
`?Role $copiedRole`| +|`CopyRoleEvent`|`RoleService::copyRole`|`Role $copiedRole`
`Role $role`
`RoleCopyStruct $roleCopyStruct`| |`BeforePublishRoleDraftEvent`|`RoleService::publishRoleDraft`|`RoleDraft $roleDraft`| |`PublishRoleDraftEvent`|`RoleService::publishRoleDraft`|`RoleDraft $roleDraft`| |`BeforeDeleteRoleDraftEvent`|`RoleService::deleteRoleDraft`|`RoleDraft $roleDraft`| @@ -26,20 +26,20 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeAddPolicyByRoleDraftEvent`|`RoleService::addPolicyByRoleDraft`|`RoleDraft $roleDraft`
`PolicyCreateStruct $policyCreateStruct`
`?RoleDraft $updatedRoleDraft`| -|`AddPolicyByRoleDraftEvent`|`RoleService::addPolicyByRoleDraft`|`RoleDraft $roleDraft`
`PolicyCreateStruct $policyCreateStruct`
`private $updatedRoleDraft`| -|`BeforeUpdatePolicyByRoleDraftEvent`|`RoleService::updatePolicyByRoleDraft`|`RoleDraft $roleDraft`
`PolicyDraft $policy`
`PolicyUpdateStruct $policyUpdateStruct`
`?PolicyDraft $updatedPolicyDraft`| -|`UpdatePolicyByRoleDraftEvent`|`RoleService::updatePolicyByRoleDraft`|`RoleDraft $roleDraft`
`PolicyDraft $policy`
`PolicyUpdateStruct $policyUpdateStruct`
`PolicyDraft $updatedPolicyDraft`| -|`BeforeRemovePolicyByRoleDraftEvent`|`RoleService::removePolicyByRoleDraft`|`RoleDraft $roleDraft`
`PolicyDraft $policyDraft`
`?RoleDraft $updatedRoleDraft`| -|`RemovePolicyByRoleDraftEvent`|`RoleService::removePolicyByRoleDraft`|`RoleDraft $roleDraft`
`PolicyDraft $policyDraft`
`RoleDraft $updatedRoleDraft`| +|`BeforeAddPolicyByRoleDraftEvent`|`RoleService::addPolicyByRoleDraft`|`RoleDraft $roleDraft`
`PolicyCreateStruct $policyCreateStruct`
`?RoleDraft $updatedRoleDraft`| +|`AddPolicyByRoleDraftEvent`|`RoleService::addPolicyByRoleDraft`|`RoleDraft $roleDraft`
`PolicyCreateStruct $policyCreateStruct`
`private $updatedRoleDraft`| +|`BeforeUpdatePolicyByRoleDraftEvent`|`RoleService::updatePolicyByRoleDraft`|`RoleDraft $roleDraft`
`PolicyDraft $policy`
`PolicyUpdateStruct $policyUpdateStruct`
`?PolicyDraft $updatedPolicyDraft`| +|`UpdatePolicyByRoleDraftEvent`|`RoleService::updatePolicyByRoleDraft`|`RoleDraft $roleDraft`
`PolicyDraft $policy`
`PolicyUpdateStruct $policyUpdateStruct`
`PolicyDraft $updatedPolicyDraft`| +|`BeforeRemovePolicyByRoleDraftEvent`|`RoleService::removePolicyByRoleDraft`|`RoleDraft $roleDraft`
`PolicyDraft $policyDraft`
`?RoleDraft $updatedRoleDraft`| +|`RemovePolicyByRoleDraftEvent`|`RoleService::removePolicyByRoleDraft`|`RoleDraft $roleDraft`
`PolicyDraft $policyDraft`
`RoleDraft $updatedRoleDraft`| ## Assigning roles | Event | Dispatched by | Properties | |---|---|---| -|`BeforeAssignRoleToUserEvent`|`RoleService::assignRoleToUser`|`Role $role`
`User $user`
`Limitation\RoleLimitation $roleLimitation`| -|`AssignRoleToUserEvent`|`RoleService::assignRoleToUser`|`Role $role`
`User $user`
`Limitation\RoleLimitation $roleLimitation`| -|`BeforeAssignRoleToUserGroupEvent`|`RoleService::assignRoleToUserGroup`|`Role $role`
`UserGroup $userGroup`
`Limitation\RoleLimitation $roleLimitation`| -|`AssignRoleToUserGroupEvent`|`RoleService::assignRoleToUserGroup`|`Role $role`
`UserGroup $userGroup`
`Limitation\RoleLimitation $roleLimitation`| +|`BeforeAssignRoleToUserEvent`|`RoleService::assignRoleToUser`|`Role $role`
`User $user`
`Limitation\RoleLimitation $roleLimitation`| +|`AssignRoleToUserEvent`|`RoleService::assignRoleToUser`|`Role $role`
`User $user`
`Limitation\RoleLimitation $roleLimitation`| +|`BeforeAssignRoleToUserGroupEvent`|`RoleService::assignRoleToUserGroup`|`Role $role`
`UserGroup $userGroup`
`Limitation\RoleLimitation $roleLimitation`| +|`AssignRoleToUserGroupEvent`|`RoleService::assignRoleToUserGroup`|`Role $role`
`UserGroup $userGroup`
`Limitation\RoleLimitation $roleLimitation`| |`BeforeRemoveRoleAssignmentEvent`|`RoleService::removeRoleAssignment`|`RoleAssignment $roleAssignment`| |`RemoveRoleAssignmentEvent`|`RoleService::removeRoleAssignment`|`RoleAssignment $roleAssignment`| diff --git a/docs/api/event_reference/section_events.md b/docs/api/event_reference/section_events.md index 10921a0d3d2..304835556b9 100644 --- a/docs/api/event_reference/section_events.md +++ b/docs/api/event_reference/section_events.md @@ -7,18 +7,18 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateSectionEvent`|`SectionService::createSection`|`SectionCreateStruct $sectionCreateStruct`
`?Section $section`| -|`CreateSectionEvent`|`SectionService::createSection`|`SectionCreateStruct $sectionCreateStruct`
`Section $section`| +|`BeforeCreateSectionEvent`|`SectionService::createSection`|`SectionCreateStruct $sectionCreateStruct`
`?Section $section`| +|`CreateSectionEvent`|`SectionService::createSection`|`SectionCreateStruct $sectionCreateStruct`
`Section $section`| |`BeforeDeleteSectionEvent`|`SectionService::deleteSection`|`Section $section`| |`DeleteSectionEvent`|`SectionService::deleteSection`|`Section $section`| -|`BeforeUpdateSectionEvent`|`SectionService::updateSection`|`Section $section`
`SectionUpdateStruct $sectionUpdateStruct`
`?Section $updatedSection`| -|`UpdateSectionEvent`|`SectionService::updateSection`|`Section $section`
`SectionUpdateStruct $sectionUpdateStruct`
`Section $updatedSection`| +|`BeforeUpdateSectionEvent`|`SectionService::updateSection`|`Section $section`
`SectionUpdateStruct $sectionUpdateStruct`
`?Section $updatedSection`| +|`UpdateSectionEvent`|`SectionService::updateSection`|`Section $section`
`SectionUpdateStruct $sectionUpdateStruct`
`Section $updatedSection`| ## Assigning sections | Event | Dispatched by | Properties | |---|---|---| -|`BeforeAssignSectionEvent`|`SectionService::assignSection`|`ContentInfo $contentInfo`
`Section $section`| -|`AssignSectionEvent`|`SectionService::assignSection`|`ContentInfo $contentInfo`
`Section $section`| -|`BeforeAssignSectionToSubtreeEvent`|`SectionService::assignSectionToSubtree`|`Location $location`
`Section $section`| -|`AssignSectionToSubtreeEvent`|`SectionService::assignSectionToSubtree`|`Location $location`
`Section $section`| +|`BeforeAssignSectionEvent`|`SectionService::assignSection`|`ContentInfo $contentInfo`
`Section $section`| +|`AssignSectionEvent`|`SectionService::assignSection`|`ContentInfo $contentInfo`
`Section $section`| +|`BeforeAssignSectionToSubtreeEvent`|`SectionService::assignSectionToSubtree`|`Location $location`
`Section $section`| +|`AssignSectionToSubtreeEvent`|`SectionService::assignSectionToSubtree`|`Location $location`
`Section $section`| diff --git a/docs/api/event_reference/segmentation_events.md b/docs/api/event_reference/segmentation_events.md index 25e0c916e59..478354fce41 100644 --- a/docs/api/event_reference/segmentation_events.md +++ b/docs/api/event_reference/segmentation_events.md @@ -8,16 +8,16 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateSegmentGroupEvent`|`SegmentationService::createSegmentGroup`|`SegmentGroupCreateStruct $createStruct`
`?SegmentGroup $segmentGroupResult = null`| -|`CreateSegmentGroupEvent`|`SegmentationService::createSegmentGroup`|`SegmentGroupCreateStruct $createStruct`
`SegmentGroup $segmentGroupResult`| -|`BeforeUpdateSegmentGroupEvent`|`SegmentationService::updateSegmentGroup`|`SegmentGroup $segmentGroup`
`SegmentGroupUpdateStruct $updateStruct`
`?SegmentGroup $segmentGroupResult = null`| -|`UpdateSegmentGroupEvent`|`SegmentationService::updateSegmentGroup`|`SegmentGroup $segmentGroup`
`SegmentGroupUpdateStruct $updateStruct`
`SegmentGroup $segmentGroupResult`| +|`BeforeCreateSegmentGroupEvent`|`SegmentationService::createSegmentGroup`|`SegmentGroupCreateStruct $createStruct`
`?SegmentGroup $segmentGroupResult = null`| +|`CreateSegmentGroupEvent`|`SegmentationService::createSegmentGroup`|`SegmentGroupCreateStruct $createStruct`
`SegmentGroup $segmentGroupResult`| +|`BeforeUpdateSegmentGroupEvent`|`SegmentationService::updateSegmentGroup`|`SegmentGroup $segmentGroup`
`SegmentGroupUpdateStruct $updateStruct`
`?SegmentGroup $segmentGroupResult = null`| +|`UpdateSegmentGroupEvent`|`SegmentationService::updateSegmentGroup`|`SegmentGroup $segmentGroup`
`SegmentGroupUpdateStruct $updateStruct`
`SegmentGroup $segmentGroupResult`| |`BeforeRemoveSegmentGroupEvent`|`SegmentationService::removeSegmentGroup`|`SegmentGroup $segmentGroup`| |`RemoveSegmentGroupEvent`|`SegmentationService::removeSegmentGroup`|`SegmentGroup $segmentGroup`| -|`BeforeCreateSegmentEvent`|`SegmentationService::createSegment`|`SegmentCreateStruct $createStruct`
`?Segment $segmentResult = null`| -|`CreateSegmentEvent`|`SegmentationService::createSegment`|`SegmentCreateStruct $createStruct`
`Segment $segmentResult`| -|`BeforeUpdateSegmentEvent`|`SegmentationService::updateSegment`|`Segment $segment`
`SegmentUpdateStruct $updateStruct`
`?Segment $segmentResult = null`| -|`UpdateSegmentEvent`|`SegmentationService::updateSegment`|`Segment $segment`
`SegmentUpdateStruct $updateStruct`
`Segment $segmentResult`| +|`BeforeCreateSegmentEvent`|`SegmentationService::createSegment`|`SegmentCreateStruct $createStruct`
`?Segment $segmentResult = null`| +|`CreateSegmentEvent`|`SegmentationService::createSegment`|`SegmentCreateStruct $createStruct`
`Segment $segmentResult`| +|`BeforeUpdateSegmentEvent`|`SegmentationService::updateSegment`|`Segment $segment`
`SegmentUpdateStruct $updateStruct`
`?Segment $segmentResult = null`| +|`UpdateSegmentEvent`|`SegmentationService::updateSegment`|`Segment $segment`
`SegmentUpdateStruct $updateStruct`
`Segment $segmentResult`| |`BeforeRemoveSegmentEvent`|`SegmentationService::removeSegment`|`Segment $segment`| |`RemoveSegmentEvent`|`SegmentationService::removeSegment`|`Segment $segment`| @@ -25,7 +25,7 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeAssignUserToSegmentEvent.php`|`SegmentationService::assignUserToSegment`|`User $user`
`Segment $segment`| -|`AssignUserToSegmentEvent.php`|`SegmentationService::assignUserToSegment`|`User $user`
`Segment $segment`| -|`BeforeUnassignUserFromSegmentEvent.php`|`SegmentationService::unassignUserFromSegment`|`User $user`
`Segment $segment`| -|`UnassignUserFromSegmentEvent.php`|`SegmentationService::unassignUserFromSegment`|`User $user`
`Segment $segment`| +|`BeforeAssignUserToSegmentEvent.php`|`SegmentationService::assignUserToSegment`|`User $user`
`Segment $segment`| +|`AssignUserToSegmentEvent.php`|`SegmentationService::assignUserToSegment`|`User $user`
`Segment $segment`| +|`BeforeUnassignUserFromSegmentEvent.php`|`SegmentationService::unassignUserFromSegment`|`User $user`
`Segment $segment`| +|`UnassignUserFromSegmentEvent.php`|`SegmentationService::unassignUserFromSegment`|`User $user`
`Segment $segment`| diff --git a/docs/api/event_reference/site_events.md b/docs/api/event_reference/site_events.md index 7910c81f5b1..c38123e7288 100644 --- a/docs/api/event_reference/site_events.md +++ b/docs/api/event_reference/site_events.md @@ -10,9 +10,9 @@ The following events are dispatched when managing [Sites](site_factory.md). | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateSiteEvent`|`SiteService::createSite`|`SiteCreateStruct $siteCreateStruct`
`Site $site`| -|`CreateSiteEvent`|`SiteService::createSite`|`Site $site`
`SiteCreateStruct $siteCreateStruct`| -|`BeforeUpdateSiteEvent`|`SiteService::updateSite`|`Site $site`
`SiteUpdateStruct $siteUpdateStruct`
`?Site $updatedSite`| -|`UpdateSiteEvent`|`SiteService::updateSite`|`Site $updatedSite`
`Site $site`
`SiteUpdateStruct $siteUpdateStruct`| +|`BeforeCreateSiteEvent`|`SiteService::createSite`|`SiteCreateStruct $siteCreateStruct`
`Site $site`| +|`CreateSiteEvent`|`SiteService::createSite`|`Site $site`
`SiteCreateStruct $siteCreateStruct`| +|`BeforeUpdateSiteEvent`|`SiteService::updateSite`|`Site $site`
`SiteUpdateStruct $siteUpdateStruct`
`?Site $updatedSite`| +|`UpdateSiteEvent`|`SiteService::updateSite`|`Site $updatedSite`
`Site $site`
`SiteUpdateStruct $siteUpdateStruct`| |`BeforeDeleteSiteEvent`|`SiteService::deleteSite`|`Site $site`| |`DeleteSiteEvent`|`SiteService::deleteSite`|`Site $site`| diff --git a/docs/api/event_reference/taxonomy_events.md b/docs/api/event_reference/taxonomy_events.md index ea09c58e38a..bc8dda29b8d 100644 --- a/docs/api/event_reference/taxonomy_events.md +++ b/docs/api/event_reference/taxonomy_events.md @@ -9,13 +9,13 @@ The following Events are dispatched when managing [taxonomy entries](taxonomy.md | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateTaxonomyEntryEvent`|`TaxonomyService::createEntry`|`TaxonomyEntryCreateStruct $createStruct`
`?TaxonomyEntry $taxonomyEntry = null`| -|`CreateTaxonomyEntryEvent`|`TaxonomyService::createEntry`|`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntryCreateStruct $createStruct`| -|`BeforeMoveTaxonomyEntryEvent`|`TaxonomyService::moveEntry`|`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntry $newParent`| -|`MoveTaxonomyEntryEvent`|`TaxonomyService::moveEntry`|`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntry $newParent`| -|`BeforeMoveTaxonomyEntryRelativeToSiblingEvent`|`TaxonomyService::moveEntryRelativeToSibling`|`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntry $sibling`
`string $position`| -|`MoveTaxonomyEntryRelativeToSiblingEvent`|`TaxonomyService::moveEntryRelativeToSibling`|`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntry $sibling`
`string $position`| +|`BeforeCreateTaxonomyEntryEvent`|`TaxonomyService::createEntry`|`TaxonomyEntryCreateStruct $createStruct`
`?TaxonomyEntry $taxonomyEntry = null`| +|`CreateTaxonomyEntryEvent`|`TaxonomyService::createEntry`|`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntryCreateStruct $createStruct`| +|`BeforeMoveTaxonomyEntryEvent`|`TaxonomyService::moveEntry`|`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntry $newParent`| +|`MoveTaxonomyEntryEvent`|`TaxonomyService::moveEntry`|`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntry $newParent`| +|`BeforeMoveTaxonomyEntryRelativeToSiblingEvent`|`TaxonomyService::moveEntryRelativeToSibling`|`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntry $sibling`
`string $position`| +|`MoveTaxonomyEntryRelativeToSiblingEvent`|`TaxonomyService::moveEntryRelativeToSibling`|`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntry $sibling`
`string $position`| |`BeforeRemoveTaxonomyEntryEvent`|`TaxonomyService::removeEntry`|`TaxonomyEntry $taxonomyEntry`| |`RemoveTaxonomyEntryEvent`|`TaxonomyService::removeEntry`|`TaxonomyEntry $taxonomyEntry`| -|`BeforeUpdateTaxonomyEntryEvent`|`TaxonomyService::updateEntry`|`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntryUpdateStruct $updateStruct`
`?TaxonomyEntry $updatedTaxonomyEntry = null`| -|`UpdateTaxonomyEntryEvent`|`TaxonomyService::updateEntry`|`TaxonomyEntry $updatedTaxonomyEntry`
`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntryUpdateStruct $updateStruct`| +|`BeforeUpdateTaxonomyEntryEvent`|`TaxonomyService::updateEntry`|`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntryUpdateStruct $updateStruct`
`?TaxonomyEntry $updatedTaxonomyEntry = null`| +|`UpdateTaxonomyEntryEvent`|`TaxonomyService::updateEntry`|`TaxonomyEntry $updatedTaxonomyEntry`
`TaxonomyEntry $taxonomyEntry`
`TaxonomyEntryUpdateStruct $updateStruct`| diff --git a/docs/api/event_reference/trash_events.md b/docs/api/event_reference/trash_events.md index 87356e2e720..c486ab56fe3 100644 --- a/docs/api/event_reference/trash_events.md +++ b/docs/api/event_reference/trash_events.md @@ -9,11 +9,11 @@ The following events are dispatched when managing Trash. | Event | Dispatched by | Properties | |---|---|---| -|`BeforeDeleteTrashItemEvent`|`TrashService::deleteTrashItem`|`TrashItem $trashItem`
`?TrashItemDeleteResult $result`| -|`DeleteTrashItemEvent`|`TrashService::deleteTrashItem`|`TrashItem $trashItem`
`TrashItemDeleteResult $result`| +|`BeforeDeleteTrashItemEvent`|`TrashService::deleteTrashItem`|`TrashItem $trashItem`
`?TrashItemDeleteResult $result`| +|`DeleteTrashItemEvent`|`TrashService::deleteTrashItem`|`TrashItem $trashItem`
`TrashItemDeleteResult $result`| |`BeforeEmptyTrashEvent`|`TrashService::emptyTrash`|`?TrashItemDeleteResultList $resultList`| |`EmptyTrashEvent`|`TrashService::emptyTrash`|`TrashItemDeleteResultList $resultList`| -|`BeforeRecoverEvent`|`TrashService::recover`|`TrashItem $trashItem`
`Location $newParentLocation`
`?Location $location`| -|`RecoverEvent`|`TrashService::recover`|`TrashItem $trashItem`
`Location $newParentLocation`
`Location $location`| -|`BeforeTrashEvent`|`TrashService::trash`|`Location $location`
`?TrashItem $result`
`bool $resultSet = false`| -|`TrashEvent`|`TrashService::trash`|`Location $location`
`?TrashItem $trashItem`| +|`BeforeRecoverEvent`|`TrashService::recover`|`TrashItem $trashItem`
`Location $newParentLocation`
`?Location $location`| +|`RecoverEvent`|`TrashService::recover`|`TrashItem $trashItem`
`Location $newParentLocation`
`Location $location`| +|`BeforeTrashEvent`|`TrashService::trash`|`Location $location`
`?TrashItem $result`
`bool $resultSet = false`| +|`TrashEvent`|`TrashService::trash`|`Location $location`
`?TrashItem $trashItem`| diff --git a/docs/api/event_reference/url_events.md b/docs/api/event_reference/url_events.md index e6b236809b6..de146f42270 100644 --- a/docs/api/event_reference/url_events.md +++ b/docs/api/event_reference/url_events.md @@ -9,8 +9,8 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeUpdateUrlEvent`|`URLService::updateUrl`|`URL $url`
`URLUpdateStruct $struct`
`?URL $updatedUrl`| -|`UpdateUrlEvent`|`URLService::updateUrl`|`URL $url`
`URLUpdateStruct $struct`
`URL $updatedUrl`| +|`BeforeUpdateUrlEvent`|`URLService::updateUrl`|`URL $url`
`URLUpdateStruct $struct`
`?URL $updatedUrl`| +|`UpdateUrlEvent`|`URLService::updateUrl`|`URL $url`
`URLUpdateStruct $struct`
`URL $updatedUrl`| ## URL aliases @@ -18,10 +18,10 @@ The following events are dispatched when creating and managing [URL aliases](url | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateGlobalUrlAliasEvent`|`URLAliasService::createGlobalUrlAlias`|`private $resource`
`private $path`
`private $languageCode`
`private $forwarding`
`private $alwaysAvailable`
`?URLAlias $urlAlias`| -|`CreateGlobalUrlAliasEvent`|`URLAliasService::createGlobalUrlAlias`|`private $resource`
`private $path`
`private $languageCode`
`private $forwarding`
`private $alwaysAvailable`
`URLAlias $urlAlias`| -|`BeforeCreateUrlAliasEvent`|`URLAliasService::createUrlAlias`|`Location $location`
`private $path`
`private $languageCode`
`private $forwarding`
`private $alwaysAvailable`
`?URLAlias $urlAlias`| -|`CreateUrlAliasEvent`|`URLAliasService::createUrlAlias`|`Location $location`
`private $path`
`private $languageCode`
`private $forwarding`
`private $alwaysAvailable`
`URLAlias $urlAlias`| +|`BeforeCreateGlobalUrlAliasEvent`|`URLAliasService::createGlobalUrlAlias`|`private $resource`
`private $path`
`private $languageCode`
`private $forwarding`
`private $alwaysAvailable`
`?URLAlias $urlAlias`| +|`CreateGlobalUrlAliasEvent`|`URLAliasService::createGlobalUrlAlias`|`private $resource`
`private $path`
`private $languageCode`
`private $forwarding`
`private $alwaysAvailable`
`URLAlias $urlAlias`| +|`BeforeCreateUrlAliasEvent`|`URLAliasService::createUrlAlias`|`Location $location`
`private $path`
`private $languageCode`
`private $forwarding`
`private $alwaysAvailable`
`?URLAlias $urlAlias`| +|`CreateUrlAliasEvent`|`URLAliasService::createUrlAlias`|`Location $location`
`private $path`
`private $languageCode`
`private $forwarding`
`private $alwaysAvailable`
`URLAlias $urlAlias`| |`BeforeRefreshSystemUrlAliasesForLocationEvent`|`URLAliasService::refreshSystemUrlAliasesForLocation`|`Location $location`| |`RefreshSystemUrlAliasesForLocationEvent`|`URLAliasService::refreshSystemUrlAliasesForLocation`|`Location $location`| |`BeforeRemoveAliasesEvent`|`URLAliasService::removeAliases`|`array $aliasList`| @@ -33,11 +33,11 @@ The following events are dispatched when creating and managing [URL wildcards](u | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateEvent`|`URLWildcardService::create`|`private $sourceUrl`
`private $destinationUrl`
`private $forward`
`?URLWildcard $urlWildcard`| -|`CreateEvent`|`URLWildcardService::create`|`private $sourceUrl`
`private $destinationUrl`
`private $forward`
`URLWildcard $urlWildcard`| -|`BeforeUpdateEvent`|`URLWildcardService::update`|`URLWildcard $urlWildcard`
`URLWildcardUpdateStruct $updateStruct`| -|`UpdateEvent`|`URLWildcardService::update`|`URLWildcard $urlWildcard`
`URLWildcardUpdateStruct $updateStruct`| -|`BeforeTranslateEvent`|`URLWildcardService::translate`|`private $url`
`?URLWildcardTranslationResult $result`| -|`TranslateEvent`|`URLWildcardService::translate`|`private $url`
`URLWildcardTranslationResult $result`| +|`BeforeCreateEvent`|`URLWildcardService::create`|`private $sourceUrl`
`private $destinationUrl`
`private $forward`
`?URLWildcard $urlWildcard`| +|`CreateEvent`|`URLWildcardService::create`|`private $sourceUrl`
`private $destinationUrl`
`private $forward`
`URLWildcard $urlWildcard`| +|`BeforeUpdateEvent`|`URLWildcardService::update`|`URLWildcard $urlWildcard`
`URLWildcardUpdateStruct $updateStruct`| +|`UpdateEvent`|`URLWildcardService::update`|`URLWildcard $urlWildcard`
`URLWildcardUpdateStruct $updateStruct`| +|`BeforeTranslateEvent`|`URLWildcardService::translate`|`private $url`
`?URLWildcardTranslationResult $result`| +|`TranslateEvent`|`URLWildcardService::translate`|`private $url`
`URLWildcardTranslationResult $result`| |`BeforeRemoveEvent`|`URLWildcardService::remove`|`URLWildcard $urlWildcard`| |`RemoveEvent`|`URLWildcardService::remove`|`URLWildcard $urlWildcard`| diff --git a/docs/api/event_reference/user_events.md b/docs/api/event_reference/user_events.md index 790561aeba3..0f368139757 100644 --- a/docs/api/event_reference/user_events.md +++ b/docs/api/event_reference/user_events.md @@ -7,40 +7,40 @@ page_type: reference | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateUserEvent`|`UserService::createUser`|`UserCreateStruct $userCreateStruct`
`array $parentGroups`
`?User $user`| -|`CreateUserEvent`|`UserService::createUser`|`UserCreateStruct $userCreateStruct`
`array $parentGroups`
`User $user`| -|`BeforeUpdateUserEvent`|`UserService::updateUser`|`User $user`
`UserUpdateStruct $userUpdateStruct`
`?User $updatedUser`| -|`UpdateUserEvent`|`UserService::updateUser`|`User $user`
`UserUpdateStruct $userUpdateStruct`
`User $updatedUser`| -|`BeforeDeleteUserEvent`|`UserService::deleteUser`|`User $user`
`array or null $locations`| -|`DeleteUserEvent`|`UserService::deleteUser`|`User $user`
`array $locations`| +|`BeforeCreateUserEvent`|`UserService::createUser`|`UserCreateStruct $userCreateStruct`
`array $parentGroups`
`?User $user`| +|`CreateUserEvent`|`UserService::createUser`|`UserCreateStruct $userCreateStruct`
`array $parentGroups`
`User $user`| +|`BeforeUpdateUserEvent`|`UserService::updateUser`|`User $user`
`UserUpdateStruct $userUpdateStruct`
`?User $updatedUser`| +|`UpdateUserEvent`|`UserService::updateUser`|`User $user`
`UserUpdateStruct $userUpdateStruct`
`User $updatedUser`| +|`BeforeDeleteUserEvent`|`UserService::deleteUser`|`User $user`
`array or null $locations`| +|`DeleteUserEvent`|`UserService::deleteUser`|`User $user`
`array $locations`| ## User groups | Event | Dispatched by | Properties | |---|---|---| -|`BeforeCreateUserGroupEvent`|`UserService::createUserGroup`|`UserGroupCreateStruct $userGroupCreateStruct`
`UserGroup $parentGroup`
`?UserGroup $userGroup`| -|`CreateUserGroupEvent`|`UserService::createUserGroup`|`UserGroupCreateStruct $userGroupCreateStruct`
`UserGroup $parentGroup`
`UserGroup $userGroup`| -|`BeforeUpdateUserGroupEvent`|`UserService::updateUserGroup`|`UserGroup $userGroup`
`UserGroupUpdateStruct $userGroupUpdateStruct`
`?UserGroup $updatedUserGroup`| -|`UpdateUserGroupEvent`|`UserService::updateUserGroup`|`UserGroup $userGroup`
`UserGroupUpdateStruct $userGroupUpdateStruct`| -|`BeforeDeleteUserGroupEvent`|`UserService::deleteUserGroup`|`UserGroup $userGroup`
`array or null $locations`| -|`DeleteUserGroupEvent`|`UserService::deleteUserGroup`|`UserGroup $userGroup`
`array $locations`| -|`BeforeMoveUserGroupEvent`|`UserService::moveUserGroup`|`UserGroup $userGroup`
`UserGroup $newParent`| -|`MoveUserGroupEvent`|`UserService::moveUserGroup`|`UserGroup $userGroup`
`UserGroup $newParent`| +|`BeforeCreateUserGroupEvent`|`UserService::createUserGroup`|`UserGroupCreateStruct $userGroupCreateStruct`
`UserGroup $parentGroup`
`?UserGroup $userGroup`| +|`CreateUserGroupEvent`|`UserService::createUserGroup`|`UserGroupCreateStruct $userGroupCreateStruct`
`UserGroup $parentGroup`
`UserGroup $userGroup`| +|`BeforeUpdateUserGroupEvent`|`UserService::updateUserGroup`|`UserGroup $userGroup`
`UserGroupUpdateStruct $userGroupUpdateStruct`
`?UserGroup $updatedUserGroup`| +|`UpdateUserGroupEvent`|`UserService::updateUserGroup`|`UserGroup $userGroup`
`UserGroupUpdateStruct $userGroupUpdateStruct`| +|`BeforeDeleteUserGroupEvent`|`UserService::deleteUserGroup`|`UserGroup $userGroup`
`array or null $locations`| +|`DeleteUserGroupEvent`|`UserService::deleteUserGroup`|`UserGroup $userGroup`
`array $locations`| +|`BeforeMoveUserGroupEvent`|`UserService::moveUserGroup`|`UserGroup $userGroup`
`UserGroup $newParent`| +|`MoveUserGroupEvent`|`UserService::moveUserGroup`|`UserGroup $userGroup`
`UserGroup $newParent`| ## Assigning to user groups | Event | Dispatched by | Properties | |---|---|---| -|`BeforeAssignUserToUserGroupEvent`|`UserService::assignUserToUserGroup`|`User $user`
`UserGroup $userGroup`| -|`AssignUserToUserGroupEvent`|`UserService::assignUserToUserGroup`|`User $user`
`UserGroup $userGroup`| -|`BeforeUnAssignUserFromUserGroupEvent`|`UserService::unAssignUserFromUserGroup`|`User $user`
`UserGroup $userGroup`| -|`UnAssignUserFromUserGroupEvent`|`UserService::unAssignUserFromUserGroup`|`User $user`
`UserGroup $userGroup`| +|`BeforeAssignUserToUserGroupEvent`|`UserService::assignUserToUserGroup`|`User $user`
`UserGroup $userGroup`| +|`AssignUserToUserGroupEvent`|`UserService::assignUserToUserGroup`|`User $user`
`UserGroup $userGroup`| +|`BeforeUnAssignUserFromUserGroupEvent`|`UserService::unAssignUserFromUserGroup`|`User $user`
`UserGroup $userGroup`| +|`UnAssignUserFromUserGroupEvent`|`UserService::unAssignUserFromUserGroup`|`User $user`
`UserGroup $userGroup`| ## Updating User data | Event | Dispatched by | Properties | |---|---|---| -|`BeforeUpdateUserPasswordEvent`|`UserService::updateUserPassword`|`User $user`
`string $newPassword`
`?User $updatedUser`| -|`UpdateUserPasswordEvent`|`UserService::updateUserPassword`|`User $user`
`string $newPassword`
`User $updatedUser`| -|`BeforeUpdateUserTokenEvent`|`UserService::updateUserToken`|`User $user`
`UserTokenUpdateStruct $userTokenUpdateStruct`
`?User $updatedUser`| -|`UpdateUserTokenEvent`|`UserService::updateUserToken`|`User $user`
`UserTokenUpdateStruct $userTokenUpdateStruct`
`User $updatedUser`| +|`BeforeUpdateUserPasswordEvent`|`UserService::updateUserPassword`|`User $user`
`string $newPassword`
`?User $updatedUser`| +|`UpdateUserPasswordEvent`|`UserService::updateUserPassword`|`User $user`
`string $newPassword`
`User $updatedUser`| +|`BeforeUpdateUserTokenEvent`|`UserService::updateUserToken`|`User $user`
`UserTokenUpdateStruct $userTokenUpdateStruct`
`?User $updatedUser`| +|`UpdateUserTokenEvent`|`UserService::updateUserToken`|`User $user`
`UserTokenUpdateStruct $userTokenUpdateStruct`
`User $updatedUser`| diff --git a/docs/content_management/field_types/form_and_template.md b/docs/content_management/field_types/form_and_template.md index 5c4913a80ba..167766640af 100644 --- a/docs/content_management/field_types/form_and_template.md +++ b/docs/content_management/field_types/form_and_template.md @@ -161,7 +161,7 @@ The block can receive the following variables: | `versionInfo` | `Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` | The VersionInfo of the content item the field belongs to | | `fieldSettings` | array | Settings of the field (depends on the field type) | | `parameters` | hash | Options passed to `ibexa_render_field()` under the `'parameters'` key | -| `attr` | hash | The attributes to add the generate the HTML markup, passed to ibexa_render_field()` under the `'attr'` key.
Contains at least a class entry, containing -field | +| `attr` | hash | The attributes to add the generate the HTML markup, passed to `ibexa_render_field()` under the `'attr'` key.
Contains at least a class entry, containing `-field` | ### Reusing blocks diff --git a/docs/content_management/pages/page_block_attributes.md b/docs/content_management/pages/page_block_attributes.md index 3245694ca51..f1611d11eee 100644 --- a/docs/content_management/pages/page_block_attributes.md +++ b/docs/content_management/pages/page_block_attributes.md @@ -40,7 +40,7 @@ The following attribute types are available: |`radio`|Radio buttons|`choices` lists the available options in `label: value` form.| |`locationlist`|Location selection| `udw_config_name`: name of the [Universal Discovery Widget's configuration](browser.md#add-new-configuration) | |`contenttypelist`|List of content types|-| -|`schedule_events`,
`schedule_snapshots`,
`schedule_initial_items`,
`schedule_slots`,
`schedule_loaded_snapshot`|Used in the Content Scheduler block|-| +|`schedule_events`,
`schedule_snapshots`,
`schedule_initial_items`,
`schedule_slots`,
`schedule_loaded_snapshot`|Used in the Content Scheduler block|-| |`nested_attribute`|Defines a group of attributes in a block.|
  • `attributes` - a list of attributes in the group. The attributes in the group are [configured](#page-block-attributes) as regular attributes
  • `multiple`, when set to true. New groups are added dynamically with the **+ Add** button
| When you define attributes, you can omit most keys as long as you use simple types that don't require additional options: diff --git a/docs/js/custom.js b/docs/js/custom.js index 1a50125e764..6fd80d88288 100644 --- a/docs/js/custom.js +++ b/docs/js/custom.js @@ -7,19 +7,10 @@ $(document).ready(function() { // replace edit url let branchName = '5.0'; const branchNameRegexp = /\/en\/([a-z0-9-_.]*)\//g.exec(document.location.href); - const eolVersions = window.eol_versions ?? []; if (branchNameRegexp !== null && branchNameRegexp.hasOwnProperty(1) && branchNameRegexp[1].length) { branchName = branchNameRegexp[1]; } - - // Show warning box for versions that have reached End Of Life - if (eolVersions.includes(branchName)) { - const warningBox = document.querySelector('#eol-warning-box'); - - warningBox.hidden = false; - } - if (!/^\d+\.\d+$/.test(branchName) && branchName !== 'latest') { branchName = '5.0'; } diff --git a/docs/permissions/policies.md b/docs/permissions/policies.md index 0a096d2ebcd..e1d6642ef46 100644 --- a/docs/permissions/policies.md +++ b/docs/permissions/policies.md @@ -223,30 +223,30 @@ The [discount](discounts.md) policies decide which actions can be executed by gi | Module | Function | Effect | Possible limitations | |------------------------|-----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `content` | `cleantrash` | empty the Trash (even when the User doesn't have access to individual content items) | | -| | `create` | create new content. Note: even without this policy the user is able to enter edit mode, but cannot finalize work with the content item. | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Language](limitation_reference.md#language-limitation)
[Owner of Parent](limitation_reference.md#owner-of-parent-limitation)
[Content type Group of Parent](limitation_reference.md#content-type-group-of-parent-limitation)
[Content type of Parent](limitation_reference.md#content-type-of-parent-limitation)
[Parent Depth](limitation_reference.md#parent-depth-limitation)
[Field Group](limitation_reference.md#field-group-limitation)
[Change Owner](limitation_reference.md#change-owner-limitation) | +| | `create` | create new content. Note: even without this policy the user is able to enter edit mode, but cannot finalize work with the content item. | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Language](limitation_reference.md#language-limitation)
[Owner of Parent](limitation_reference.md#owner-of-parent-limitation)
[Content type Group of Parent](limitation_reference.md#content-type-group-of-parent-limitation)
[Content type of Parent](limitation_reference.md#content-type-of-parent-limitation)
[Parent Depth](limitation_reference.md#parent-depth-limitation)
[Field Group](limitation_reference.md#field-group-limitation)
[Change Owner](limitation_reference.md#change-owner-limitation) | | | `diff` | unused | | -| | `edit` | edit existing content | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Content type Group](limitation_reference.md#content-type-group-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Language](limitation_reference.md#language-limitation)
[Object State](limitation_reference.md#object-state-limitation)
[Workflow Stage](limitation_reference.md#workflow-stage-limitation)
[Field Group](limitation_reference.md#field-group-limitation)
[Version Lock](limitation_reference.md#version-lock-limitation)
[Change Owner](limitation_reference.md#change-owner-limitation) | -| | `hide` | hide and reveal content locations | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Content type Group](limitation_reference.md#content-type-group-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Language](limitation_reference.md#language-limitation) | -| | `manage_locations` | remove locations and send content to Trash | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Object State](limitation_reference.md#object-state-limitation) | +| | `edit` | edit existing content | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Content type Group](limitation_reference.md#content-type-group-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Language](limitation_reference.md#language-limitation)
[Object State](limitation_reference.md#object-state-limitation)
[Workflow Stage](limitation_reference.md#workflow-stage-limitation)
[Field Group](limitation_reference.md#field-group-limitation)
[Version Lock](limitation_reference.md#version-lock-limitation)
[Change Owner](limitation_reference.md#change-owner-limitation) | +| | `hide` | hide and reveal content locations | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Content type Group](limitation_reference.md#content-type-group-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Language](limitation_reference.md#language-limitation) | +| | `manage_locations` | remove locations and send content to Trash | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Object State](limitation_reference.md#object-state-limitation) | | | `pendinglist` | unused | | -| | `publish` | publish content. Without this Policy, the User can only save drafts or send them for review (in [[= product_name_exp =]]) | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Content type Group](limitation_reference.md#content-type-group-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Language](limitation_reference.md#language-limitation)
[Object State](limitation_reference.md#object-state-limitation)
[Workflow Stage](limitation_reference.md#workflow-stage-limitation) | -| | `read` | view the content both in front and back end | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Content type Group](limitation_reference.md#content-type-group-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Object State](limitation_reference.md#object-state-limitation) | -| | `remove` | remove locations and send content to Trash | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Object State](limitation_reference.md#object-state-limitation)
[Language](limitation_reference.md#language-limitation) | +| | `publish` | publish content. Without this Policy, the User can only save drafts or send them for review (in [[= product_name_exp =]]) | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Content type Group](limitation_reference.md#content-type-group-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Language](limitation_reference.md#language-limitation)
[Object State](limitation_reference.md#object-state-limitation)
[Workflow Stage](limitation_reference.md#workflow-stage-limitation) | +| | `read` | view the content both in front and back end | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Content type Group](limitation_reference.md#content-type-group-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Object State](limitation_reference.md#object-state-limitation) | +| | `remove` | remove locations and send content to Trash | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Object State](limitation_reference.md#object-state-limitation)
[Language](limitation_reference.md#language-limitation) | | | `restore` | restore content from Trash | | -| | `reverserelatedlist` | see all content that a content item relates to (even when the User isn't allowed to view it as an individual content items) | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
| -| | `translate` | unused | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Language](limitation_reference.md#language-limitation) | +| | `reverserelatedlist` | see all content that a content item relates to (even when the User isn't allowed to view it as an individual content items) | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
| +| | `translate` | unused | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Language](limitation_reference.md#language-limitation) | | | `translations` | manage the language list in Admin || -| | `unlock` | unlock drafts locked to a user for performing actions | [Owner](limitation_reference.md#owner-limitation)
[Content type Group](limitation_reference.md#content-type-group-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Language](limitation_reference.md#language-limitation)
[Version Lock](limitation_reference.md#version-lock-limitation) | +| | `unlock` | unlock drafts locked to a user for performing actions | [Owner](limitation_reference.md#owner-limitation)
[Content type Group](limitation_reference.md#content-type-group-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Language](limitation_reference.md#language-limitation)
[Version Lock](limitation_reference.md#version-lock-limitation) | | | `urltranslator` | manage URL aliases of a content item | | -| | `versionread` | view content after publishing, and to preview any content in the Site mode | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
Status
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Object State](limitation_reference.md#object-state-limitation) | -| | `versionremove` | remove archived content versions | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
Status
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Object State](limitation_reference.md#object-state-limitation) | -| | `view_embed` | view content embedded in another content item (even when the User isn't allowed to view it as an individual content item) | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation) | +| | `versionread` | view content after publishing, and to preview any content in the Site mode | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
Status
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Object State](limitation_reference.md#object-state-limitation) | +| | `versionremove` | remove archived content versions | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
Status
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Object State](limitation_reference.md#object-state-limitation) | +| | `view_embed` | view content embedded in another content item (even when the User isn't allowed to view it as an individual content item) | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation) | #### Content collaborative editing | Module | Function | Effect | Possible limitations | |----------------------|-----------------------|--------------------------------------------------------------------------|----------------------| -| `content` | `share` | share content drafts with internal and external users through [collaborative editing](collaborative_editing.md) |[Owner](limitation_reference.md#collaborative-editing-owner-limitation)
[PublicLink](limitation_reference.md#collaborative-editing-publiclink-limitation)
[Scope](limitation_reference.md#collaborative-editing-scope-limitation) | +| `content` | `share` | share content drafts with internal and external users through [collaborative editing](collaborative_editing.md) |[Owner](limitation_reference.md#collaborative-editing-owner-limitation)
[PublicLink](limitation_reference.md#collaborative-editing-publiclink-limitation)
[Scope](limitation_reference.md#collaborative-editing-scope-limitation) | | `rte` | `edit` | use [Real-time editing](collaborative_editing_guide.md#real-time-editing) | | #### Content types @@ -261,7 +261,7 @@ The [discount](discounts.md) policies decide which actions can be executed by gi | Module | Function | Effect | Possible limitations | |------------------------|-----------------------|----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `section` | `assign` | assign Sections to content | [content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[New Section](limitation_reference.md#new-section-limitation) | +| `section` | `assign` | assign Sections to content | [content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[New Section](limitation_reference.md#new-section-limitation) | | | `edit` | edit existing Sections and create new ones | | | | `view` | view the Sections list in Admin. Required for all other section-related policies | | @@ -269,7 +269,7 @@ The [discount](discounts.md) policies decide which actions can be executed by gi | Module | Function | Effect | Possible limitations | |----------------------|-----------------------------|---------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `state` | `assign` | assign object states to content items | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Content type Group](limitation_reference.md#content-type-group-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Object State](limitation_reference.md#object-state-limitation)
[New State](limitation_reference.md#new-state-limitation) | +| `state` | `assign` | assign object states to content items | [Content type](limitation_reference.md#content-type-limitation)
[Section](limitation_reference.md#section-limitation)
[Owner](limitation_reference.md#owner-limitation)
[Content type Group](limitation_reference.md#content-type-group-limitation)
[Location](limitation_reference.md#location-limitation)
[Subtree](limitation_reference.md#subtree-limitation)
[Object State](limitation_reference.md#object-state-limitation)
[New State](limitation_reference.md#new-state-limitation) | | | `administrate` | view, add and edit object states | | #### Taxonomy @@ -302,9 +302,9 @@ The [discount](discounts.md) policies decide which actions can be executed by gi | Module | Function | Effect | Possible limitations | |------------------------|-----------------------|---------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------| -| `product` | `create` | create a product | [Product Type](limitation_reference.md#product-type-limitation)
[Language](limitation_reference.md#language-limitation) | +| `product` | `create` | create a product | [Product Type](limitation_reference.md#product-type-limitation)
[Language](limitation_reference.md#language-limitation) | | | `delete` | delete a product | [Product Type](limitation_reference.md#product-type-limitation) | -| | `edit` | edit a product | [Product Type](limitation_reference.md#product-type-limitation)
[Language](limitation_reference.md#language-limitation) | +| | `edit` | edit a product | [Product Type](limitation_reference.md#product-type-limitation)
[Language](limitation_reference.md#language-limitation) | | | `view` | view products listed in the product catalog | [Product Type](limitation_reference.md#product-type-limitation) | !!! caution @@ -315,7 +315,7 @@ The [discount](discounts.md) policies decide which actions can be executed by gi | Module | Function | Effect | Possible limitations | |----------------------|-----------------------|--------------------------------------------------------------------------|----------------------| -| `product` | `share` | share products with internal and external users through [collaborative editing](collaborative_editing.md) |[Owner](limitation_reference.md#collaborative-editing-owner-limitation)
[PublicLink](limitation_reference.md#collaborative-editing-publiclink-limitation)
[Scope](limitation_reference.md#collaborative-editing-scope-limitation) | +| `product` | `share` | share products with internal and external users through [collaborative editing](collaborative_editing.md) |[Owner](limitation_reference.md#collaborative-editing-owner-limitation)
[PublicLink](limitation_reference.md#collaborative-editing-publiclink-limitation)
[Scope](limitation_reference.md#collaborative-editing-scope-limitation) | #### Product types diff --git a/docs/personalization/api_reference/recommendation_api.md b/docs/personalization/api_reference/recommendation_api.md index b51c794a9ed..26db678a1e2 100644 --- a/docs/personalization/api_reference/recommendation_api.md +++ b/docs/personalization/api_reference/recommendation_api.md @@ -242,7 +242,7 @@ The following HTTP response codes are used by the recommendation controller: |---|---| |200 OK|Request was processed successfully.| |304 Not Modified|Recommendation result wasn't modified since the time specified in the provided `If-Modified-Since` header.| -|400 Bad Request
414 Request-URI Too Long|Wrong request formatting. See response body for more information.| +|400 Bad Request
414 Request-URI Too Long|Wrong request formatting. See response body for more information.| |401 Unauthorized|Invalid authentication credentials.| |403 Forbidden|Access denied.| |404 Not Found|The requested element wasn't found. It could be customer ID (or "mandator ID"), model ID, or scenario ID.| diff --git a/docs/personalization/api_reference/tracking_api.md b/docs/personalization/api_reference/tracking_api.md index e02bba7f54c..40ca705208d 100644 --- a/docs/personalization/api_reference/tracking_api.md +++ b/docs/personalization/api_reference/tracking_api.md @@ -148,7 +148,7 @@ For a list of embedded parameters that each of the events may use, see the follo |`customerid`|A customer ID (for example "00000"). Can be used to identify a website in installations that [hosts multiple SiteAccesses]([[= user_doc =]]/personalization/use_cases/#multiple-website-hosting).|alphanumeric| |userid|A user's ID on the website of the customer. It could be an internal customer code, a session code or a cookie for anonymous users.|URL-encoded alphanumeric| |`itemtypeid`|Item type ID.|1 to 2147483647| -|`itemid`|A unique ID of the item the user has clicked.
String-based identifiers are also supported as item IDs to track content on a website, but it's discouraged due to fraud and security issues. If you're unable to provide numeric identifiers for the tracking process, contact [[= product_name_base =]] for further information and implementation notes.|1 to 2147483647| +|`itemid`|A unique ID of the item the user has clicked.
String-based identifiers are also supported as item IDs to track content on a website, but it's discouraged due to fraud and security issues. If you're unable to provide numeric identifiers for the tracking process, contact [[= product_name_base =]] for further information and implementation notes.|1 to 2147483647| |`sourceuserid`|User identifier valid up to now(usually some anonymous session ID)|URL-encoded alphanumeric| |`targetuserid`|User identifier valid from now on (usually an account ID or login name)|URL-encoded alphanumeric| @@ -235,7 +235,7 @@ Some optional request parameters can be set over query string parameters (GET pa |Name|Description|Values| |---|---|---| -|`categorypath`|The forward slash-separated path of categories of the item. Like all other parameters it must be URL-encoded, for example `%2FCameras%26Foto%2FCompact%20Cameras%2FCanon`.
For use cases, see [Category path filters]([[= user_doc =]]/personalization/filters/#category-path-filters) in User Documentation.|URL-encoded string.
Initial and trailing slashes are ignored: "/Cameras/" is the same as "Cameras".| +|`categorypath`|The forward slash-separated path of categories of the item. Like all other parameters it must be URL-encoded, for example `%2FCameras%26Foto%2FCompact%20Cameras%2FCanon`.
For use cases, see [Category path filters]([[= user_doc =]]/personalization/filters/#category-path-filters) in User Documentation.|URL-encoded string.
Initial and trailing slashes are ignored: "/Cameras/" is the same as "Cameras".| ### Consume event @@ -533,8 +533,8 @@ The following HTTP response codes are used by the event tracker.   |HTTP Status Code|Description| |---|---| -|200 OK
204 No Content|Request was successfully processed.| -|400 Bad Request
414 Request-URI Too Long|The request is wrongly formatted. See response body for more information.| +|200 OK
204 No Content|Request was successfully processed.| +|400 Bad Request
414 Request-URI Too Long|The request is wrongly formatted. See response body for more information.| |401 Unauthorized|Invalid authentication credentials.| |403 Forbidden|Access denied (not implemented yet).| |404 Not Found|The customer ID was not found. The event code was not found.| diff --git a/docs/personalization/legacy_recommendation_api.md b/docs/personalization/legacy_recommendation_api.md index 459a15f33da..4c267753b18 100644 --- a/docs/personalization/legacy_recommendation_api.md +++ b/docs/personalization/legacy_recommendation_api.md @@ -138,7 +138,7 @@ The Following HTTP response codes are used by the recommendation controller. |---|---| |200 OK|Request was successfully processed.| |304 Not Modified|Recommendation result was not modified since the time specified in the provided If-Modified-Since header.| -|400 Bad Request
414 Request-URI Too Long|The request is wrongly formatted. See response body for more information.| +|400 Bad Request
414 Request-URI Too Long|The request is wrongly formatted. See response body for more information.| |401 Unauthorized|Not valid authentication credentials.| |403 Forbidden|Access denied.| |404 Not Found|The requested element was not found. It can be, for example, customer ID (a.k.a. mandator ID), model ID, or scenario ID.| diff --git a/docs/templating/twig_function_reference/url_twig_functions.md b/docs/templating/twig_function_reference/url_twig_functions.md index 05a4e4b3016..136cf966eda 100644 --- a/docs/templating/twig_function_reference/url_twig_functions.md +++ b/docs/templating/twig_function_reference/url_twig_functions.md @@ -20,7 +20,7 @@ page_type: reference |Argument|Type|Description| |------|------|------| -|`name`|`string`
`Ibexa\Contracts\Core\Repository\Values\Content\Location`
`Ibexa\Contracts\Core\Repository\Values\Content\Content`
`Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo`
`Ibexa\Contracts\Core\Repository\Values\Content\Location`
`Ibexa\Core\MVC\Symfony\Routing\RouteReference`|The name of the route, location, or content.| +|`name`|`string`
`Ibexa\Contracts\Core\Repository\Values\Content\Location`
`Ibexa\Contracts\Core\Repository\Values\Content\Content`
`Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo`
`Ibexa\Contracts\Core\Repository\Values\Content\Location`
`Ibexa\Core\MVC\Symfony\Routing\RouteReference`|The name of the route, location, or content.| |`parameters`|`array`|Route parameters.| |`relative`|`boolean`|Whether to generate a relative path.| @@ -34,7 +34,7 @@ page_type: reference |Argument|Type|Description| |------|------|------| -|`name`|`string`
`Ibexa\Contracts\Core\Repository\Values\Content\Location`
`Ibexa\Contracts\Core\Repository\Values\Content\Content`
`Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo`
`Ibexa\Contracts\Core\Repository\Values\Content\Location`
`Ibexa\Core\MVC\Symfony\Routing\RouteReference`|The name of the route, location, or content.| +|`name`|`string`
`Ibexa\Contracts\Core\Repository\Values\Content\Location`
`Ibexa\Contracts\Core\Repository\Values\Content\Content`
`Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo`
`Ibexa\Contracts\Core\Repository\Values\Content\Location`
`Ibexa\Core\MVC\Symfony\Routing\RouteReference`|The name of the route, location, or content.| |`parameters`|`array`|Route parameters.| |`schemeRelative`|`boolean`|Whether to generate a relative URL.| @@ -62,7 +62,7 @@ For more information about the use of `ibexa.url.alias` as a parameter of the [S |Argument|Type|Description| |------|------|------| -|`resource`|`string`
`Ibexa\Contracts\Core\Repository\Values\Content\Location`
`Ibexa\Contracts\Core\Repository\Values\Content\Content`
`Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo`
`Ibexa\Contracts\Core\Repository\Values\Content\Location`
`Ibexa\Core\MVC\Symfony\Routing\RouteReference`|Resource or route name.| +|`resource`|`string`
`Ibexa\Contracts\Core\Repository\Values\Content\Location`
`Ibexa\Contracts\Core\Repository\Values\Content\Content`
`Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo`
`Ibexa\Contracts\Core\Repository\Values\Content\Location`
`Ibexa\Core\MVC\Symfony\Routing\RouteReference`|Resource or route name.| |`params`|`array`|Route parameters.| ``` html+twig diff --git a/docs/templating/urls_and_routes/custom_breadcrumbs.md b/docs/templating/urls_and_routes/custom_breadcrumbs.md index fb5513cea48..0c5254bc611 100644 --- a/docs/templating/urls_and_routes/custom_breadcrumbs.md +++ b/docs/templating/urls_and_routes/custom_breadcrumbs.md @@ -22,7 +22,7 @@ Both `breadcrumb_path` and `breadcrumb_names` must be configured for the breadcr |Option|Description| |--- |--- | |`breadcrumb_path`|Valid route identifier which exists in at least one of the routing YAML files.| -|`breadcrumb_names`|Name for the breadcrumb element. If the translation isn't set, there is a fallback to route translation.
In the example above if the `Blog List` key has no translation, the fallback key is custom_blog_index | breadcrumb.| +|`breadcrumb_names`|Name for the breadcrumb element. If the translation isn't set, there is a fallback to route translation.
In the example above if the `Blog List` key has no translation, the fallback key is custom_blog_index | breadcrumb.| ### Multi-part routes diff --git a/docs/templating/urls_and_routes/urls_and_routes.md b/docs/templating/urls_and_routes/urls_and_routes.md index d905f2191e1..4ec00ae01a4 100644 --- a/docs/templating/urls_and_routes/urls_and_routes.md +++ b/docs/templating/urls_and_routes/urls_and_routes.md @@ -89,14 +89,14 @@ The following built-in routes are available for the front of the website. |Route name|Path|Description| |---|---|---| | `ibexa.user.user_register` | `/user/register` | User registration form | -| `ibexa.user.register_confirmation`
`ibexa.user.user_register_confirmation` | `/register-confirm`
`/user/register-confirm` | Confirmation page after user registration | +| `ibexa.user.register_confirmation`
`ibexa.user.user_register_confirmation` | `/register-confirm`
`/user/register-confirm` | Confirmation page after user registration | ### Login |Route name|Path|Description| |---|---|---| |`login` | `/login` | [Login form](add_login_form.md) | -|`logout`
`ibexa.commerce.customer.logout` | `/logout`
`/profile/logout` | Logging out the current user | +|`logout`
`ibexa.commerce.customer.logout` | `/logout`
`/profile/logout` | Logging out the current user | ### Profile @@ -109,7 +109,7 @@ The following built-in routes are available for the front of the website. |Route name|Path|Description| |---|---|---| -| `ibexa.user_profile.change_password`
`ibexa.commerce.password_change` | `/user/change-password`
`/change_password` | Form for password change| +| `ibexa.user_profile.change_password`
`ibexa.commerce.password_change` | `/user/change-password`
`/change_password` | Form for password change| | `ibexa.user.forgot_password` | `/user/forgot-password` | [Form for password resetting](add_forgot_password_option.md) | | `ibexa.user.forgot_password.migration` | `/user/forgot-password/migration` | Form for resetting password after expiration| | `ibexa.user.forgot_password.login` | `/user/forgot-password/login` | Form for resetting password based on login instead of email address | diff --git a/docs/tutorials/page_and_form_tutorial/5_create_newsletter_form.md b/docs/tutorials/page_and_form_tutorial/5_create_newsletter_form.md index c9f9c59b7ef..7754fcf493c 100644 --- a/docs/tutorials/page_and_form_tutorial/5_create_newsletter_form.md +++ b/docs/tutorials/page_and_form_tutorial/5_create_newsletter_form.md @@ -21,10 +21,10 @@ In the Form Builder, add and configure (using the **Basic** and **Validation** t |-----|----|--------|---------------------| |Single line input|Name|yes|Minimum length = 3| |Single line input|Surname|no|Minimum length = 3| -|Dropdown|Select topic|yes|Options:
- News
- Tips
- Articles| +|Dropdown|Select topic|yes|Options:
- News
- Tips
- Articles| |Email|Email address|yes|—| |Captcha|CAPTCHA|—|—| -|Button|Sign up!|—|Action: Show a message
Message to display: Thank you!| +|Button|Sign up!|—|Action: Show a message
Message to display: Thank you!| The configuration should look like this: diff --git a/hooks/eol_status.py b/hooks/eol_status.py new file mode 100644 index 00000000000..5ff0e8d8d20 --- /dev/null +++ b/hooks/eol_status.py @@ -0,0 +1,19 @@ +import os + + +def on_config(config, **kwargs): + """Determine at build time whether this build is for an End-Of-Life version. + + Each version is built by RTD as its own separate build (one per branch/tag), + with READTHEDOCS_VERSION_NAME set to the version slug (matching the + ``extra.eol_versions`` entries, e.g. "2.5", "3.3"). Computing this here + lets the theme render the EOL warning only where it's actually true, + instead of always emitting it in the HTML and hiding it via JS/CSS + (which is present in the served page whether the visible warning applies + or not). + """ + current_version = os.environ.get("READTHEDOCS_VERSION_NAME", "") + eol_versions = config["extra"].get("eol_versions") or [] + config["extra"]["current_version_is_eol"] = current_version in eol_versions + + return config diff --git a/mkdocs.yml b/mkdocs.yml index 1ad95f03654..f0b06365c00 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -6,6 +6,8 @@ edit_uri: blob/5.0/docs site_url: https://doc.ibexa.co/en/latest/ hooks: - hooks/edit_uri.py + - hooks/eol_status.py + - hooks.py copyright: "Copyright 1999-2026 Ibexa AS and others" validation: omitted_files: warn @@ -990,7 +992,7 @@ nav: theme: name: material features: - - content.code.annotate + - content.code.annotate - content.code.copy - navigation.tracking - navigation.top @@ -1110,6 +1112,3 @@ markdown_extensions: custom_checkbox: true - pymdownx.tilde - pymdownx.details - -hooks: - - hooks.py diff --git a/plugins.yml b/plugins.yml index d5538126086..af7558c3fe6 100644 --- a/plugins.yml +++ b/plugins.yml @@ -596,7 +596,14 @@ plugins: - llmstxt: preprocess: llmstxt_preprocess.py + markdown_description: >- + Developer documentation for Ibexa DXP — architecture, APIs, templating, + and extensibility for building and customizing Ibexa DXP projects. + # Pin links in the generated Markdown (and llms.txt) to this branch's + # version instead of site_url's en/latest, without affecting the HTML + # site's canonical URLs. Update when branching a new version. + base_url: https://doc.ibexa.co/en/5.0/ autoclean: false full_output: llms-full.txt sections: diff --git a/tests/python/test_page_metadata.py b/tests/python/test_page_metadata.py index 5900b5c3634..a31fdef5018 100644 --- a/tests/python/test_page_metadata.py +++ b/tests/python/test_page_metadata.py @@ -5,38 +5,56 @@ ) +LLMS_TXT_LINE = "> For the complete documentation index, see [llms.txt](/llms.txt)." + + +def test_llms_txt_pointer_always_inserted_after_first_h1(): + content = "# Title\n\nBody text." + assert inject_page_metadata(content) == ( + f"# Title\n\n{LLMS_TXT_LINE}\n\nBody text." + ) + assert inject_page_metadata(content, description="", editions=[]) == ( + f"# Title\n\n{LLMS_TXT_LINE}\n\nBody text." + ) + + def test_editions_inserted_after_first_h1(): content = "# Title\n\nBody text." assert inject_page_metadata(content, editions=["Commerce"]) == ( - "# Title\n\nEditions: Commerce\n\nBody text." + f"# Title\n\n{LLMS_TXT_LINE}\n\nEditions: Commerce\n\nBody text." ) def test_description_inserted_after_first_h1(): content = "# Title\n\nBody text." assert inject_page_metadata(content, description="Configure the Storefront.") == ( - "# Title\n\nConfigure the Storefront.\n\nBody text." + f"# Title\n\n{LLMS_TXT_LINE}\n\nConfigure the Storefront.\n\nBody text." ) def test_description_comes_before_editions(): content = "# Title\n\nBody text." assert inject_page_metadata(content, description="A description.", editions=["Commerce"]) == ( - "# Title\n\nA description.\n\nEditions: Commerce\n\nBody text." + f"# Title\n\n{LLMS_TXT_LINE}\n\nA description.\n\nEditions: Commerce\n\nBody text." ) def test_prepended_when_no_h1(): content = "Body text." assert inject_page_metadata(content, description="A description.", editions=["Commerce"]) == ( - "A description.\n\nEditions: Commerce\n\nBody text." + f"{LLMS_TXT_LINE}\n\nA description.\n\nEditions: Commerce\n\nBody text." ) -def test_no_metadata_leaves_content_unchanged(): +def test_llms_txt_url_respects_nested_site_path(): + # A userguide-style project published under /projects/userguide/ has its + # own llms.txt there, not at the domain root. content = "# Title\n\nBody text." - assert inject_page_metadata(content) == content - assert inject_page_metadata(content, description="", editions=[]) == content + nested_line = "> For the complete documentation index, see [llms.txt](https://doc.ibexa.co/projects/userguide/en/5.0/llms.txt)." + result = inject_page_metadata( + content, llms_txt_url="https://doc.ibexa.co/projects/userguide/en/5.0/llms.txt" + ) + assert result == f"# Title\n\n{nested_line}\n\nBody text." def test_frontmatter_edition_string(): diff --git a/theme/main.html b/theme/main.html index cf88c5c920f..88a77332bbd 100644 --- a/theme/main.html +++ b/theme/main.html @@ -11,7 +11,6 @@ {% block extrahead %} - {% if config.repo_url and page.edit_url %} @@ -72,6 +71,11 @@ {% endfor %}
+
+ For AI agents: the complete documentation index is available at + llms.txt{% if page and not page.meta.exclude_from_llmstxt %}; this page is also available as + markdown at index.md{% endif %}. +
{% endif %} - {% include "partials/eol_warning.html" %} + {% if config.extra.current_version_is_eol %} + {% include "partials/eol_warning.html" %} + {% endif %}
{{ page.content }} diff --git a/theme/partials/eol_warning.html b/theme/partials/eol_warning.html index a5a6f2ecf07..94b9fa95436 100644 --- a/theme/partials/eol_warning.html +++ b/theme/partials/eol_warning.html @@ -1,4 +1,4 @@ - {% endblock %} From 7c5e7b6f9b0b4045253de5a9003123c44dd1816a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Fri, 17 Jul 2026 21:35:57 +0200 Subject: [PATCH 4/7] TEMP: Round 2 converter probes with link-rich content Co-Authored-By: Claude Fable 5 --- theme/main.html | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/theme/main.html b/theme/main.html index 745ea30d606..e0f5449c1cc 100644 --- a/theme/main.html +++ b/theme/main.html @@ -150,6 +150,16 @@
MARKER_DISPLAY_NONE
MARKER_ROLE_NAV
+
+ +
+ + + {% endif %} {% include "partials/tags.html" %} From 075868e1154ed8e5f9c428da0e49a82d890b1ae9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Fri, 17 Jul 2026 21:52:08 +0200 Subject: [PATCH 5/7] AFDocs: Keep sidebar nav out of agent-facing Markdown output HTML->Markdown converters used by AI agents (e.g. the one behind Read the Docs' 'Accept: text/markdown' content negotiation) skip
diff --git a/theme/partials/toc.html b/theme/partials/toc.html index b4e70672aa4..d0814e77554 100644 --- a/theme/partials/toc.html +++ b/theme/partials/toc.html @@ -1,5 +1,8 @@ {% import "partials/language.html" as lang with context %} -