Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .markdownlint-cli2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ config:
# ul-indent:
# indent: 4
# no-trailing-spaces: true
# no-multiple-blanks: true
# commands-show-output: true
no-multiple-blanks: true
commands-show-output: true

ignores:
- "docs/snippets/**"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{{ ibexa_render_field(content, 'title') }}

{{ ibexa_render_field(content, 'image', {
'template': '@ibexadesign/fields/image.html.twig',
'attr': {class: 'thumbnail-image'},
'parameters': {
'alias': 'small'
}
}) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{{ ibexa_render_field(product, 'name') }}

{{ ibexa_render_field(product, 'image', {
'template': '@ibexadesign/fields/image.html.twig',
'attr': {class: 'thumbnail-image'},
'parameters': {
'alias': 'small'
}
}) }}
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ At this point you can go to the back office and check the results.
This strategy overrides all generated thumbnails. You can specify a specific content type.
See the example [here](https://github.com/ibexa/user/blob/main/src/lib/Strategy/DefaultThumbnailStrategy.php)


## Other fields as thumbnails

Any field type can generate a thumbnail, for example:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,6 @@ The table component consists of the following blocks:
- `thead` - table header content
- `tbody` - table body content


### Override specific cell

For the `twig` table component to have full control over rendering the rows of specific cells, only data are passed to it.
Expand Down Expand Up @@ -251,7 +250,6 @@ See the example:

- `empty_table_info_text` and `empty_table_action_text` specify texts which are displayed when the table is empty.


```html+twig
{{ form_start(form_remove, {
action: path('ibexa.article.remove'),
Expand Down
2 changes: 0 additions & 2 deletions docs/administration/back_office/content_tab_switcher.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ ibexa:

![Meta tab](tab_switcher.png)


### Configure field groups for Meta tab

The default configuration makes the `ibexa_taxonomy_entry_assignment` field always visible in the Meta tab in the content form.
Expand Down Expand Up @@ -66,7 +65,6 @@ ibexa:
meta_field_groups_list: []
```
The `meta_field_groups_list` configuration can be overridden.

## Add custom tab
Expand Down
1 change: 0 additions & 1 deletion docs/administration/project_organization/bundles.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,6 @@ To remove a bundle (either one you created yourself, or an out-of-the-box one th
|ibexa/site-factory|Enables configuration of sites from UI|
|ibexa/engage|Enables integration with [Qualifio Engage platform](https://developers.qualifio.com/docs/engage/)|


## [[= product_name_com =]] packages

|Bundle|Description|
Expand Down
1 change: 0 additions & 1 deletion docs/ai_actions/ai_actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,3 @@ You can also extend it to perform other tasks or support additional AI services.
"search/ai_actions_search_reference/action_configuration_sort_clauses",
("content_management/data_migration/importing_data#ai-action-configurations", "Importing AI actions", "Learn how to manage Action Configurations using data migrations"),
], columns=4) =]]

3 changes: 0 additions & 3 deletions docs/ai_actions/extend_ai_actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,6 @@ The Action Handler and Action Type options are rendered in the back office using

![Custom Action Handler options rendered using the default Twig options formatter](img/action_handler_options.png "Custom Action Handler options rendered using the default Twig options formatter")


You can create your own formatting by creating a class implementing the [OptionsFormatterInterface](/api/php_api/php_api_reference/classes/Ibexa-Contracts-ConnectorAi-ActionConfiguration-OptionsFormatterInterface.html) interface and aliasing it to `Ibexa\Contracts\ConnectorAi\ActionConfiguration\OptionsFormatterInterface`.

The following service definition switches the options rendering to the other built-in options formatter, displaying the options as JSON.
Expand Down Expand Up @@ -288,7 +287,6 @@ The resolver is activated when `application/vnd.ibexa.api.ai.AudioText` media ty

- A visitor converting the response value object into a serialized REST response:


``` php
[[= include_file('code_samples/ai_actions/src/AI/REST/Output/ValueObjectVisitor/AudioText.php') =]]
```
Expand Down Expand Up @@ -325,7 +323,6 @@ The last step in fully integrating the Transcribe Audio Action Type embeds it di
Extend the default editing template of the `ibexa_binaryfile` fieldtype by creating a new file called `templates/themes/admin/admin/ui/fieldtype/edit/form_fields_binary_ai.html.twig`.
This template embeds the AI component, but only if a dedicated `transcript` field (of `ibexa_text` type) is available in the same content type to store the content of the transcription.


``` twig
[[= include_file('code_samples/ai_actions/templates/themes/admin/admin/ui/fieldtype/edit/form_fields_binary_ai.html.twig') =]]
```
Expand Down
1 change: 0 additions & 1 deletion docs/api/php_api/php_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ For instance, `ContentInfo` contains `currentVersionNo` or `remoteId`, while `Co

Serialization of value objects, for example, `Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` / `Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` or `Ibexa\Contracts\Core\Repository\Values\Content\Location` results in memory limit exceeded error.


## Authentication

One of the responsibilities of the repository is user authentication.
Expand Down
1 change: 0 additions & 1 deletion docs/commerce/payment/payum_integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ When you implement the online payment solution, take the following consideration
- When you modify the payment process, you may need to subscribe to events dispatched by Payum.
For a list of events, see [Event dispatcher](https://github.com/Payum/Payum/blob/master/docs/event-dispatcher.md) in Payum documentation.


!!! caution

In certain cases, depending on the payment processing service, when a customer closes the payment page in a browser and the bank has not processed the payment yet, the payment status can remain unchanged.
Expand Down
1 change: 0 additions & 1 deletion docs/commerce/shipping_management/shipment_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ To update shipment information, use the `ShipmentService::updateShipment` method

To delete a shipment from the system, use the `ShipmentService::deleteShipment` method:


``` php
[[= include_file('code_samples/api/commerce/src/Command/ShipmentCommand.php', 118, 119) =]]
```
2 changes: 0 additions & 2 deletions docs/commerce/storefront/configure_storefront.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ ibexa:

3\. Specific catalog for the defined customer group


You can expose different catalogs based on a customer group assigned to the current user.

To do it, provide the following configuration:
Expand All @@ -64,7 +63,6 @@ The basic configuration of the Storefront can look as follows:

## Retrieve catalog assigned to user


The `\Ibexa\Contracts\Storefront\Repository\CatalogResolverInterface` interface allows retrieving the product catalog available for a specific user.

```php
Expand Down
3 changes: 0 additions & 3 deletions docs/commerce/transactional_emails/transactional_emails.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ ibexa:
entity: <entity_name>
```


4\. Define profile table in Actito database for storing notification attributes.

!!! note
Expand All @@ -79,11 +78,9 @@ For a complete list of parameters, see [Transactional email variables reference]

When you invent names for your campaigns, keep them simple, and don't use special characters or spaces.


Campaign emails can be sent in one language only.
To send emails in different languages, for example, because your application serves end-users from different locales, for each notification and language pair, you must create a separate campaign and [extend the solution to support that](extend_transactional_emails.md#send-emails-in-language-of-commerce-presence).


### Configure mapping

After you create and configure campaigns in Actito user interface, one for each type of notifications coming from [[= product_name =]], in YAML configuration files, under the `ibexa.system.default.connector_actito.campaign_mapping` key, you define mappings between notifications and email campaigns, for example:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,6 @@ The following settings are available:
- session:
- `public_link_enabled` - determines whether the public link is available, default value: `false`, available values: `true`, `false`


#### `ibexa/share` configuration

To share content model, you need to configure the `ibexa/share` package.
Expand Down
1 change: 0 additions & 1 deletion docs/content_management/content_api/managing_content.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,6 @@ When constructing a `ContentTypeQuery`, you can pass the following parameters:

- `int $limit = 25` — maximum number of results to return


## Calendar events

You can handle the calendar using `CalendarServiceInterface` (`Ibexa\Contracts\Calendar\CalendarServiceInterface`).
Expand Down
1 change: 0 additions & 1 deletion docs/content_management/data_migration/importing_data.md
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,6 @@ If the content type associated with the tags is changed, the configuration shoul
!!! note
If there are multiple taxonomies, the `taxonomy` field is then necessary here (line 21).


You can use the following example to assign tags to a Content (content type Article has an additional field):

``` yaml
Expand Down
1 change: 0 additions & 1 deletion docs/content_management/field_types/field_type_storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,6 @@ services:

The `ibexa.api.storage_engine.legacy.connection` is of type `Doctrine\DBAL\Connection`. If your gateway still uses an implementation of `eZ\Publish\Core\Persistence\Database\DatabaseHandler` (`eZ\Publish\Core\Persistence\Doctrine\ConnectionHandler`), instead of the `ibexa.api.storage_engine.legacy.connection`, you can pass the `ibexa.api.storage_engine.legacy.dbhandler` service.


Also there can be several gateways per field type (one per storage engine).
In this case it's recommended to either create base implementation which each gateway can inherit or create interface which each gateway must implement and reference it instead of specific implementation when type-hinting method arguments.

Expand Down
1 change: 0 additions & 1 deletion docs/content_management/field_types/form_and_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,6 @@ you need to define a template containing a block for the field.

By convention, your block must be named `<fieldTypeIdentifier>_field`.


!!! tip

Template blocks for built-in field types are available in [`Core/Resources/views/content_fields.html.twig`](https://github.com/ibexa/core/blob/main/src/bundle/Core/Resources/views/content_fields.html.twig).
Expand Down
1 change: 0 additions & 1 deletion docs/content_management/file_management/file_management.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,6 @@ Default values:
service: ibexa.io.nfs.adapter.site_access_aware
```


### Native Flysystem v2 handler

[[= product_name =]] uses it as the default way to read and write content in form of binary files.
Expand Down
1 change: 0 additions & 1 deletion docs/content_management/images/add_image_asset_from_dam.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,6 @@ The `commons_search_tab` service uses the `GenericSearchTab` class as a base, an
It is linked to the `commons` DAM source and uses the identifier `commons`.
The DAM search tab is registered in the `connector-dam-search` [tab group](back_office_tabs.md#tab-groups) using the `ibexa.admin_ui.tab` tag.


```yaml
[[= include_file('code_samples/back_office/images/config/services.yaml', 22, 33) =]]
```
Expand Down
1 change: 0 additions & 1 deletion docs/content_management/pages/create_custom_page_block.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ The following UDW configuration is used with the `udw_config_name` key so only a

For more information, see [UDW configuration](browser.md#udw-configuration).


## Add block templates

A block can have different templates that you select when adding it to a page.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ In line 32, `my_block` is the same name of the block that you defined in line 3
Line 32 also implements the `PreRender` method.
Lines 41-51 handle the conversion of content into an XML string:


``` php hl_lines="32 41 42 43 44 45 46 47 48 49 50 51"
[[= include_file('code_samples/back_office/online_editor/src/event/subscriber/RichTextBlockSubscriber.php') =]]
```
Expand Down Expand Up @@ -65,7 +64,6 @@ services:
- { name: kernel.event_subscriber }
```


You have successfully created a custom RichText block.
You can now add your block in the **Site** tab.

Expand Down
3 changes: 0 additions & 3 deletions docs/content_management/url_management/url_management.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ Edit the entry to update the URL address in all the occurrences throughout the w

When you edit the details of an entry to update the URL address, the status automatically changes to valid.


## External URL validation

You can validate all the addresses from the URL table by executing the `ibexa:check-urls` command.
Expand Down Expand Up @@ -202,7 +201,6 @@ Use it when:

Before you apply the command, back up your database and make sure it's not modified while the command is running.


Execute the following command to regenerate aliases:

``` bash
Expand Down Expand Up @@ -244,7 +242,6 @@ The **URL wildcards** tab contains all the information about each URL wildcard.
To be able to modify wildcard support settings in the user interface, you must have the `content/urltranslator` policy.
For more information about permissions, see [Permissions](permissions.md).


### Configuring URL wildcards with the public PHP API

You can create URL wildcards with the public PHP API by using the `URLWildcardService` service:
Expand Down
1 change: 0 additions & 1 deletion docs/customer_management/cp_configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ ibexa_corporate_account:

If you decide to change deafult names of content types, during migration you have to adjust files accordingly.


## Registration

You can define what fields are required in the Customer Portal registration form.
Expand Down
1 change: 0 additions & 1 deletion docs/getting_started/install_with_ddev.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,6 @@ DDEV offers several ways to get the same result, offering different levels of fl

Learn more about DDEV configuration from [`ddev config` command documentation](https://ddev.readthedocs.io/en/latest/users/usage/commands/#config) and [advanced configuration files documentation](https://ddev.readthedocs.io/en/latest/users/configuration/config/).


### Using `auth.json`

An `auth.json` file can be used for one project, or globally for all projects, with the [DDEV `homeaddition` feature](https://ddev.readthedocs.io/en/latest/users/extend/in-container-configuration/).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,6 @@ In the event when a new version of `Child` is published, the following keys are
In summary, HTTP Cache for any location representing `[Child]`, any Content that relates to the Content `[Child]`, the location for `[Child]`, any children of `[Child]`, any location that relates to the location `[Child]`, location for `[Parent1]`, any children on `[Parent1]`.
Effectively, in this example HTTP cache for `[Parent1]` and `[Child]` is cleared.


### Tags purged on move event

With the same content structure as above, the `[Child]` location is moved below `[Parent2]`.
Expand Down Expand Up @@ -430,7 +429,7 @@ To simulate the requests the HTTP cache sends to [[= product_name =]], you need
To obtain it, use `curl`.

```bash
$ curl -IXGET --resolve www.staging.foobar.com.us-2.platformsh.site:443:1.2.3.4 --header "Surrogate-Capability: abc=ESI/1.0" --header "accept: application/vnd.fos.user-context-hash" --header "x-fos-original-url: /" https://www.staging.foobar.com.us-2.platformsh.site/_fos_user_context_hash
curl -IXGET --resolve www.staging.foobar.com.us-2.platformsh.site:443:1.2.3.4 --header "Surrogate-Capability: abc=ESI/1.0" --header "accept: application/vnd.fos.user-context-hash" --header "x-fos-original-url: /" https://www.staging.foobar.com.us-2.platformsh.site/_fos_user_context_hash
```

Some notes about each of these parameters:
Expand Down Expand Up @@ -473,7 +472,7 @@ The header `X-User-Context-Hash` is the one of the interest here, but you may al
Now you have the user-context-hash, and you can ask origin for the actual resource you're after:

```bash
$ curl -IXGET --resolve www.staging.foobar.com.us-2.platformsh.site:443:1.2.3.4 --header "Surrogate-Capability: abc=ESI/1.0" --header "x-user-context-hash: daea248406c0043e62997b37292bf93a8c91434e8661484983408897acd93814" https://www.staging.foobar.com.us-2.platformsh.site/
curl -IXGET --resolve www.staging.foobar.com.us-2.platformsh.site:443:1.2.3.4 --header "Surrogate-Capability: abc=ESI/1.0" --header "x-user-context-hash: daea248406c0043e62997b37292bf93a8c91434e8661484983408897acd93814" https://www.staging.foobar.com.us-2.platformsh.site/
```

The output :
Expand Down Expand Up @@ -507,7 +506,7 @@ So, first let's see if there are any ESIs here.
We remove the `-IXGET` options (to see content of the response, not only headers) to curl and search for esi:

```bash
$ curl --resolve www.staging.foobar.com.us-2.platformsh.site:443:1.2.3.4 --header "Surrogate-Capability: abc=ESI/1.0" --header "x-user-context-hash: daea248406c0043e62997b37292bf93a8c91434e8661484983408897acd93814" https://www.staging.foobar.com.us-2.platformsh.site/ | grep esi
curl --resolve www.staging.foobar.com.us-2.platformsh.site:443:1.2.3.4 --header "Surrogate-Capability: abc=ESI/1.0" --header "x-user-context-hash: daea248406c0043e62997b37292bf93a8c91434e8661484983408897acd93814" https://www.staging.foobar.com.us-2.platformsh.site/ | grep esi
```

The output is:
Expand All @@ -524,7 +523,7 @@ It's important to put that URL in single quotes as the URLS to the ESIs include
#### 1st&nbsp;ESI

```bash
$ curl -IXGET --resolve www.staging.foobar.com.us-2.platformsh.site:443:1.2.3.4 --header "Surrogate-Capability: abc=ESI/1.0" --header "x-user-context-hash: daea248406c0043e62997b37292bf93a8c91434e8661484983408897acd93814" 'https://www.staging.foobar.com.us-2.platformsh.site/_fragment?_hash=B%2BLUWB2kxTCc6nc5aEEn0eEqBSFar%2Br6jNm8fvSKdWU%3D&_path=locationId%3D2%26contentId%3D52%26blockId%3D11%26versionNo%3D3%26languageCode%3Deng-GB%26serialized_siteaccess%3D%257B%2522name%2522%253A%2522site%2522%252C%2522matchingType%2522%253A%2522default%2522%252C%2522matcher%2522%253Anull%252C%2522provider%2522%253Anull%257D%26serialized_siteaccess_matcher%3Dnull%26_format%3Dhtml%26_locale%3Den_GB%26_controller%3DEzSystems%255CEzPlatformPageFieldTypeBundle%255CController%255CBlockController%253A%253ArenderAction'
curl -IXGET --resolve www.staging.foobar.com.us-2.platformsh.site:443:1.2.3.4 --header "Surrogate-Capability: abc=ESI/1.0" --header "x-user-context-hash: daea248406c0043e62997b37292bf93a8c91434e8661484983408897acd93814" 'https://www.staging.foobar.com.us-2.platformsh.site/_fragment?_hash=B%2BLUWB2kxTCc6nc5aEEn0eEqBSFar%2Br6jNm8fvSKdWU%3D&_path=locationId%3D2%26contentId%3D52%26blockId%3D11%26versionNo%3D3%26languageCode%3Deng-GB%26serialized_siteaccess%3D%257B%2522name%2522%253A%2522site%2522%252C%2522matchingType%2522%253A%2522default%2522%252C%2522matcher%2522%253Anull%252C%2522provider%2522%253Anull%257D%26serialized_siteaccess_matcher%3Dnull%26_format%3Dhtml%26_locale%3Den_GB%26_controller%3DEzSystems%255CEzPlatformPageFieldTypeBundle%255CController%255CBlockController%253A%253ArenderAction'
```

This ESI is handled by a controller in the `FieldTypePage` bundle provided by [[= product_name =]].
Expand Down Expand Up @@ -552,7 +551,7 @@ The second ESI has a similar response.
#### 3rd&nbsp;ESI

```bash
$ curl -IXGET --resolve www.staging.foobar.com.us-2.platformsh.site:443:1.2.3.4 --header "Surrogate-Capability: abc=ESI/1.0" --header "x-user-context-hash: daea248406c0043e62997b37292bf93a8c91434e8661484983408897acd93814" 'https://www.staging.foobar.com.us-2.platformsh.site//_fragment?_hash=lnKTnmv6bb1XpaMPWRjV3sNazbn9rDXskhjGae1BDw8%3D&_path=locationId%3D2%26contentId%3D52%26blockId%3D13%26versionNo%3D3%26languageCode%3Deng-GB%26serialized_siteaccess%3D%257B%2522name%2522%253A%2522site%2522%252C%2522matchingType%2522%253A%2522default%2522%252C%2522matcher%2522%253Anull%252C%2522provider%2522%253Anull%257D%26serialized_siteaccess_matcher%3Dnull%26_format%3Dhtml%26_locale%3Den_GB%26_controller%3DEzSystems%255CCustomBundle%255CController%255CFooController%253A%253AcustomAction'
curl -IXGET --resolve www.staging.foobar.com.us-2.platformsh.site:443:1.2.3.4 --header "Surrogate-Capability: abc=ESI/1.0" --header "x-user-context-hash: daea248406c0043e62997b37292bf93a8c91434e8661484983408897acd93814" 'https://www.staging.foobar.com.us-2.platformsh.site//_fragment?_hash=lnKTnmv6bb1XpaMPWRjV3sNazbn9rDXskhjGae1BDw8%3D&_path=locationId%3D2%26contentId%3D52%26blockId%3D13%26versionNo%3D3%26languageCode%3Deng-GB%26serialized_siteaccess%3D%257B%2522name%2522%253A%2522site%2522%252C%2522matchingType%2522%253A%2522default%2522%252C%2522matcher%2522%253Anull%252C%2522provider%2522%253Anull%257D%26serialized_siteaccess_matcher%3Dnull%26_format%3Dhtml%26_locale%3Den_GB%26_controller%3DEzSystems%255CCustomBundle%255CController%255CFooController%253A%253AcustomAction'
```

This ESI is handled by a custom `FooController::customAction` and the output of the command is:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,6 @@ Last edited (UTC): 2023-07-03 10:33

In the example above, the ID is `ltC6Rg4pqw4qaNKF5tEW`.


### Create record in dictionary

Add username and password to the dictionary:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,6 @@ ibexa:
binarydata_handler: nfs
```


!!! tip

If you're looking to [set up S3](clustering_with_aws_s3.md) or other [Flysystem](https://flysystem.thephpleague.com/docs/)/third-party adapters like Google Cloud Storage, this needs to be configured as binary handler.
Expand Down
Loading
Loading