Skip to content
Draft
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
39 changes: 39 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
TODO:

1) Command `ibexa:quable:languages:check`
2) Wspieramy wszystkie atrybuty - ale co z ich wyszukiwaniem?
3) Dodanie "Manage in Quable" na poziomie product view też, nie tylko product list view?
4) Regenrate API key
5) Firewall do connectora
6) Integracja z messengerem
7) Search integration
8) Embedding products
9) https://ibexa.atlassian.net/browse/IBX-10990 (edit product redirect)
10) #### Product navigation

- **Edit button**: Redirects to Quable PIM for product editing
- **View in Quable**: Link to source product in Quable interface
- Seamless navigation between systems

#### System boundaries

**Quable responsibilities:**
- Product creation and editing
- Attribute definition and management
- Category/classification structure
- Product assets (images, documents)
- Product variants
- Core product data

**[[= product_name =]] responsibilities:**
- Product display and presentation
- Content-product relationships
- Catalog organization for storefronts
- Custom pricing (overrides)
- availability
- Product embeds in content
- Storefront experience

⚠️ **Policy limitation validation**: Product Type limitations in policies may not validate correctly. This is a known issue being addressed.

Mentiond: The Quable integration is built on [[= product_name =]]'s [Remote PIM framework](../add_remote_pim_support.md), which provides a foundation for connecting external Product Information Management systems.
4 changes: 3 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,10 @@
"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/quable-client": "dev-reverted-open-api as 5.0.x-dev",
"ibexa/shopping-list": "~5.0.x-dev",
"deptrac/deptrac": "^3.0",
"ibexa/cdp": "~5.0.x-dev",
"ibexa/image-editor": "~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.
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
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 @@ After choosing where the discount applies (catalog or cart), you can choose the
- **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 @@ With discounts, you can target your entire customer base or only a subset of it

#### 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.
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 product 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>
<li><a href="product_catalog/catalogs/">Catalogs</a></li>
<li><a href="product_catalog/prices/">Prices</a></li>
</ul>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion docs/permissions/policies.md
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ The [discount](discounts.md) policies decide which actions can be executed by gi
| <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 Down
15 changes: 0 additions & 15 deletions docs/pim/customize_pim.md

This file was deleted.

17 changes: 0 additions & 17 deletions docs/pim/pim.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ description: Install and configure the Remote PIM example package.

# Add Remote PIM support

To implement [Remote PIM support](pim_guide.md#remote-pim-support) you can build upon a foundation provided by [[= product_name_base =]].
[[= product_name =]] provides flexible product catalog infrastructure that works with external Product Information Management (PIM) systems.
For advanced product data management, you can use the existing [Quable PIM integration](quable/quable.md) with [[= product_name =]].

To implement [Remote PIM support](product_catalog_guide.md#remote-pim-support) for a custom integration, you can build upon a foundation provided by [[= product_name_base =]].

While doing so, you must implement services that process data coming from the remote PIM.

Expand All @@ -22,7 +25,7 @@ To connect to your remote PIM, provide your implementation of the following serv

## Switch to the new product catalog engine

To inform the application that the local PIM engine has been replaced by an external one, in `config/packages/ibexa_product_catalog.yaml`, set the new product catalog engine, for example:
To inform the application that the product catalog engine has been replaced by an external one, in `config/packages/ibexa_product_catalog.yaml`, set the new product catalog engine, for example:

``` yaml
ibexa_product_catalog:
Expand All @@ -46,12 +49,12 @@ ibexa:

!!! note "Enabling the remote PIM support"

By default, the `ibexa.repositories.<repository_name>.product_catalog.engine.type` key is set to `local`, which informs [[= product_name =]] that the built-in PIM solution is used.
By default, the `ibexa.repositories.<repository_name>.product_catalog.engine.type` key is set to `local`, which informs [[= product_name =]] that the built-in product catalog capabilities are used.
By changing this setting and the `ibexa.repositories.<repository_name>.product_catalog.engine` setting from `default` to your custom value, you inform [[= product_name =]] that you're using a remote PIM.

## Install Remote PIM example package

The example implementation provides services that take over the role of services provided by the local PIM package.
The example implementation provides services that take over the role of services provided by the product catalog package.
You can modify them to suit your needs.

Install the `ibexa/example-in-memory-product-catalog` package:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Date and time attribute type allows you to store product informatio

# Date and time attributes

The date and time [attribute type](products.md#product-attributes) allows you to represent date and time values as part of the product specification in the [Product Information Management](pim_guide.md) system.
The date and time [attribute type](products.md#product-attributes) allows you to represent date and time values as part of the product specification in the [product_catalog](product_catalog_guide.md).

You can use it to store, for example, manufacturing dates, expiration dates, or event dates, all with specified accuracy.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Create a symbol attribute type that enables for the efficient repre

In product specifications, the symbol attribute type enables the efficient representation of string-based data and enforces their format.

This feature allows you to store standard product identifiers (such as EAN or ISBN) in the [Product Information Management](pim_guide.md) system.
This feature allows you to store standard product identifiers (such as EAN or ISBN) in the [product catalog](product_catalog_guide.md).

## Build-in symbol attribute formats

Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: A custom product code generator enables you to control how product

Product code generator strategies control what product variant codes are generated.

Besides the [built-in](pim_configuration.md#code-generation-strategy) strategies, you can create your own ones.
Besides the [built-in](product_catalog_configuration.md#code-generation-strategy) strategies, you can create your own ones.

A code generator strategy must implement `Ibexa\Contracts\ProductCatalog\Local\CodeGenerator\CodeGeneratorInterface`.

Expand All @@ -26,4 +26,4 @@ Then, register the strategy generator as a service and tag it with `ibexa.produc
[[= include_file('code_samples/catalog/custom_code_generator_strategy/config/custom_services.yaml') =]]
```

Use the defined `type` in [catalog configuration](pim_configuration.md#code-generation-strategy) to apply codes generated by this strategy to new product variants.
Use the defined `type` in [catalog configuration](product_catalog_configuration.md#code-generation-strategy) to apply codes generated by this strategy to new product variants.
15 changes: 15 additions & 0 deletions docs/product_catalog/customize_product_catalog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
description: Customize the Product catalog to the needs of your organization.
page_type: landing_page
---

# Customize Product catalog

You can customize various areas of the product catalog capabilities to adjust it to the specific requirements of your organization.

[[= cards([
"product_catalog/create_custom_attribute_type",
"product_catalog/create_product_code_generator",
"product_catalog/create_custom_catalog_filter",
"product_catalog/create_custom_name_schema_strategy",
], columns=4) =]]
File renamed without changes.
4 changes: 2 additions & 2 deletions docs/pim/prices.md → docs/product_catalog/prices.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: The price engine calculates product prices taking into account cust

# Prices

The price engine is responsible for calculating prices for products in the [catalog](pim.md).
The price engine is responsible for calculating prices for products in the [product catalog](product_catalog.md).

## Custom pricing

Expand All @@ -30,4 +30,4 @@ To use currencies in your shop, you need to first enable them in the back office

## VAT

You can [configure VAT rate globally](pim_configuration.md#vat-rates) (per SiteAccess), or set it individually for each product type and product.
You can [configure VAT rate globally](product_catalog_configuration.md#vat-rates) (per SiteAccess), or set it individually for each product type and product.
File renamed without changes.
Loading
Loading