Skip to content

Commit 2874248

Browse files
committed
review
1 parent 8a577bb commit 2874248

File tree

1 file changed

+30
-25
lines changed

1 file changed

+30
-25
lines changed

docs/tutorials/1.developers/4.apps-development/3.enable-app.md

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,42 @@
11
# How to Enable Apps in DIAL
22

3-
This document describes the process for enabling applications in DIAL to make them available for users. The development of applications are beyond the scope of this document.
3+
## Introduction
4+
5+
DIAL can serve as a universal platform that allows using both [DIAL-native applications](#dial-native-applications) and [applications developed on other platforms](#bring-apps-to-dial).
6+
7+
This document describes the process for enabling applications in DIAL to make them available for users. The development of applications are beyond the scope of this document. You can develop applications following [Unified API of DIAL](https://dialx.ai/dial_api) and [DIAL SDK](https://github.com/epam/ai-dial-sdk).
48

59
The prerequisite to the application enablement in DIAL, is a running container with your application.
610

7-
> You can develop applications following DIAL Unified API and DIAl SDK.
11+
To enable a DIAL-native application in DIAL, you can either modify the DIAL Core configuration directly or use the DIAL API.
12+
13+
**Important**: Apps enabled via the DIAL API, can be modified using API or UI wizards, provided the corresponding permissions are enabled. Apps enabled via the DIAL Core config, are immutable and cannot be modified via UI or API. The owner of such apps is always the admin of the DIAL setup.
14+
815

9-
## Introduction
1016

11-
DIAL can serve as a universal platform that allows using both DIAL-native applications and [applications developed on other platforms](#bring-apps-to-dial).
17+
## DIAL-Native Applications
1218

1319
DIAL-native applications adhere to the [Unified API of DIAL](https://dialx.ai/dial_api), which allows them to be used as building blocks for other DIAL-native applications. Refer to [Agentic Platform](/docs/platform/0.architecture-and-concepts/4.agentic-platform.md) to learn more about agents in DIAL.
1420

1521
These applications can be categorized as either schema-rich or schema-less:
1622

17-
* [Schema-rich applications](#enable-schema-rich-applications) are associated with a specific application type, the structure of which is defined by a JSON schema. The schema specifies the application's properties, bringing them to another abstraction level and enabling end-users to create and configure applications of this type—that would otherwise be restricted or inaccessible. Application types can be seen as templates for creating applications of that type.
18-
* [Schema-less applications](#enable-schema-less-applications), on the other hand, are not associated with any specific application type and can be enabled by supplying the app's endpoint and some other voluntary parameters.
23+
##### Schema-rich applications
1924

20-
DIAL SaaS edition includes application types such as Quick app, Code app and Mindmap. In self-hosted deployments of DIAL, you can add new application types, featuring custom UIs and wizards and enabling end-users to create applications of that type. Refer to [Agentic Platform](/docs/platform/0.architecture-and-concepts/4.agentic-platform.md#application-types) to learn more about available application types.
25+
[Schema-rich applications](#enable-schema-rich-applications) are defined by a JSON schema that conforms to the main [meta schema](https://dialx.ai/dial_api#tag/Applications/operation/getMetaSchemaOfCustomApplicationSchema). The JSON schema specifies the application type's structure, including properties, endpoints, and configuration parameters. Refer to [DIAL API](https://dialx.ai/dial_api#tag/Applications/operation/listCustomApplicationSchemas) to see examples. It may also include a URL for an application editor, enabling a wizard in the UI for creating applications. Using schemas makes application configuration accessible to end-users by exposing properties that would otherwise remain part of the application's internal environment.
2126

22-
To enable a DIAL-native application in DIAL, you can either modify the DIAL Core configuration directly or use the DIAL API.
27+
Schema-rich applications are usually associated with specific **Application Types** can be seen as templates for creating applications of that type. DIAL SaaS edition includes application types such as Quick app, Code app and Mindmap. In self-hosted deployments of DIAL, you can add new application types, featuring custom UIs and wizards and enabling end-users to create applications of that type. Refer to [Agentic Platform](/docs/platform/0.architecture-and-concepts/4.agentic-platform.md#application-types) to learn more about available application types.
2328

24-
**Important**: Apps enabled via the DIAL API, can be modified using API or UI wizards, provided the corresponding permissions are enabled. Apps enabled via the DIAL Core config, are immutable and cannot be modified via UI or API. The owner of such apps is always the admin of the DIAL setup.
29+
##### Schema-less applications
2530

26-
## Enable Schema-Rich Applications
31+
[Schema-less applications](#enable-schema-less-applications), on the other hand, are not associated with any specific application type and can be enabled by supplying the app's endpoint and some other parameters supported by [DIAL Core](https://github.com/epam/ai-dial-core?tab=readme-ov-file#dynamic-settings).
2732

28-
Schema-rich applications are defined by a JSON schema, which conforms to the main meta schema. The application type schema includes properties, endpoints, and other parameters that define the application type structure and configuration. Schema can also include a URL of the application editor, which can be used as a wizard on UI to create applications of this type.
33+
## Enable Schema-Rich Applications
2934

30-
##### To enable a schema-rich application in DIAL, follow these steps:
35+
You can enable schema-rich apps in DIAL either using DIAL API or by a direct modification of the DIAL Core configuration.
3136

32-
1. Add an application type and its schema directly to the DIAL Core configuration, unless it is already present and you want to use it.
33-
2. After that, you can create apps of this type using DIAL API or directly including them in the DIAL Core config. Some application types allow creating apps using UI wizards as well.
37+
**Prerequisite**: You must have a running container with your app accessible via the endpoint specified by the schema.
3438

35-
In any case, when a new implementation of the application type is created, its configuration is saved as a BLOB in the DIAL Core file system with a JSON object that must correspond to the schema of this particular application type. This file is available vial the DIAL API, according to the defined Auth Matrix.
39+
In any case, the configuration of the enabled app is saved as a BLOB in the DIAL Core file system with a JSON object that must correspond to the schema of a particular application type. This file is available vial the [DIAL API](https://dialx.ai/dial_api#tag/Applications/operation/getCustomApplicationSchema), according to the defined [Auth Matrix](/docs/tutorials/1.developers/4.apps-development/2.auth-matrix.md) for a specific application.
3640

3741
### Using API
3842

@@ -43,11 +47,11 @@ You can use the DIAL API to enable a schema-rich application of a specific type.
4347
Send a [PUT](https://dialx.ai/dial_api#tag/Applications/operation/saveCustomApplication) request to DIAL Core, where you provide:
4448

4549
* Standard parameters for the application. Refer to [dynamic setting of DIAL Core](https://github.com/epam/ai-dial-core?tab=readme-ov-file#dynamic-settings).
46-
* `applicationTypeSchemaId`: The identifier of the schema for the application type you want to use as a template. You can retrieve available schemas via the [GET Schemas](https://rail-landing.staging.deltixhub.io/dial_api#tag/Applications/operation/listCustomApplicationSchemas) API call. **Important**: all requests are routed to endpoints defined by the schema.
50+
* `applicationTypeSchemaId`: The identifier of the schema for the application type you want to use as a template. You can retrieve available schemas via the [GET Schemas](https://rail-landing.staging.deltixhub.io/dial_api#tag/Applications/operation/listCustomApplicationSchemas) API call.
4751
* `applicationProperties`: A valid JSON object representing the application's structure, conforming to the specified schema. If the JSON object is invalid, the request will fail.
4852
- If `applicationTypeSchemaId` is absent or `NULL`, `applicationProperties` are not required.
4953
- If `applicationTypeSchemaId` is provided but `applicationProperties` are `NULL`, the application is considered a "stub" and can be updated later, but completion requests will not be possible.
50-
- For applications with schemas, all requests are routed to endpoints specified in `applicationProperties`. **Note**: Endpoints provided outside the `applicationProperties` object will fail the request.
54+
- For applications with schemas, all requests are routed **ONLY** to endpoints specified in the schema.
5155

5256
```json
5357
//Example for your reference
@@ -69,7 +73,7 @@ Send a [PUT](https://dialx.ai/dial_api#tag/Applications/operation/saveCustomAppl
6973

7074
#### UI Wizard
7175

72-
Application types in DIAL can include UI wizards, which simplify the creation of applications of specific types by end-users on the DIAL UI. Apps built using these wizards are automatically registered in DIAL Core and can be displayed in the DIAL Marketplace if corresponding permissions are enabled.
76+
Schemas of application types can include UI wizards, which simplify the creation of applications of specific types by end-users on the DIAL UI. Apps built using these wizards are automatically registered in DIAL Core and can be displayed in the DIAL Marketplace if corresponding permissions are enabled.
7377

7478
> Refer to [User guide](/docs/tutorials/0.user-guide.md#applications) to learn how to create applications using wizards.
7579

@@ -79,23 +83,23 @@ If your application type's schema includes `dial:applicationTypeEditorUrl`, the
7983

8084
DIAL setup admin can enable a schema-rich application by including a JSON object with apps configurations in the DIAL Core configuration.
8185

82-
**Important**: Apps added through direct modification of the DIAL Core configuration are immutable and cannot be edited via the UI or API, including by setup administrators. These apps are owned by the DIAL admin and are ideal for use cases where the app is configured once and remains unchanged, becoming available to users with predefined roles and limits.
86+
**Important**: Apps added through direct modification of the DIAL Core configuration are immutable and cannot be edited via the UI or API, including by setup administrators. These apps are owned by the DIAL admin and are ideal for use cases where the app is configured once and remains unchanged, becoming available to users with predefined roles and permissions.
8387

8488
## Enable Schema-Less Applications
8589

8690
Schema-less applications are not associated with any specific application type and can be enabled by supplying the app's endpoint and some other parameters. Refer to [dynamic setting of DIAL Core](https://github.com/epam/ai-dial-core?tab=readme-ov-file#dynamic-settings) to see all the supported parameters for applications.
8791

8892
To enable schema-less applications in DIAL, you can either include a JSON object with apps configurations in the DIAL Core configuration or use the DIAL API.
8993

90-
In any case, the configuration of an application is saved as a BLOB in the DIAL Core file system with a JSON object. This file is available via the DIAL API, according to the defined Auth Matrix.
94+
**Prerequisite**: You must have a running container with your app accessible via the endpoint you provide in the request.
95+
96+
In any case, the configuration of an application is saved as a BLOB in the DIAL Core file system with a JSON object. This file is available via the [DIAL API](https://dialx.ai/dial_api#tag/Applications/operation/getCustomApplicationSchema), according to the defined [Auth Matrix](/docs/tutorials/1.developers/4.apps-development/2.auth-matrix.md) for a specific application.
9197

9298
### Using API
9399

94100
**Important**: Apps enabled via the DIAL API, can be modified using API or UI wizards, provided the corresponding permissions are enabled.
95101

96-
**Prerequisite**: You must have a running container with your app accessible via the endpoint you provide in the request.
97-
98-
Use the [PUT call](https://dialx.ai/dial_api#tag/Applications/operation/saveCustomApplication), where in the request body you provide specific endpoints and parameters for your application. You can see them in DIAL Core documentation under the [dynamic setting](https://github.com/epam/ai-dial-core?tab=readme-ov-file#dynamic-settings) for `applications`.
102+
Send a [PUT](https://dialx.ai/dial_api#tag/Applications/operation/saveCustomApplication) request to DIAL Core, where in the request body you provide specific endpoints and parameters for your application. You can see them in DIAL Core documentation under the [dynamic setting](https://github.com/epam/ai-dial-core?tab=readme-ov-file#dynamic-settings) for `applications`.
99103

100104
```json
101105
//Example for your reference
@@ -128,7 +132,7 @@ Use the [PUT call](https://dialx.ai/dial_api#tag/Applications/operation/saveCust
128132

129133
DIAL setup admin can enable a schema-less application by including a JSON object with apps configurations in the DIAL Core configuration.
130134

131-
**Important**: Apps added through direct modification of the DIAL Core configuration are immutable and cannot be edited via the UI or API, including by setup administrators. These apps are owned by the DIAL admin and are ideal for use cases where the app is configured once and remains unchanged, becoming available to users with predefined roles and limits.
135+
**Important**: Apps added through direct modification of the DIAL Core configuration are immutable and cannot be edited via the UI or API, including by setup administrators. These apps are owned by the DIAL admin and are ideal for use cases where the app is configured once and remains unchanged, becoming available to users with predefined roles and permissions.
132136

133137

134138
## Bring Apps to DIAL
@@ -138,7 +142,8 @@ DIAL setup admin can enable a schema-less application by including a JSON object
138142
Following a similar pattern as for DIAL-native applications:
139143

140144
* You can add an application type with a schema to enable end-users to create apps using UI wizards.
141-
* You can add a schema-less application to enable a stand-alone app with a specific configuration. Refer to [DIAL Core dynamic settings](https://github.com/epam/ai-dial-core?tab=readme-ov-file#dynamic-settings) to learn how to register your app's endpoint using `routes` to start using your app in DIAL and access all DIAL Core features.
145+
* You can add a schema-less application to enable a stand-alone app with a specific configuration.
146+
* Refer to [DIAL Core dynamic settings](https://github.com/epam/ai-dial-core?tab=readme-ov-file#dynamic-settings) to learn how to register your app's endpoint using `routes` to start using your app in DIAL and access all DIAL Core features.
142147

143148

144149

0 commit comments

Comments
 (0)