You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/tutorials/1.developers/4.apps-development/3.enable-app.md
+30-25Lines changed: 30 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,38 +1,42 @@
1
1
# How to Enable Apps in DIAL
2
2
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).
4
8
5
9
The prerequisite to the application enablement in DIAL, is a running container with your application.
6
10
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
+
8
15
9
-
## Introduction
10
16
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
12
18
13
19
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.
14
20
15
21
These applications can be categorized as either schema-rich or schema-less:
16
22
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
19
24
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.
21
26
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.
23
28
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
25
30
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).
27
32
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
29
34
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.
31
36
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.
34
38
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.
36
40
37
41
### Using API
38
42
@@ -43,11 +47,11 @@ You can use the DIAL API to enable a schema-rich application of a specific type.
43
47
Send a [PUT](https://dialx.ai/dial_api#tag/Applications/operation/saveCustomApplication) request to DIAL Core, where you provide:
44
48
45
49
* 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.
47
51
*`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.
48
52
- If `applicationTypeSchemaId` is absent or `NULL`, `applicationProperties` are not required.
49
53
- 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.
51
55
52
56
```json
53
57
//Example for your reference
@@ -69,7 +73,7 @@ Send a [PUT](https://dialx.ai/dial_api#tag/Applications/operation/saveCustomAppl
69
73
70
74
#### UI Wizard
71
75
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.
73
77
74
78
> Refer to [User guide](/docs/tutorials/0.user-guide.md#applications) to learn how to create applications using wizards.
75
79
@@ -79,23 +83,23 @@ If your application type's schema includes `dial:applicationTypeEditorUrl`, the
79
83
80
84
DIAL setup admin can enable a schema-rich application by including a JSON object with apps configurations in the DIAL Core configuration.
81
85
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.
83
87
84
88
## Enable Schema-Less Applications
85
89
86
90
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.
87
91
88
92
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.
89
93
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.
91
97
92
98
### Using API
93
99
94
100
**Important**: Apps enabled via the DIAL API, can be modified using API or UI wizards, provided the corresponding permissions are enabled.
95
101
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`.
99
103
100
104
```json
101
105
//Example for your reference
@@ -128,7 +132,7 @@ Use the [PUT call](https://dialx.ai/dial_api#tag/Applications/operation/saveCust
128
132
129
133
DIAL setup admin can enable a schema-less application by including a JSON object with apps configurations in the DIAL Core configuration.
130
134
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.
132
136
133
137
134
138
## Bring Apps to DIAL
@@ -138,7 +142,8 @@ DIAL setup admin can enable a schema-less application by including a JSON object
138
142
Following a similar pattern as for DIAL-native applications:
139
143
140
144
* 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.
0 commit comments