diff --git a/docs/ai_actions/ai_actions.md b/docs/ai_actions/ai_actions.md index 957a2ea0fc..6f3d8e0b66 100644 --- a/docs/ai_actions/ai_actions.md +++ b/docs/ai_actions/ai_actions.md @@ -1,19 +1,18 @@ --- description: AI Actions help editors by automating repetitive tasks. page_type: landing_page -edition: lts-update month_change: false --- # AI Actions -The AI Actions LTS update enhances the usability and flexibility of [[= product_name =]] by automating various tasks. +AI Actions enhance the usability and flexibility of [[= product_name =]] by automating various tasks. After you configure it, it can generate alt text for images or transform text passages. You can also extend it to perform other tasks or support additional AI services. [[= cards([ "ai_actions/ai_actions_guide", -"ai_actions/install_ai_actions", +"ai_actions/configure_ai_actions", "ai_actions/extend_ai_actions", ], columns=4) =]] diff --git a/docs/ai_actions/ai_actions_guide.md b/docs/ai_actions/ai_actions_guide.md index a1c58a84e8..dcaf3878e5 100644 --- a/docs/ai_actions/ai_actions_guide.md +++ b/docs/ai_actions/ai_actions_guide.md @@ -1,6 +1,5 @@ --- -description: AI Actions LTS update helps editors by automating repetitive tasks. -edition: lts-update +description: AI Actions help editors by automating repetitive tasks. month_change: true --- @@ -9,12 +8,12 @@ month_change: true ## What are AI Actions Wherever you look, artificial intelligence becomes more and more important by enhancing user interaction and automating complex processes. -[[= product_name =]] can be equipped with the AI Actions [LTS update](editions.md#lts-updates), which harnesses AI's potential to automate time-consuming editorial tasks. +[[= product_name =]] is equipped with the AI Actions feature, which harnesses AI's potential to automate time-consuming editorial tasks. AI Actions is an extensible solution for integrating features provided by AI services into your workflows, all managed through a user-friendly interface. Out-of-the-box, AI Actions solution includes two essential components: a framework package and an OpenAI connector package. -As of version v4.6.19, AI Actions can integrate with [[[= product_name_connect =]]]([[= connect_doc =]]/general/ibexa_connect/), to give you an opportunity to build complex data transformation workflows without having to rely on custom code. +AI Actions can integrate with [[[= product_name_connect =]]]([[= connect_doc =]]/general/ibexa_connect/), to give you an opportunity to build complex data transformation workflows without having to rely on custom code. From the developer's perspective, the integration removes the burden of maintaining third-party AI handlers, and accelerates the deployment of AI-based solutions. AI Actions solution comes pre-configured with the following action types: @@ -30,15 +29,14 @@ The possibilities are endless and you're not limited to a specific AI service, a ## Availability -AI Actions are an opt-in capability available as an [LTS update](editions.md#lts-updates) starting with the v4.6.12 version of [[= product_name =]], regardless of its edition. -[[= product_name_connect =]] integration is available starting with v4.6.19. -To begin using AI Actions, you must first [install the required packages and perform initial configuration](install_ai_actions.md). +[[= product_name_cloud =]] is available in all [[= product_name =]] editions. +To begin using AI Actions, you must first [perform the initial configuration](configure_ai_actions.md). ### Prerequisites The OpenAI connector requires that you first [get an API key](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key) and make sure that you [set up a billing method](https://help.openai.com/en/articles/9038407-how-can-i-set-up-billing-for-my-account). -Integration with [[= product_name_connect =]] requires that you first [get the credentials]([[= connect_doc =]]/general/ibexa_connect/#access-ibexa-connect) to your account, and the [API token](install_ai_actions.md#create-token). +Integration with [[= product_name_connect =]] requires that you first [get the credentials]([[= connect_doc =]]/general/ibexa_connect/#access-ibexa-connect) to your account, and the [API token](configure_ai_actions.md#create-token). !!! note "[[= product_name_connect =]] Availability" @@ -47,7 +45,7 @@ Integration with [[= product_name_connect =]] requires that you first [get the c ## How it works -AI Actions LTS update relies on an extensible AI framework, which is responsible for gathering information from various sources, such as AI action types, AI action configurations, and contextual details like SiteAccess, user details, locale settings, and more. +AI Actions rely on an extensible AI framework, which is responsible for gathering information from various sources, such as AI action types, AI action configurations, and contextual details like SiteAccess, user details, locale settings, and more. This data can then be combined with user input. It's then passed to a service connector, such as the default OpenAI connector or the [[= product_name_connect =]] connector, for final processing on [[= product_name =]] side. The service connector wraps all data into a prompt or another suitable format and sends it to an external service. @@ -101,7 +99,7 @@ Handlers take parameters defined in the AI action type and configuration, combin ### Triggering actions from the UI -Among other elements, AI Actions LTS update includes UI components that are used in: +Among other elements, AI Actions include UI components that are used in: - AI action management in the **Admin** panel - text modification in online editor @@ -113,7 +111,7 @@ Procedures are straightforward and intuitive, ensuring that users can quickly ac ### Triggering actions programmatically -AI Actions LTS update exposes a REST API interface that allows for programmatic execution of AI actions. +AI Actions feature exposes a REST API interface that allows for programmatic execution of AI actions. With the API, developers can automate tasks and execute actions on batches of content by integrating them into workflows. For more information, see the [AI actions section in the REST API Reference](../api/rest_api/rest_api_reference/rest_api_reference.html#ai-actions-execute-ai-action). @@ -132,7 +130,7 @@ By accessing the detailed view of individual AI actions, you can quickly review ### Extensibility -Built-in AI action types offer a good starting point, but the real power of the AI Actions LTS update lies in extensibility. +Built-in AI action types offer a good starting point, but the real power of AI Actions lies in extensibility. Extending AI Actions opens up new possibilities for content management and editing. Developers can define new models and AI action types that use the existing AI service or even integrate additional services. The latter involves developing a new service connector, writing a handler that communicates with the new service, defining a new AI action type, and creating a form for configuring options, which extends the default action configuration form shown in the **Admin** panel. @@ -140,7 +138,7 @@ For example, if this is your organization's requirement, a developer could write ## Use cases -Out of the box, after you configure access to the OpenAI service, the [[= product_name_base =]] AI Actions LTS update comes with two action types that can help your organization with the following tasks. +Out of the box, after you configure access to the OpenAI service, the [[= product_name_base =]] AI Actions come with two action types that can help your organization with the following tasks. ### Refining text diff --git a/docs/ai_actions/install_ai_actions.md b/docs/ai_actions/configure_ai_actions.md similarity index 59% rename from docs/ai_actions/install_ai_actions.md rename to docs/ai_actions/configure_ai_actions.md index 280924a69b..c14aa87233 100644 --- a/docs/ai_actions/install_ai_actions.md +++ b/docs/ai_actions/configure_ai_actions.md @@ -1,73 +1,22 @@ --- -description: Install the AI Actions LTS update. -edition: lts-update +description: Configure AI Actions. month_change: true --- -# Install AI Actions +# Configure AI Actions -AI Actions are available as an LTS update to [[= product_name =]] starting with version v4.6.12 or higher, regardless of its edition. -To use this feature you must first install the package. -You can then install and configure the service connectors or build your own ones. - -## Install framework - -Run the following command to install the package: - -``` bash -composer require ibexa/connector-ai -``` - -This command adds the framework code, service handlers, Twig templates, and configurations required for using AI Actions. -It also modifies the permission system to account for the new functionality. - -## Modify database schema - -Create the `add_ai_actions.sql` file that contains the following code. - -=== "MySQL" - - ``` sql - [[= include_file('code_samples/ai_actions/config/mysql/add_ai_actions.sql', 0, None, ' ') =]] - ``` - -=== "PostgreSQL" - - ``` sql - [[= include_file('code_samples/ai_actions/config/postgresql/add_ai_actions.sql', 0, None, ' ') =]] - ``` - -Run the following command, where `` is the same name that you defined when you [installed [[= product_name =]]](../getting_started/install_ibexa_dxp.md#change-installation-parameters). - -=== "MySQL" - - ```bash - mysql -u -p < add_ai_actions.sql - ``` - -=== "PostgreSQL" - - ```bash - psql < add_ai_actions.sql - ``` - -This command modifies the existing database schema by adding database configuration required for using AI Actions. +AI Actions are available in [[= product_name =]] regardless of its edition. +To use this feature you must first configure the built-in service connectors or build your own ones. !!! note "Next steps" - Once the framework is installed and configured, before you can start using AI Actions, you can configure access to [[= product_name_base =]]-made service connectors by following the instructions below, or [create your own](extend_ai_actions.md#create-custom-action-handler). + Once the framework is configured, before you can start using AI Actions, you can configure access to [[= product_name_base =]]-made service connectors by following the instructions below, or [create your own](extend_ai_actions.md#create-custom-action-handler). Only then you can restart you application and start [working with the AI Actions feature]([[= user_doc =]]/ai_actions/work_with_ai_actions/). -## Configure access to OpenAI +## Configure access to OpenAI (optional) -Run the following command to install the service connector with the OpenAI service: - -``` bash -composer require ibexa/connector-openai -``` - -Create an OpenAI account, [get an API key](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key), and make sure that you [set up a billing method](https://help.openai.com/en/articles/9038407-how-can-i-set-up-billing-for-my-account). +To use the built-in connector with the OpenAI service, you need to create an OpenAI account, [get an API key](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key), and make sure that you [set up a billing method](https://help.openai.com/en/articles/9038407-how-can-i-set-up-billing-for-my-account). Then, in the root folder of your project, modify the `.env` file: find the `OPENAI_API_KEY` variable and replace a placeholder value with the API key that you got from the AI service. @@ -77,15 +26,9 @@ OPENAI_API_KEY= ###< ibexa/connector-openai ### ``` -### Install sample OpenAI action configurations (optional) - -By installing a collection of sample AI action configurations you can quickly start using the feature. -You do it by following a standard [data migration](importing_data.md) procedure: +### Sample OpenAI action configurations -```bash -php bin/console ibexa:migrations:import vendor/ibexa/connector-openai/src/bundle/Resources/migrations/action_configurations.yaml -php bin/console ibexa:migrations:migrate -``` +The AI actions come with sample AI action configurations to quickly get you started on using the feature. Based on these examples, which reflect the most common use cases, you can learn to configure your own AI actions with greater ease. @@ -161,7 +104,7 @@ php bin/console ibexa:connect:init-connect-ai 2 en connect-image-to-text connect The [`language` attribute](https://developers.make.com/api-documentation/api-reference/templates#templates-1) determines the language in which template details such as module names will be displayed in [[= product_name_connect =]]'s UI. -### Customize templates +### Customize templates Return to the [[= product_name_connect =]] dashboard and modify the **Template for connect...handler** [templates]([[= connect_doc =]]/scenarios/scenario_templates/) by defining the logic needed to process the data. diff --git a/docs/ai_actions/extend_ai_actions.md b/docs/ai_actions/extend_ai_actions.md index bc68ea840e..26bbb810cf 100644 --- a/docs/ai_actions/extend_ai_actions.md +++ b/docs/ai_actions/extend_ai_actions.md @@ -1,6 +1,5 @@ --- description: Extend AI Actions by connecting to other services and adding new capabilities. -edition: lts-update month_change: false --- diff --git a/docs/content_management/data_migration/importing_data.md b/docs/content_management/data_migration/importing_data.md index 312b888838..fd5b855a58 100644 --- a/docs/content_management/data_migration/importing_data.md +++ b/docs/content_management/data_migration/importing_data.md @@ -346,9 +346,9 @@ You can also update attributes, including changing which attribute group they be You can't change the attribute type of an existing attribute. -##### Date and time attributes [[% include 'snippets/lts-update_badge.md' %]] +##### Date and time attributes -If you're using attributes of the [date and time type](date_and_time.md), you can manage it through the migrations as well, for example: +You can manage the [date and time attribute type](date_and_time.md) through the migrations, for example: ``` yaml [[= include_file('code_samples/data_migration/examples/create_datetime_attribute.yaml') =]] @@ -487,7 +487,7 @@ When updating a content type, use: [[= include_file('code_samples/data_migration/examples/update_tag.yaml') =]] ``` -### AI action configurations [[% include 'snippets/lts-update_badge.md' %]] +### AI action configurations - The following example shows how you can create a new action configuration in your system: diff --git a/docs/ibexa_products/editions.md b/docs/ibexa_products/editions.md index 345a33517e..ff3c30dc54 100644 --- a/docs/ibexa_products/editions.md +++ b/docs/ibexa_products/editions.md @@ -20,6 +20,7 @@ Compare all features available in [[= product_name_headless =]], [[= product_nam | Feature | [[= product_name_headless =]] | [[= product_name_exp =]] | [[= product_name_com =]] | |-----------------|-----------------|-----------------|-----------------| | [Content model](content_model.md) | ✔ | ✔ | ✔ | +| [AI Actions](ai_actions_guide.md) | ✔ | ✔ | ✔ | | [User management](user_management_guide.md) | ✔ | ✔ | ✔ | | [Focus Mode]([[= user_doc =]]/getting_started/discover_ui/#focus-mode) | ✔ | ✔ | ✔ | | [Image editor]([[= user_doc =]]/image_management/edit_images/) | ✔ | ✔ | ✔ | @@ -30,6 +31,7 @@ Compare all features available in [[= product_name_headless =]], [[= product_nam | [Editorial workflow]([[= user_doc =]]/content_management/workflow_management/editorial_workflow/) | ✔ | ✔ | ✔ | | [Digital Asset Management]([[= user_doc =]]/dam/ibexa_dam/) | ✔ | ✔ | ✔ | | [Product Information Management]([[= user_doc =]]/pim/pim/) | ✔ | ✔ | ✔ | +| [Date and time attribute type](date_and_time.md) | ✔ | ✔ | ✔ | | [Personalization](personalization_guide.md) | ✔ | ✔ | ✔ | | [Migrations](managing_migrations.md) | ✔ | ✔ | ✔ | | [[[= product_name_connect =]]]([[= connect_doc =]]) | ✔ | ✔ | ✔ | @@ -60,7 +62,12 @@ Compare all features available in [[= product_name_headless =]], [[= product_nam LTS Updates are opt-in packages that bring additional features to the [LTS releases](release_process_and_roadmap.md#long-term-support-releases) that they enhance. The features brought by LTS Updates become standard parts of the next LTS release. -| Feature | [[= product_name_headless =]] | [[= product_name_exp =]] | [[= product_name_com =]] | -|-----------------|-----------------|-----------------|-----------------| -| [AI Actions](ai_actions_guide.md) | ✔ | ✔ | ✔ | -| [Date and time attribute type](date_and_time.md) | ✔ | ✔ | ✔ | +There aren't any LTS Updates available for the v5 release yet. +The ones released for 4.6 LTS are included out of the box in [[= product_name =]] 5.0 LTS: + +- [AI Actions](ai_actions_guide.md) +- [Date and time attribute type](date_and_time.md) + + + diff --git a/docs/index.md b/docs/index.md index 991594fadf..3ae348e397 100644 --- a/docs/index.md +++ b/docs/index.md @@ -72,11 +72,11 @@
-
+
-

