Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
b943def
Renaming - part one
mnocon Feb 6, 2026
8ad264f
Current status
mnocon Mar 11, 2026
2f0ee41
Merge remote-tracking branch 'origin/5.0' into quable
mnocon Mar 11, 2026
9263e01
Install doc ready?
mnocon Mar 12, 2026
aebdc8b
Fixed build
mnocon Mar 12, 2026
78fc195
Configuration doc
mnocon Mar 12, 2026
934d977
Removed Quable other
mnocon Mar 12, 2026
0284c83
Added product guide skeleton
mnocon Mar 12, 2026
63d6a50
Guide
mnocon Mar 30, 2026
3f6e3ec
Current status
mnocon Mar 30, 2026
cb63487
Customize product embeds
mnocon Mar 30, 2026
157754b
Added missing search doc
mnocon Mar 30, 2026
732b814
Attribute rendering
mnocon Mar 31, 2026
f786268
Provided a list of attributes
mnocon Mar 31, 2026
dbf388b
Fixed mkdocs build
mnocon Mar 31, 2026
95954fe
Merge remote-tracking branch 'origin/5.0' into quable
mnocon Mar 31, 2026
8ae74ff
Self review
mnocon Mar 31, 2026
dd160ce
Added product code limitatin
mnocon Mar 31, 2026
bf0443e
Fix typos
mnocon Mar 31, 2026
38aaf30
Removed asset mentions
mnocon Mar 31, 2026
b590eaf
Merge remote-tracking branch 'origin/5.0' into quable
mnocon Mar 31, 2026
4e13ffe
Self review
mnocon Mar 31, 2026
a061289
Selfreview done
mnocon Mar 31, 2026
ef59a79
Apply suggestion from @mnocon
mnocon Mar 31, 2026
811d582
Fixed table rendering
mnocon Mar 31, 2026
20c96ae
Added Quable API
mnocon Apr 1, 2026
6cac882
Removed Quable client package
mnocon Apr 9, 2026
4cb2c98
Adrien's review
mnocon Apr 9, 2026
77c29dd
After review
mnocon Apr 10, 2026
349697b
Apply suggestions from code review
mnocon Apr 14, 2026
6c752d9
Review changes
mnocon Apr 14, 2026
4979163
Update docs/product_catalog/quable/install_quable.md
mnocon Apr 14, 2026
5979b33
Update docs/product_catalog/add_remote_pim_support.md
mnocon Apr 14, 2026
a97468e
Update docs/product_catalog/customize_product_embed_templates.md
mnocon Apr 14, 2026
1fe8ba5
Manual changes
mnocon Apr 14, 2026
8110997
Apply suggestions from code review
mnocon Apr 14, 2026
2f8f4cc
Manual review feedback
mnocon Apr 14, 2026
997d89c
Added doc for language configuration (#3128)
mnocon Apr 14, 2026
0deccea
Merge remote-tracking branch 'origin/release-5.0.7' into quable
mnocon Apr 14, 2026
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?php declare(strict_types=1);

use Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery;
use Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductCategorySubtree;

$taxonomyEntryId = 42;
$criteria = new ProductCategorySubtree($taxonomyEntryId);

/** @var \Ibexa\Contracts\ProductCatalog\ProductServiceInterface $productService */
$productQuery = new ProductQuery();
$productQuery->setQuery($criteria);
$results = $productService->findProducts($productQuery);
16 changes: 16 additions & 0 deletions code_samples/back_office/search/src/Query/UpdatedAtQuery.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php declare(strict_types=1);

use DateTimeImmutable;
use Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery;
use Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\Operator;
use Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\UpdatedAt;

$criteria = new UpdatedAt(
new DateTimeImmutable('2023-03-01'),
Operator::GTE,
);

/** @var \Ibexa\Contracts\ProductCatalog\ProductServiceInterface $productService */
$productQuery = new ProductQuery();
$productQuery->setQuery($criteria);
$results = $productService->findProducts($productQuery);
15 changes: 15 additions & 0 deletions code_samples/back_office/search/src/Query/UpdatedAtRangeQuery.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php declare(strict_types=1);

use DateTimeImmutable;
use Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery;
use Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\UpdatedAtRange;

$criteria = new UpdatedAtRange(
new DateTimeImmutable('2020-07-10T00:00:00+00:00'),
new DateTimeImmutable('2023-07-12T00:00:00+00:00'),
);

/** @var \Ibexa\Contracts\ProductCatalog\ProductServiceInterface $productService */
$productQuery = new ProductQuery();
$productQuery->setQuery($criteria);
$results = $productService->findProducts($productQuery);
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php declare(strict_types=1);

namespace App\EventSubscriber;

use Ibexa\Contracts\ProductCatalog\Events\ProductAttributeRenderEvent;
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;

final readonly class MyAttributeRenderSubscriber
{
#[AsEventListener]
public function onAttributeRender(ProductAttributeRenderEvent $event): void
{
$event->addTemplateBefore(
'templates/product/attributes/integer_attribute.html.twig',
'@ibexadesign/product_catalog/product/attributes/attribute_blocks.html.twig',
);
}
}
3 changes: 2 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,9 @@
"ibexa/messenger": "~5.0.x-dev",
"ibexa/collaboration": "~5.0.x-dev",
"ibexa/share": "~5.0.x-dev",
"ibexa/shopping-list": "~5.0.x-dev",
"ibexa/phpstan": "~5.0.-dev",
"ibexa/connector-quable": "5.0.x-dev",
"ibexa/shopping-list": "~5.0.x-dev",
"deptrac/deptrac": "^3.0",
"ibexa/cdp": "~5.0.x-dev",
"ibexa/connector-raptor": "~5.0.x-dev",
Expand Down
2 changes: 1 addition & 1 deletion docs/ai_actions/ai_actions_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ Instead of manually browsing through extensive taxonomy trees, editors can reque

### Performing advanced image to text analysis

With some additional customization, store managers could benefit from automating part of product management by integrating their [[= product_name =]] with Google Cloud Vision and [PIM](pim_guide.md) by using [[= product_name_connect =]].
With some additional customization, store managers could benefit from automating part of product management by integrating their [[= product_name =]] with Google Cloud Vision and the [product catalog](product_catalog_guide.md) by using [[= product_name_connect =]].
Instead of manually selecting and linking images stored in a [DAM](add_image_asset_from_dam.md) solution to their products, they could use of a no-code workflow where an AI service, for example, Google Cloud Vision, extracts text and attributes from product images, which are then matched with existing items in a product catalog.

This would enable automatic product identification, tagging, and catalog updates, resulting in less manual work and more efficient product management.
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
---
description: Events that are triggered when working with products, prices and currencies.
description: Events that are triggered when working with products, prices, currencies, and attribute rendering.

Check notice on line 2 in docs/api/event_reference/product_catalog_events.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/api/event_reference/product_catalog_events.md#L2

[Ibexa.Passive] Try to avoid passive tense, when possible.
Raw output
{"message": "[Ibexa.Passive] Try to avoid passive tense, when possible.", "location": {"path": "docs/api/event_reference/product_catalog_events.md", "range": {"start": {"line": 2, "column": 26}}}, "severity": "INFO"}
page_type: reference
month_change: true
---

# Catalog events
# Product catalog events

## Products

Expand Down Expand Up @@ -84,3 +85,13 @@
|`CreateCatalogEvent`|`CatalogService::createCatalog`|`CatalogCreateStruct $createStruct`</br>`CatalogInterface $catalog`|
|`DeleteCatalogEvent`|`CatalogService::deleteCatalog`|`CatalogInterface $catalog`|
|`UpdateCatalogEvent`|`CatalogService::updateCatalog`|`CatalogUpdateStruct $updateStruct`|

## Attribute rendering

The following event is dispatched when the [`ibexa_format_product_attribute`](product_twig_functions.md#ibexa_format_product_attribute) Twig filter renders an attribute value.

Check notice on line 91 in docs/api/event_reference/product_catalog_events.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/api/event_reference/product_catalog_events.md#L91

[Ibexa.Passive] Try to avoid passive tense, when possible.
Raw output
{"message": "[Ibexa.Passive] Try to avoid passive tense, when possible.", "location": {"path": "docs/api/event_reference/product_catalog_events.md", "range": {"start": {"line": 91, "column": 21}}}, "severity": "INFO"}

Check failure on line 91 in docs/api/event_reference/product_catalog_events.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/api/event_reference/product_catalog_events.md#L91

[Ibexa.Spellcheck] Did you really mean 'ibexa_format_product_attribute'?
Raw output
{"message": "[Ibexa.Spellcheck] Did you really mean 'ibexa_format_product_attribute'?", "location": {"path": "docs/api/event_reference/product_catalog_events.md", "range": {"start": {"line": 91, "column": 105}}}, "severity": "ERROR"}

| Event | Dispatched by | Properties |
|---|---|---|
|`ProductAttributeRenderEvent`|`ibexa_format_product_attribute` Twig filter|`list<string> $templates`</br>[`AttributeInterface`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-Values-AttributeInterface.html)</br>`array $parameters`|

For a usage example, see [Customize product attribute templates](customize_product_attribute_templates.md).
4 changes: 2 additions & 2 deletions docs/content_management/content_model.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,6 @@ A new version is also created when a new [language](languages.md) is added to th

## Products

Products are a special type of content that holds products you can manage in the built-in PIM system.
Products are a special type of content that holds products you can manage with the product catalog capabilities.

For more information, see [PIM](pim.md).
For more information, see [Product catalog](../product_catalog/product_catalog.md).
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ month_change: false
# Product specification field type

This field represents and handles [product attributes](products.md#product-attributes) and [VAT](prices.md#vat).
Consider it as internal to the [PIM](pim.md).
Consider it as internal to the [product catalog](product_catalog.md).

| Name | Internal name | Expected input |
|------------------------|-------------------------------|----------------|
Expand Down
11 changes: 10 additions & 1 deletion docs/content_management/rich_text/online_editor_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@

### Plugins

Because Online Editor is based on CKEditor 5, you can use CKEditor's capabilities to [create plugins](extend_online_editor.md#add-ckeditor-plugins) for the editor.
Online Editor is based on CKEditor 5, and you can use CKEditor's capabilities to [create plugins](extend_online_editor.md#add-ckeditor-plugins) for the editor.

Check notice on line 80 in docs/content_management/rich_text/online_editor_guide.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/content_management/rich_text/online_editor_guide.md#L80

[Ibexa.Passive] Try to avoid passive tense, when possible.
Raw output
{"message": "[Ibexa.Passive] Try to avoid passive tense, when possible.", "location": {"path": "docs/content_management/rich_text/online_editor_guide.md", "range": {"start": {"line": 80, "column": 15}}}, "severity": "INFO"}

Check notice on line 80 in docs/content_management/rich_text/online_editor_guide.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/content_management/rich_text/online_editor_guide.md#L80

[Ibexa.Numerals] Spell out numbers until 10.
Raw output
{"message": "[Ibexa.Numerals] Spell out numbers until 10.", "location": {"path": "docs/content_management/rich_text/online_editor_guide.md", "range": {"start": {"line": 80, "column": 35}}}, "severity": "INFO"}

## Benefits

Expand Down Expand Up @@ -112,6 +112,15 @@

Refer to [Extend Online Editor](extend_online_editor.md#link-tag) for a similar use case.

### Product marketing campaigns

With the Online Editor, editors can embed products from the product catalog directly into RichText fields.
Products can be embedded as block-level or inline elements.

Check notice on line 118 in docs/content_management/rich_text/online_editor_guide.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/content_management/rich_text/online_editor_guide.md#L118

[Ibexa.Passive] Try to avoid passive tense, when possible.
Raw output
{"message": "[Ibexa.Passive] Try to avoid passive tense, when possible.", "location": {"path": "docs/content_management/rich_text/online_editor_guide.md", "range": {"start": {"line": 118, "column": 14}}}, "severity": "INFO"}

You can use it to weave marketing content around your product data, showcasing your product capabilities and bringing it closer to your customers.

See [Embed products in content](products.md#embed-products-in-content) for details.

### Embed external resources

Custom tags allow embedding content from external resources inside RichText fields.
Expand Down
6 changes: 3 additions & 3 deletions docs/discounts/discounts_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
- **Fixed amount** - where a specified amount of money, for example, 5 Euro, is deducted from the base price of the product
- **Percentage** - where a specified percentage, for example, 10%, is used to calculate the deducted amount from the product's base price

Discounts are translatable and you can limit them to specific [regions](pim_guide.md#regions) or a single currency.
Discounts are translatable and you can limit them to specific [regions](product_catalog_guide.md#regions) or a single currency.
They can be permanent or be active only in a specified time frame.
Regardless of the specified dates, you can disable a discount at any time to prevent customers from using it.

Expand All @@ -86,10 +86,10 @@

#### Product selection

All products, including [product variants](pim_guide.md#product-variants), can be selected when creating a discount.
All products, including [product variants](product_catalog_guide.md#product-variants), can be selected when creating a discount.

Check notice on line 89 in docs/discounts/discounts_guide.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/discounts/discounts_guide.md#L89

[Ibexa.Passive] Try to avoid passive tense, when possible.
Raw output
{"message": "[Ibexa.Passive] Try to avoid passive tense, when possible.", "location": {"path": "docs/discounts/discounts_guide.md", "range": {"start": {"line": 89, "column": 92}}}, "severity": "INFO"}
You can also limit this choice to a subset of products:

- belonging to selected [product categories](pim_guide.md#product-categories)
- belonging to selected [product categories](product_catalog_guide.md#product-categories)
- hand-picked manually for special cases

#### Conditions
Expand Down
2 changes: 1 addition & 1 deletion docs/discounts/extend_discounts.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ You can also [create your own](#custom-expressions).
| Type | Name | Value | Available for |
| --- | --- | --- | --- |
| Function | `get_current_region()` | [Region object](/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-Values-RegionInterface.html) of the current siteaccess.| Conditions, rules |
| Function | `is_in_category()` | `true/false`, depending if a product belongs to given [product categories](pim_guide.md#product-categories).| Conditions, rules |
| Function | `is_in_category()` | `true/false`, depending if a product belongs to given [product categories](product_catalog_guide.md#product-categories).| Conditions, rules |
| Function | `is_user_in_customer_group()` | `true/false`, depending if an user belongs to given [customer groups](customer_groups.md). | Conditions, rules |
| Function | `calculate_purchase_amount()` | Purchase amount, calculated for all products in the cart before the discounts are applied.| Conditions, rules |
| Function | <nobr>`is_product_in_product_codes()`</nobr> | Parameters: <br> - [Product object](/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-Values-ProductInterface.html)<br>- array of product codes<br> Returns `true` if the product is part of the given list.| Conditions, rules |
Expand Down
2 changes: 1 addition & 1 deletion docs/ibexa_products/editions.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Compare all features available in [[= product_name_headless =]], [[= product_nam
| [Search]([[= user_doc =]]/search/search_for_content/) | &#10004; | &#10004; | &#10004; |
| [Editorial workflow]([[= user_doc =]]/content_management/workflow_management/editorial_workflow/) | &#10004; | &#10004; | &#10004; |
| [Digital Asset Management]([[= user_doc =]]/dam/ibexa_dam/) | &#10004; | &#10004; | &#10004; |
| [Product Information Management]([[= user_doc =]]/pim/pim/) | &#10004; | &#10004; | &#10004; |
| [Product catalog capabilities]([[= user_doc =]]/pim/pim/) | &#10004; | &#10004; | &#10004; |
| [Date and time attribute type](date_and_time.md) | &#10004; | &#10004; | &#10004; |
| [Symbol attribute type](symbol_attribute_type.md) | &#10004; | &#10004; | &#10004; |
| [Personalization](personalization_guide.md) | &#10004; | &#10004; | &#10004; |
Expand Down
2 changes: 1 addition & 1 deletion docs/ibexa_products/ibexa_commerce.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ You can set up your search engine using [[= product_name_com =]] to help clients

#### Catalog management

[[= product_name_com =]] gives you the ability to manage your product repository - [PIM](pim_guide.md), and construct an infinite number of product catalogs, each with unique prices, to further customize the experience for your customers.
[[= product_name_com =]] gives you the ability to manage your product repository - [Product catalog](product_catalog_guide.md), and construct an infinite number of catalogs, each with unique prices, to further customize the experience for your customers.

#### Transactional emails

Expand Down
4 changes: 2 additions & 2 deletions docs/ibexa_products/ibexa_headless.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ description: Get to know Ibexa Headless - an edition that focuses on content man
The Headless edition of [[= product_name =]] focuses on content management.
It provides tools to collaboratively create content, and interfaces (API) to distribute this content.

Multilingual, multichannel, extensible, [[= product_name_headless =]] is an advanced Content Management Framework (CMF), a Product Information Management (PIM) platform, and a Digital Asset Management (DAM) repository.
Multilingual, multichannel, extensible, [[= product_name_headless =]] is an advanced Content Management Framework (CMF) with product catalog capabilities, and a Digital Asset Management (DAM) repository.
It's provided without a default front office, but with a complete back office and several APIs to manage and access content.

![Ibexa Headless](ibexa_headless.png)
Expand Down Expand Up @@ -118,7 +118,7 @@ Like everything in the back office, the calendar is extendable: you can add an e

#### Many ways to structure and organize content

[Product Information Management](pim_guide.md) (PIM) helps organize complex products and their catalogs:
[Product catalog](product_catalog_guide.md) helps organize complex products and their catalogs:

- Products are organized by using product types, variants, catalogs, categories, and tags.
- Product attributes are grouped and factorized among product types. For example, fabric + color + size can be shared by many clothing product types.
Expand Down
15 changes: 8 additions & 7 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,8 @@
</div>
<div class="col-12 col-lg-6 col-fhd-3">
<ul>
<li><a href="release_notes/ibexa_dxp_v5.0/#date-and-time-attribute">Date and time attibute for PIM</a></li>
<li><a href="release_notes/ibexa_dxp_v5.0/#symbol-attribute">Symbol attribute for PIM</a></li>
<li><a href="release_notes/ibexa_dxp_v5.0/#date-and-time-attribute">Date and time attribute for product catalog</a></li>
<li><a href="release_notes/ibexa_dxp_v5.0/#symbol-attribute">Symbol attribute for product catalog</a></li>
<li><a href="release_notes/ibexa_dxp_v5.0/#developer-experience">Developer experience improvements</a></li>
</ul>
</div>
Expand Down Expand Up @@ -185,15 +185,16 @@
<div class="info-tile info-tile--link-card">
<div class="info-tile__content">
<h3>
<a href="pim/pim/">
<a href="product_catalog/product_catalog/">
<svg><use xlink:href="images/icons.svg#product" /></svg>
Product
Product catalog
</a>
</h3>
<ul>
<li><a href="pim/pim_configuration/">PIM configuration</a></li>
<li><a href="pim/catalogs/">Catalogs</a></li>
<li><a href="pim/prices/">Prices</a></li>
<li><a href="product_catalog/product_catalog_configuration/">Product catalog configuration</a></li>
<li><a href="product_catalog/quable_integration/">Quable PIM Integration</a></li>
Comment thread
adriendupuis marked this conversation as resolved.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<li><a href="product_catalog/quable_integration/">Quable PIM Integration</a></li>
<li><a href="product_catalog/quable_integration/">Quable PIM Integration add-on</a></li>

Will we add Raptor to the index page as well?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's discuss this after the release - it's a good idea

<li><a href="product_catalog/catalogs/">Catalogs</a></li>
<li><a href="product_catalog/prices/">Prices</a></li>
</ul>
</div>
</div>
Expand Down
4 changes: 4 additions & 0 deletions docs/permissions/limitation_reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,10 @@ The Personalization limitation specifies the SiteAccesses for which the user can

The Product Type (`ProductType`) limitation specifies whether the user has access to products belonging to a specific product type.

!!! warning

The `ProductType` limitation can't be used when using [[[= pim_product_name =]]](/product_catalog/quable/quable.md).
Comment thread
mnocon marked this conversation as resolved.

### Possible values

|Value|UI value|Description|
Expand Down
22 changes: 15 additions & 7 deletions docs/permissions/policies.md
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@
| <nobr>`comparison`</nobr> | <nobr>`view`</nobr> | view version comparison |
| <nobr>`workflow`</nobr> | <nobr>`change_stage`</nobr> | change stage in the specified workflow | [Workflow Transition](limitation_reference.md#workflow-transition-limitation) |

### PIM
### Product catalog

#### Catalogs

Expand All @@ -309,6 +309,10 @@
| | <nobr>`edit`</nobr> | edit a product | [Product Type](limitation_reference.md#product-type-limitation)</br>[Language](limitation_reference.md#language-limitation) |
| | <nobr>`view`</nobr> | view products listed in the product catalog | [Product Type](limitation_reference.md#product-type-limitation) |

!!! warning

The `ProductType` limitation can't be used when using [[[= pim_product_name =]]](/product_catalog/quable/quable.md).

#### Product collaborative editing

| Module | Function | Effect | Possible limitations |
Expand All @@ -317,12 +321,16 @@

#### Product types

| Module | Function | Effect | Possible limitations |
|-----------------------------|-----------------------|-----------------------------------------------------------------------------------------------------------------|----------------------|
| <nobr>`product_type`</nobr> | <nobr>`create`</nobr> | create a product type, a new attribute, a new attribute group, and add translation to product type and attribute |
| | <nobr>`delete`</nobr> | delete a product type, attribute, attribute group |
| | <nobr>`edit`</nobr> | edit a product type, attribute, attribute group |
| | <nobr>`view`</nobr> | view product types, attributes and attribute groups |
| Module | Function | Effect | Possible limitations |
|-----------------------------|-----------------------|------------------------------------------------------------------------------------------------------------------|----------------------|
| <nobr>`product_type`</nobr> | <nobr>`create`</nobr> | create a product type, a new attribute, a new attribute group, and add translation to product type and attribute | [Product Type](limitation_reference.md#product-type-limitation) |

Check warning on line 326 in docs/permissions/policies.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/permissions/policies.md#L326

[Ibexa.OxfordComma] Use a comma before the last 'and' or 'or' in a list of four or more items.
Raw output
{"message": "[Ibexa.OxfordComma] Use a comma before the last 'and' or 'or' in a list of four or more items.", "location": {"path": "docs/permissions/policies.md", "range": {"start": {"line": 326, "column": 57}}}, "severity": "WARNING"}
| | <nobr>`delete`</nobr> | delete a product type, attribute, attribute group | |
| | <nobr>`edit`</nobr> | edit a product type, attribute, attribute group | [Product Type](limitation_reference.md#product-type-limitation) |
| | <nobr>`view`</nobr> | view product types, attributes and attribute groups | |

!!! warning

The `ProductType` limitation can't be used when using [[[= pim_product_name =]]](/product_catalog/quable/quable.md).

## Combining policies

Expand Down
15 changes: 0 additions & 15 deletions docs/pim/customize_pim.md

This file was deleted.

Loading
Loading