The latest release is [[= latest_tag_4_6 =]]

-
The latest version of Ibexa DXP is [[= latest_tag_4_6 =]]. You can now update your application to the latest version.
+

The latest release is [[= latest_tag_5_0 =]]

+
The latest version of Ibexa DXP is [[= latest_tag_5_0 =]]. You can now update your application to the latest version.
Release notes @@ -86,21 +86,6 @@
-
-
-
-

The newest LTS Update is the Date and time attribute type

-
Install it to add time-related values to product specifications.
-
- -
- LTS Update -
-
-
diff --git a/docs/pim/attributes/date_and_time.md b/docs/pim/attributes/date_and_time.md index 413671c5dc..1642b41f83 100644 --- a/docs/pim/attributes/date_and_time.md +++ b/docs/pim/attributes/date_and_time.md @@ -1,68 +1,16 @@ --- description: Date and time attribute type allows you to store product information related to time, like an expiration date or date of manufacturing. -edition: lts-update --- # 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. -It's released as an [LTS update](release_process_and_roadmap.md) that you can install on top of your current project to expand the capabilities of your [[= product_name =]], starting with version v4.6.17 and higher. - You can use it to store, for example, manufacturing dates, expiration dates, or event dates, all with specified accuracy. - -## Installation - -### Download the bundle - -To get the most recent stable version of this package, open a command terminal, navigate to your project directory, and run the following command: - -``` bash -composer require ibexa/product-catalog-date-time-attribute -``` - -### Enable the bundle - -Symfony Flex enables and configures the `IbexaProductCatalogDateTimeAttributeBundle` automatically. -If you don't use it, you can manually enable this bundle by adding it to the list of bundles in `config/bundles.php`: - -``` php -return [ - // ... - Ibexa\Bundle\ProductCatalogDateTimeAttribute\IbexaProductCatalogDateTimeAttributeBundle::class => ['all' => true], - // ... -]; -``` - -### Update database schema - -The new attribute type requires changes to the database schema. -Execute the following queries on your database to support the new attribute type: - -=== "MySQL" - - ``` sql - CREATE TABLE ibexa_product_specification_attribute_datetime (id INT NOT NULL, value DATETIME DEFAULT NULL COMMENT '(DC2Type:datetime_immutable)', INDEX ibexa_product_specification_attribute_datetime_idx (value), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB; - ALTER TABLE ibexa_product_specification_attribute_datetime ADD CONSTRAINT ibexa_product_specification_attribute_datetime_fk FOREIGN KEY (id) REFERENCES ibexa_product_specification_attribute (id) ON UPDATE CASCADE ON DELETE CASCADE; - ``` - -=== "PostgreSQL" - - ``` sql - CREATE TABLE ibexa_product_specification_attribute_datetime (id INT NOT NULL, value TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id)); - CREATE INDEX ibexa_product_specification_attribute_datetime_idx ON ibexa_product_specification_attribute_datetime (value); - COMMENT ON COLUMN ibexa_product_specification_attribute_datetime.value IS '(DC2Type:datetime_immutable)'; - ALTER TABLE ibexa_product_specification_attribute_datetime ADD CONSTRAINT ibexa_product_specification_attribute_datetime_fk FOREIGN KEY (id) REFERENCES ibexa_product_specification_attribute (id) ON UPDATE CASCADE ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; - ``` - -You can now start working with the date and time attribute type. - ## Usage -The date and time attribute type's support in the system is on par with the other, built-in attribute types. - -You can manage it through the back office, [data migrations](importing_data.md#date-and-time-attributes), REST, or through the PHP API. +You can manage the date and time attribute type through the back office, [data migrations](importing_data.md#date-and-time-attributes), REST, or through the PHP API. It also supports [searching](product_search_criteria.md) by using [DateTimeAttribute](datetimeattribute_criterion.md) and [DateTimeAttributeRange](datetimeattributerange_criterion.md) criterions. ![Creating a product using a date and time attribute with "trimester" accuracy level](img/datetime.png "Creating a product using a date and time attribute with "trimester" accuracy level") diff --git a/docs/release_notes/ibexa_dxp_v4.6.md b/docs/release_notes/ibexa_dxp_v4.6.md index 78b93fc107..93443000f6 100644 --- a/docs/release_notes/ibexa_dxp_v4.6.md +++ b/docs/release_notes/ibexa_dxp_v4.6.md @@ -16,7 +16,7 @@ month_change: true #### Features AI Actions can now integrate with [Ibexa Connect]([[= connect_doc =]]), giving you an opportunity to build complex data transformation workflows without having to rely on custom code. -To learn more, see the [setup instructions for this integration](install_ai_actions.md#configure-access-to-ibexa-connect). +To learn more, see the [setup instructions for this integration](configure_ai_actions.md#configure-access-to-ibexa-connect). [[= release_note_entry_end() =]] diff --git a/docs/resources/new_in_doc.md b/docs/resources/new_in_doc.md index 0a76e21cf0..bb920bed1a 100644 --- a/docs/resources/new_in_doc.md +++ b/docs/resources/new_in_doc.md @@ -16,7 +16,7 @@ This page contains recent highlights and notable changes in [[= product_name =]] ### AI Actions -- Documented [how to couple AI Actions and Ibexa Connect](install_ai_actions.md#configure-access-to-ibexa-connect) to build complex data transformation workflows without having to rely on custom code +- Documented [how to couple AI Actions and Ibexa Connect](configure_ai_actions.md#configure-access-to-ibexa-connect) to build complex data transformation workflows without having to rely on custom code ### REST API diff --git a/mkdocs.yml b/mkdocs.yml index 6e1c37c7a2..3e237819e4 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -335,7 +335,7 @@ nav: - AI Actions: - AI Actions: ai_actions/ai_actions.md - AI Actions guide: ai_actions/ai_actions_guide.md - - Install AI Actions: ai_actions/install_ai_actions.md + - Configure AI Actions: ai_actions/configure_ai_actions.md - Extend AI Actions: ai_actions/extend_ai_actions.md - PIM (Product management): - PIM (Product management): pim/pim.md diff --git a/plugins.yml b/plugins.yml index 94275d4060..06788f7194 100644 --- a/plugins.yml +++ b/plugins.yml @@ -556,3 +556,5 @@ plugins: 'getting_started/ibexa_cloud_guide.md': 'ibexa_cloud/ibexa_cloud_guide.md' 'getting_started/install_on_ibexa_cloud.md': 'ibexa_cloud/install_on_ibexa_cloud.md' 'infrastructure_and_maintenance/clustering/ddev_and_ibexa_cloud.md': 'ibexa_cloud/ddev_and_ibexa_cloud.md' + + 'ai_actions/install_ai_actions.md': 'ai_actions/configure_ai_actions.md'