This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch 3960-make-datasets-a-first-class-ui-view
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit f0c36082ab09e713b5385004f1a817ce5071ffbd
Author: Dominik Riemer <[email protected]>
AuthorDate: Tue Nov 25 08:35:03 2025 +0100

    Move datasets to top-level view
---
 ui/deployment/dev/config.yml                       |   1 +
 ui/deployment/modules.yml                          |  13 +
 .../basic-header-title/header-title.component.html |   3 +
 .../basic-header-title/header-title.component.scss |   7 +
 .../basic-header-title/header-title.component.ts   |   3 +
 ui/src/app/_enums/page-name.enum.ts                |   1 +
 .../configuration/configuration-tabs.service.ts    |   6 -
 ui/src/app/configuration/configuration.module.ts   |  23 --
 .../datalake-configuration.component.html          | 437 ---------------------
 .../datalake-configuration-entry.ts                |   2 +-
 .../datalake-configuration.component.html          | 403 +++++++++++++++++++
 .../datalake-configuration.component.scss          |   0
 .../datalake-configuration.component.ts            |  12 +-
 ui/src/app/dataset/dataset.module.ts               | 102 +++++
 .../select-export/select-format.component.html     |   0
 .../select-export/select-format.component.scss     |   0
 .../select-export/select-format.component.ts       |   0
 .../select-data-retention.component.html           |   0
 .../select-data-retention.component.scss           |   0
 .../select-data-retention.component.ts             |   0
 .../select-retention/select-data.component.html    |   0
 .../select-retention/select-data.component.scss    |   0
 .../select-retention/select-data.component.ts      |   0
 .../select-retention-action.component.html         |   0
 .../select-retention-action.component.scss         |   0
 .../select-retention-action.component.ts           |   0
 .../data-retention-dialog.component.html           |   0
 .../data-retention-dialog.component.scss           |   0
 .../data-retention-dialog.component.ts             |   0
 .../model/data-retention-config.model.ts           |   0
 .../model/data-retention-dialog.model.ts           |   0
 .../model/data-retention-provider.model.ts         |   0
 .../model/retention-config.model.ts                |   0
 .../model/retention-export-config.model.ts         |   0
 .../delete-datalake-index-dialog.component.html    |   0
 .../delete-datalake-index-dialog.component.ts      |   0
 .../delete-export-provider-dialog.component.html   |   0
 .../delete-export-provider-dialog.component.ts     |   0
 .../export-provider-dialog.component.html          |   0
 .../export-provider-dialog.component.ts            |   0
 40 files changed, 540 insertions(+), 473 deletions(-)

diff --git a/ui/deployment/dev/config.yml b/ui/deployment/dev/config.yml
index 39676e6e0f..26817a9431 100644
--- a/ui/deployment/dev/config.yml
+++ b/ui/deployment/dev/config.yml
@@ -25,4 +25,5 @@ modules:
     - spDashboard
     - spDataExplorer
     - spAssets
+    - spDatasets
     - spConfiguration
diff --git a/ui/deployment/modules.yml b/ui/deployment/modules.yml
index 8c30a2c1d3..a807e89301 100644
--- a/ui/deployment/modules.yml
+++ b/ui/deployment/modules.yml
@@ -28,6 +28,19 @@ spAssets:
     pageNames: 'PageName.ASSETS'
     showStatusBox: false
     category: 'management'
+spDatasets:
+    componentImport: False
+    moduleName: 'DatasetModule'
+    path: './dataset/dataset.module'
+    link: 'datasets'
+    url: '/datasets'
+    title: 'Datasets'
+    description: 'Manage datasets'
+    icon: 'dataset'
+    privileges: '[UserPrivilege.PRIVILEGE_READ_PIPELINE, 
UserPrivilege.PRIVILEGE_WRITE_PIPELINE, UserPrivilege.PRIVILEGE_READ_DASHBOARD, 
UserPrivilege.PRIVILEGE_WRITE_DASHBOARD]'
+    pageNames: 'PageName.DATASETS'
+    showStatusBox: false
+    category: 'management'
 spHome:
     streamPipesModule: True
     moduleName: 'HomeModule'
diff --git 
a/ui/projects/streampipes/shared-ui/src/lib/components/basic-header-title/header-title.component.html
 
b/ui/projects/streampipes/shared-ui/src/lib/components/basic-header-title/header-title.component.html
index f503b279ca..8d858ab132 100644
--- 
a/ui/projects/streampipes/shared-ui/src/lib/components/basic-header-title/header-title.component.html
+++ 
b/ui/projects/streampipes/shared-ui/src/lib/components/basic-header-title/header-title.component.html
@@ -18,4 +18,7 @@
 
 <div class="header-title title-left-border" [ngStyle]="{ margin: margin }">
     {{ title }}
+    @if (description) {
+        <div class="header-description">{{ description }}</div>
+    }
 </div>
diff --git 
a/ui/projects/streampipes/shared-ui/src/lib/components/basic-header-title/header-title.component.scss
 
b/ui/projects/streampipes/shared-ui/src/lib/components/basic-header-title/header-title.component.scss
index 3146d3239c..05d774f767 100644
--- 
a/ui/projects/streampipes/shared-ui/src/lib/components/basic-header-title/header-title.component.scss
+++ 
b/ui/projects/streampipes/shared-ui/src/lib/components/basic-header-title/header-title.component.scss
@@ -29,3 +29,10 @@
         )
         1;
 }
+
+.header-description {
+    font-size: clamp(0.875rem, 1.2vw, 0.95rem);
+    line-height: 1.35;
+    color: var(--fg-muted);
+    font-weight: 300;
+}
diff --git 
a/ui/projects/streampipes/shared-ui/src/lib/components/basic-header-title/header-title.component.ts
 
b/ui/projects/streampipes/shared-ui/src/lib/components/basic-header-title/header-title.component.ts
index b9683b44ce..9934cf101a 100644
--- 
a/ui/projects/streampipes/shared-ui/src/lib/components/basic-header-title/header-title.component.ts
+++ 
b/ui/projects/streampipes/shared-ui/src/lib/components/basic-header-title/header-title.component.ts
@@ -28,6 +28,9 @@ export class SpBasicHeaderTitleComponent implements OnInit {
     @Input()
     title: string;
 
+    @Input()
+    description: string;
+
     @Input()
     margin = '20px 0px';
 
diff --git a/ui/src/app/_enums/page-name.enum.ts 
b/ui/src/app/_enums/page-name.enum.ts
index 99c9e30cc4..9197e00f55 100644
--- a/ui/src/app/_enums/page-name.enum.ts
+++ b/ui/src/app/_enums/page-name.enum.ts
@@ -31,4 +31,5 @@ export enum PageName {
     PROFILE,
     SETTINGS,
     ASSETS,
+    DATASETS,
 }
diff --git a/ui/src/app/configuration/configuration-tabs.service.ts 
b/ui/src/app/configuration/configuration-tabs.service.ts
index f37b3bade0..1c8c0558e9 100644
--- a/ui/src/app/configuration/configuration-tabs.service.ts
+++ b/ui/src/app/configuration/configuration-tabs.service.ts
@@ -31,12 +31,6 @@ export class SpConfigurationTabsService {
             itemLink: ['configuration', 'general'],
             roles: ['ROLE_ADMIN'],
         },
-        {
-            itemId: 'datalake',
-            itemTitle: this.translateService.instant('Data Lake'),
-            itemLink: ['configuration', 'datalake'],
-            roles: ['ROLE_ADMIN'],
-        },
         {
             itemId: 'export',
             itemTitle: this.translateService.instant('Export/Import'),
diff --git a/ui/src/app/configuration/configuration.module.ts 
b/ui/src/app/configuration/configuration.module.ts
index f4ffeaafec..90a43d737d 100644
--- a/ui/src/app/configuration/configuration.module.ts
+++ b/ui/src/app/configuration/configuration.module.ts
@@ -29,8 +29,6 @@ import { FormsModule, ReactiveFormsModule } from 
'@angular/forms';
 
 import { MessagingConfigurationComponent } from 
'./messaging-configuration/messaging-configuration.component';
 import { DragDropModule } from '@angular/cdk/drag-drop';
-import { DatalakeConfigurationComponent } from 
'./datalake-configuration/datalake-configuration.component';
-import { DeleteDatalakeIndexComponent } from 
'./dialog/delete-datalake-index/delete-datalake-index-dialog.component';
 import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
 import { SecurityConfigurationComponent } from 
'./security-configuration/security-configuration.component';
 import { CoreUiModule } from '../core-ui/core-ui.module';
@@ -106,13 +104,6 @@ import { AlternateIdConfigurationComponent } from 
'./security-configuration/alte
 import { UserAcknowledgmentComponent } from 
'./general-configuration/user-acknowledgement/user-acknowledgment.component';
 import { QuillEditorComponent } from 'ngx-quill';
 import { MatStepperModule } from '@angular/material/stepper';
-import { DataRetentionDialogComponent } from 
'./dialog/data-retention-dialog/data-retention-dialog.component';
-import { ExportProviderComponent } from 
'./dialog/export-provider-dialog/export-provider-dialog.component';
-import { SelectDataComponent } from 
'./dialog/data-retention-dialog/components/select-retention/select-data.component';
-import { SelectDataRetentionComponent } from 
'./dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component';
-import { SelectRetentionActionComponent } from 
'./dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component';
-import { SelectDataExportComponent } from 
'./dialog/data-retention-dialog/components/select-export/select-format.component';
-import { DeleteExportProviderComponent } from 
'./dialog/delete-export-provider/delete-export-provider-dialog.component';
 @NgModule({
     imports: [
         CommonModule,
@@ -152,11 +143,6 @@ import { DeleteExportProviderComponent } from 
'./dialog/delete-export-provider/d
                         component: GeneralConfigurationComponent,
                         canActivate: [configurationRouteGuard],
                     },
-                    {
-                        path: 'datalake',
-                        component: DatalakeConfigurationComponent,
-                        canActivate: [configurationRouteGuard],
-                    },
                     {
                         path: 'email',
                         component: EmailConfigurationComponent,
@@ -223,7 +209,6 @@ import { DeleteExportProviderComponent } from 
'./dialog/delete-export-provider/d
         ServiceConfigsBooleanComponent,
         ServiceConfigsItemComponent,
         ServiceConfigsNumberComponent,
-        DeleteDatalakeIndexComponent,
         EditAssetLocationComponent,
         EditAssetLocationAreaComponent,
         EditRoleDialogComponent,
@@ -249,7 +234,6 @@ import { DeleteExportProviderComponent } from 
'./dialog/delete-export-provider/d
         SecurityServiceConfigComponent,
         SiteAreaConfigurationComponent,
         MessagingConfigurationComponent,
-        DatalakeConfigurationComponent,
         SpConfigurationLinkSettingsComponent,
         SpDataExportImportComponent,
         SpDataExportDialogComponent,
@@ -262,8 +246,6 @@ import { DeleteExportProviderComponent } from 
'./dialog/delete-export-provider/d
         SpMessagingBrokerConfigComponent,
         SpRegisteredExtensionsServiceComponent,
         SpExtensionsServiceConfigurationComponent,
-        DataRetentionDialogComponent,
-        ExportProviderComponent,
         SpExtensionsInstallationComponent,
         SpExtensionsInstallationDialogComponent,
         EndpointItemComponent,
@@ -275,11 +257,6 @@ import { DeleteExportProviderComponent } from 
'./dialog/delete-export-provider/d
         CertificateDetailsDialogComponent,
         AlternateIdConfigurationComponent,
         UserAcknowledgmentComponent,
-        SelectDataComponent,
-        SelectDataRetentionComponent,
-        SelectRetentionActionComponent,
-        SelectDataExportComponent,
-        DeleteExportProviderComponent,
     ],
     providers: [
         OrderByPipe,
diff --git 
a/ui/src/app/configuration/datalake-configuration/datalake-configuration.component.html
 
b/ui/src/app/configuration/datalake-configuration/datalake-configuration.component.html
deleted file mode 100644
index a78bea7e96..0000000000
--- 
a/ui/src/app/configuration/datalake-configuration/datalake-configuration.component.html
+++ /dev/null
@@ -1,437 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-<sp-basic-nav-tabs [spNavigationItems]="tabs" [activeLink]="'datalake'">
-    <div fxLayout="row" class="page-container-padding">
-        <div fxFlex="100" fxLayout="column" fxLayoutAlign="start start">
-            <sp-split-section
-                [title]="'Data Lake Settings' | translate"
-                [subtitle]="'Manage persisted data streams' | translate"
-            >
-                <button
-                    section-actions
-                    color="accent"
-                    mat-icon-button
-                    [matTooltip]="'Refresh' | translate"
-                    data-cy="refresh-data-lake-measures"
-                    (click)="loadAvailableMeasurements()"
-                >
-                    <mat-icon>refresh</mat-icon>
-                </button>
-                <div fxFlex="100" fxLayout="column">
-                    <table
-                        fxFlex="100"
-                        mat-table
-                        data-cy="datalake-settings"
-                        [dataSource]="dataSource"
-                        style="width: 100%"
-                        matSort
-                    >
-                        <ng-container matColumnDef="name">
-                            <th
-                                mat-header-cell
-                                mat-sort-header
-                                *matHeaderCellDef
-                            >
-                                {{ 'Name' | translate }}
-                            </th>
-                            <td mat-cell *matCellDef="let configurationEntry">
-                                {{ configurationEntry.name }}
-                            </td>
-                        </ng-container>
-
-                        <ng-container matColumnDef="pipeline">
-                            <th
-                                mat-header-cell
-                                mat-sort-header
-                                *matHeaderCellDef
-                            >
-                                {{ 'Related Pipeline' | translate }}
-                            </th>
-                            <td mat-cell *matCellDef="let configurationEntry">
-                                {{ configurationEntry.pipelines }}
-                            </td>
-                        </ng-container>
-
-                        <ng-container matColumnDef="events">
-                            <th
-                                mat-header-cell
-                                mat-sort-header
-                                *matHeaderCellDef
-                            >
-                                {{ '# Events' | translate }}
-                            </th>
-                            <td
-                                mat-cell
-                                data-cy="datalake-number-of-events"
-                                *matCellDef="let configurationEntry"
-                            >
-                                @if (configurationEntry.events < 0) {
-                                    <mat-spinner
-                                        [diameter]="20"
-                                        fxLayoutAlign="center"
-                                        style="margin: 10px 0 5px 0"
-                                        color="accent"
-                                        
data-cy="datalake-number-of-events-spinner"
-                                        >{{ 'Loading' | translate }}
-                                    </mat-spinner>
-                                } @else {
-                                    <span>
-                                        {{ configurationEntry.events | number 
}}
-                                    </span>
-                                }
-                            </td>
-                        </ng-container>
-
-                        <ng-container matColumnDef="download">
-                            <th mat-header-cell *matHeaderCellDef>Download</th>
-                            <td mat-cell *matCellDef="let configurationEntry">
-                                <div fxLayout="row">
-                                    <span
-                                        fxFlex
-                                        fxFlexOrder="3"
-                                        fxLayout="row"
-                                        fxLayoutAlign="start center"
-                                    >
-                                        <button
-                                            color="accent"
-                                            mat-icon-button
-                                            [matTooltip]="
-                                                'Download data from index'
-                                                    | translate
-                                            "
-                                            matTooltipPosition="above"
-                                            data-cy="datalake-download-btn"
-                                            (click)="
-                                                openDownloadDialog(
-                                                    configurationEntry.name
-                                                )
-                                            "
-                                        >
-                                            <i class="material-icons"
-                                                >download</i
-                                            >
-                                        </button>
-                                    </span>
-                                </div>
-                            </td>
-                        </ng-container>
-
-                        <ng-container matColumnDef="truncate">
-                            <th mat-header-cell *matHeaderCellDef>
-                                {{ 'Truncate' | translate }}
-                            </th>
-                            <td mat-cell *matCellDef="let configurationEntry">
-                                <div fxLayout="row">
-                                    <span
-                                        fxFlex
-                                        fxFlexOrder="3"
-                                        fxLayout="row"
-                                        fxLayoutAlign="start center"
-                                    >
-                                        <button
-                                            color="accent"
-                                            mat-icon-button
-                                            [matTooltip]="
-                                                'Truncate all data from index'
-                                                    | translate
-                                            "
-                                            matTooltipPosition="above"
-                                            data-cy="datalake-truncate-btn"
-                                            (click)="
-                                                cleanDatalakeIndex(
-                                                    configurationEntry.name
-                                                )
-                                            "
-                                        >
-                                            <i class="material-icons"
-                                                >local_fire_department</i
-                                            >
-                                        </button>
-                                    </span>
-                                </div>
-                            </td>
-                        </ng-container>
-
-                        <ng-container matColumnDef="remove">
-                            <th mat-header-cell *matHeaderCellDef>
-                                {{ 'Remove' | translate }}
-                            </th>
-                            <td mat-cell *matCellDef="let configurationEntry">
-                                <div fxLayout="row">
-                                    <span
-                                        fxFlex
-                                        fxFlexOrder="3"
-                                        fxLayout="row"
-                                        fxLayoutAlign="start center"
-                                    >
-                                        <button
-                                            color="accent"
-                                            mat-icon-button
-                                            [matTooltip]="
-                                                'Remove index from database'
-                                                    | translate
-                                            "
-                                            data-cy="datalake-delete-btn"
-                                            matTooltipPosition="above"
-                                            [disabled]="
-                                                !configurationEntry.remove
-                                            "
-                                            (click)="
-                                                deleteDatalakeIndex(
-                                                    configurationEntry.name
-                                                )
-                                            "
-                                        >
-                                            <i 
class="material-icons">delete</i>
-                                        </button>
-                                    </span>
-                                </div>
-                            </td>
-                        </ng-container>
-
-                        <ng-container matColumnDef="retention">
-                            <th mat-header-cell *matHeaderCellDef>
-                                {{ 'Retention Rate' | translate }}
-                            </th>
-                            <td mat-cell *matCellDef="let configurationEntry">
-                                <div fxLayout="row">
-                                    <span
-                                        fxFlex
-                                        fxFlexOrder="3"
-                                        fxLayout="row"
-                                        fxLayoutAlign="start center"
-                                    >
-                                        <button
-                                            color="accent"
-                                            mat-icon-button
-                                            [matTooltip]="
-                                                'Set retention rate' | 
translate
-                                            "
-                                            data-cy="datalake-retention-btn"
-                                            matTooltipPosition="above"
-                                            (click)="
-                                                openRetentionDialog(
-                                                    
configurationEntry.elementId
-                                                )
-                                            "
-                                        >
-                                            <i
-                                                class="material-icons"
-                                                [ngStyle]="{
-                                                    color: 
configurationEntry?.retention
-                                                        ? 'green'
-                                                        : 'red'
-                                                }"
-                                                >history</i
-                                            >
-                                        </button>
-                                    </span>
-                                </div>
-                            </td>
-                        </ng-container>
-
-                        <tr
-                            mat-header-row
-                            *matHeaderRowDef="displayedColumns"
-                        ></tr>
-                        <tr
-                            mat-row
-                            *matRowDef="let row; columns: displayedColumns"
-                        ></tr>
-                    </table>
-                </div>
-                <div fxFlex="100" fxLayoutAlign="end end">
-                    <mat-paginator
-                        [pageSizeOptions]="[pageSize]"
-                        [pageSize]="pageSize"
-                        (page)="onPageChange($event)"
-                    ></mat-paginator>
-                </div>
-                @if (availableMeasurements.length === 0) {
-                    <h5>{{ '(no stored measurements)' | translate }}</h5>
-                }
-            </sp-split-section>
-            <sp-split-section
-                [title]="'Export Providers' | translate"
-                [subtitle]="
-                    'Add, Edit, and Delete export providers used for backing 
up data lakes.'
-                        | translate
-                "
-            >
-                <div
-                    fxLayout="row"
-                    fxLayoutAlign="end center"
-                    section-actions
-                    fxLayoutGap="5px"
-                >
-                    <button
-                        mat-flat-button
-                        matTooltip="{{ 'New' | translate }}"
-                        data-cy="new-export-providers"
-                        (click)="createExportProvider(null)"
-                    >
-                        <mat-icon>add</mat-icon>
-                        <span>{{ 'New' | translate }}</span>
-                    </button>
-                    <button
-                        mat-icon-button
-                        matTooltip="{{ 'Refresh' | translate }}"
-                        data-cy="refresh-export-providers-measures"
-                        (click)="loadAvailableExportProvider()"
-                    >
-                        <mat-icon>refresh</mat-icon>
-                    </button>
-                </div>
-                <table
-                    fxFlex="100"
-                    mat-table
-                    data-cy="exportproviders-settings"
-                    [dataSource]="dataSourceExport"
-                    style="width: 100%"
-                    matSort
-                >
-                    <ng-container matColumnDef="providertype">
-                        <th mat-header-cell mat-sort-header *matHeaderCellDef>
-                            {{ 'Provider Type' | translate }}
-                        </th>
-                        <td mat-cell *matCellDef="let configurationEntry">
-                            {{ configurationEntry.providerType }}
-                        </td>
-                    </ng-container>
-
-                    <ng-container matColumnDef="endpoint">
-                        <th mat-header-cell mat-sort-header *matHeaderCellDef>
-                            {{ 'Endpoint' | translate }}
-                        </th>
-                        <td mat-cell *matCellDef="let configurationEntry">
-                            {{ configurationEntry.endPoint }}
-                        </td>
-                    </ng-container>
-
-                    <ng-container matColumnDef="bucket">
-                        <th mat-header-cell mat-sort-header *matHeaderCellDef>
-                            {{ 'Bucket' | translate }}
-                        </th>
-                        <td mat-cell *matCellDef="let configurationEntry">
-                            {{ configurationEntry.bucketName }}
-                        </td>
-                    </ng-container>
-
-                    <ng-container matColumnDef="editExportProvider">
-                        <th mat-header-cell *matHeaderCellDef>
-                            {{ 'Edit' | translate }}
-                        </th>
-                        <td mat-cell *matCellDef="let configurationEntry">
-                            <div
-                                *ngIf="
-                                    configurationEntry.providerId !== 'FOLDER'
-                                "
-                            >
-                                <div fxLayout="row">
-                                    <span
-                                        fxFlex
-                                        fxFlexOrder="3"
-                                        fxLayout="row"
-                                        fxLayoutAlign="start center"
-                                    >
-                                        <button
-                                            color="accent"
-                                            mat-icon-button
-                                            matTooltip="{{
-                                                'Edit Export Provider'
-                                                    | translate
-                                            }}"
-                                            matTooltipPosition="above"
-                                            data-cy="exportProvider-edit-btn"
-                                            (click)="
-                                                createExportProvider(
-                                                    configurationEntry
-                                                )
-                                            "
-                                        >
-                                            <i class="material-icons">edit</i>
-                                        </button>
-                                    </span>
-                                </div>
-                            </div>
-                        </td>
-                    </ng-container>
-
-                    <ng-container matColumnDef="delete">
-                        <th mat-header-cell *matHeaderCellDef>
-                            {{ 'Remove' | translate }}
-                        </th>
-                        <td mat-cell *matCellDef="let configurationEntry">
-                            <div
-                                *ngIf="
-                                    configurationEntry.providerId !== 'FOLDER'
-                                "
-                            >
-                                <div fxLayout="row">
-                                    <span
-                                        fxFlex
-                                        fxFlexOrder="3"
-                                        fxLayout="row"
-                                        fxLayoutAlign="start center"
-                                    >
-                                        <button
-                                            color="accent"
-                                            mat-icon-button
-                                            matTooltip="{{
-                                                'Remove export provider 
configuration'
-                                                    | translate
-                                            }}"
-                                            data-cy="exportProvider-delete-btn"
-                                            matTooltipPosition="above"
-                                            (click)="
-                                                deleteExportProvider(
-                                                    
configurationEntry.providerId
-                                                )
-                                            "
-                                        >
-                                            <i 
class="material-icons">delete</i>
-                                        </button>
-                                    </span>
-                                </div>
-                            </div>
-                        </td>
-                    </ng-container>
-
-                    <tr
-                        mat-header-row
-                        *matHeaderRowDef="displayedColumnsExport"
-                    ></tr>
-                    <tr
-                        mat-row
-                        *matRowDef="let row; columns: displayedColumnsExport"
-                    ></tr>
-                </table>
-
-                <div
-                    *ngIf="
-                        !availableExportProvider ||
-                        availableExportProvider.length === 0
-                    "
-                >
-                    <h5>{{ 'no stored export providers' | translate }}</h5>
-                </div>
-            </sp-split-section>
-        </div>
-    </div>
-</sp-basic-nav-tabs>
diff --git 
a/ui/src/app/configuration/datalake-configuration/datalake-configuration-entry.ts
 
b/ui/src/app/dataset/components/datalake-configuration/datalake-configuration-entry.ts
similarity index 91%
rename from 
ui/src/app/configuration/datalake-configuration/datalake-configuration-entry.ts
rename to 
ui/src/app/dataset/components/datalake-configuration/datalake-configuration-entry.ts
index 545d12a72d..a56a29e6e5 100644
--- 
a/ui/src/app/configuration/datalake-configuration/datalake-configuration-entry.ts
+++ 
b/ui/src/app/dataset/components/datalake-configuration/datalake-configuration-entry.ts
@@ -1,5 +1,5 @@
 import { RetentionTimeConfig } from '@streampipes/platform-services';
-import { RetentionConfig } from 
'../dialog/data-retention-dialog/model/retention-config.model';
+import { RetentionConfig } from 
'../../dialog/data-retention-dialog/model/retention-config.model';
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
diff --git 
a/ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.html
 
b/ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.html
new file mode 100644
index 0000000000..63eff78102
--- /dev/null
+++ 
b/ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.html
@@ -0,0 +1,403 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~    http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~
+  -->
+
+<sp-basic-view [showBackLink]="false" [padding]="true">
+    <div fxLayout="column" fxLayoutAlign="start start">
+        <sp-basic-header-title-component
+            [title]="'Datasets' | translate"
+        ></sp-basic-header-title-component>
+        <button
+            section-actions
+            color="accent"
+            mat-icon-button
+            [matTooltip]="'Refresh' | translate"
+            data-cy="refresh-data-lake-measures"
+            (click)="loadAvailableMeasurements()"
+        >
+            <mat-icon>refresh</mat-icon>
+        </button>
+        <div fxFlex="100" fxLayout="column">
+            <table
+                fxFlex="100"
+                mat-table
+                data-cy="datalake-settings"
+                [dataSource]="dataSource"
+                style="width: 100%"
+                matSort
+            >
+                <ng-container matColumnDef="name">
+                    <th mat-header-cell mat-sort-header *matHeaderCellDef>
+                        {{ 'Name' | translate }}
+                    </th>
+                    <td mat-cell *matCellDef="let configurationEntry">
+                        {{ configurationEntry.name }}
+                    </td>
+                </ng-container>
+
+                <ng-container matColumnDef="pipeline">
+                    <th mat-header-cell mat-sort-header *matHeaderCellDef>
+                        {{ 'Related Pipeline' | translate }}
+                    </th>
+                    <td mat-cell *matCellDef="let configurationEntry">
+                        {{ configurationEntry.pipelines }}
+                    </td>
+                </ng-container>
+
+                <ng-container matColumnDef="events">
+                    <th mat-header-cell mat-sort-header *matHeaderCellDef>
+                        {{ '# Events' | translate }}
+                    </th>
+                    <td
+                        mat-cell
+                        data-cy="datalake-number-of-events"
+                        *matCellDef="let configurationEntry"
+                    >
+                        @if (configurationEntry.events < 0) {
+                            <mat-spinner
+                                [diameter]="20"
+                                fxLayoutAlign="center"
+                                style="margin: 10px 0 5px 0"
+                                color="accent"
+                                data-cy="datalake-number-of-events-spinner"
+                                >{{ 'Loading' | translate }}
+                            </mat-spinner>
+                        } @else {
+                            <span>
+                                {{ configurationEntry.events | number }}
+                            </span>
+                        }
+                    </td>
+                </ng-container>
+
+                <ng-container matColumnDef="download">
+                    <th mat-header-cell *matHeaderCellDef>Download</th>
+                    <td mat-cell *matCellDef="let configurationEntry">
+                        <div fxLayout="row">
+                            <span
+                                fxFlex
+                                fxFlexOrder="3"
+                                fxLayout="row"
+                                fxLayoutAlign="start center"
+                            >
+                                <button
+                                    color="accent"
+                                    mat-icon-button
+                                    [matTooltip]="
+                                        'Download data from index' | translate
+                                    "
+                                    matTooltipPosition="above"
+                                    data-cy="datalake-download-btn"
+                                    (click)="
+                                        openDownloadDialog(
+                                            configurationEntry.name
+                                        )
+                                    "
+                                >
+                                    <i class="material-icons">download</i>
+                                </button>
+                            </span>
+                        </div>
+                    </td>
+                </ng-container>
+
+                <ng-container matColumnDef="truncate">
+                    <th mat-header-cell *matHeaderCellDef>
+                        {{ 'Truncate' | translate }}
+                    </th>
+                    <td mat-cell *matCellDef="let configurationEntry">
+                        <div fxLayout="row">
+                            <span
+                                fxFlex
+                                fxFlexOrder="3"
+                                fxLayout="row"
+                                fxLayoutAlign="start center"
+                            >
+                                <button
+                                    color="accent"
+                                    mat-icon-button
+                                    [matTooltip]="
+                                        'Truncate all data from index'
+                                            | translate
+                                    "
+                                    matTooltipPosition="above"
+                                    data-cy="datalake-truncate-btn"
+                                    (click)="
+                                        cleanDatalakeIndex(
+                                            configurationEntry.name
+                                        )
+                                    "
+                                >
+                                    <i class="material-icons"
+                                        >local_fire_department</i
+                                    >
+                                </button>
+                            </span>
+                        </div>
+                    </td>
+                </ng-container>
+
+                <ng-container matColumnDef="remove">
+                    <th mat-header-cell *matHeaderCellDef>
+                        {{ 'Remove' | translate }}
+                    </th>
+                    <td mat-cell *matCellDef="let configurationEntry">
+                        <div fxLayout="row">
+                            <span
+                                fxFlex
+                                fxFlexOrder="3"
+                                fxLayout="row"
+                                fxLayoutAlign="start center"
+                            >
+                                <button
+                                    color="accent"
+                                    mat-icon-button
+                                    [matTooltip]="
+                                        'Remove index from database' | 
translate
+                                    "
+                                    data-cy="datalake-delete-btn"
+                                    matTooltipPosition="above"
+                                    [disabled]="!configurationEntry.remove"
+                                    (click)="
+                                        deleteDatalakeIndex(
+                                            configurationEntry.name
+                                        )
+                                    "
+                                >
+                                    <i class="material-icons">delete</i>
+                                </button>
+                            </span>
+                        </div>
+                    </td>
+                </ng-container>
+
+                <ng-container matColumnDef="retention">
+                    <th mat-header-cell *matHeaderCellDef>
+                        {{ 'Retention Rate' | translate }}
+                    </th>
+                    <td mat-cell *matCellDef="let configurationEntry">
+                        <div fxLayout="row">
+                            <span
+                                fxFlex
+                                fxFlexOrder="3"
+                                fxLayout="row"
+                                fxLayoutAlign="start center"
+                            >
+                                <button
+                                    color="accent"
+                                    mat-icon-button
+                                    [matTooltip]="
+                                        'Set retention rate' | translate
+                                    "
+                                    data-cy="datalake-retention-btn"
+                                    matTooltipPosition="above"
+                                    (click)="
+                                        openRetentionDialog(
+                                            configurationEntry.elementId
+                                        )
+                                    "
+                                >
+                                    <i
+                                        class="material-icons"
+                                        [ngStyle]="{
+                                            color: 
configurationEntry?.retention
+                                                ? 'green'
+                                                : 'red'
+                                        }"
+                                        >history</i
+                                    >
+                                </button>
+                            </span>
+                        </div>
+                    </td>
+                </ng-container>
+
+                <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
+                <tr
+                    mat-row
+                    *matRowDef="let row; columns: displayedColumns"
+                ></tr>
+            </table>
+        </div>
+        <div fxFlex="100" fxLayoutAlign="end end">
+            <mat-paginator
+                [pageSizeOptions]="[pageSize]"
+                [pageSize]="pageSize"
+                (page)="onPageChange($event)"
+            ></mat-paginator>
+        </div>
+        @if (availableMeasurements.length === 0) {
+            <h5>{{ '(no stored measurements)' | translate }}</h5>
+        }
+        <sp-split-section
+            [title]="'Export Providers' | translate"
+            [subtitle]="
+                'Add, Edit, and Delete export providers used for backing up 
data lakes.'
+                    | translate
+            "
+        >
+            <div
+                fxLayout="row"
+                fxLayoutAlign="end center"
+                section-actions
+                fxLayoutGap="5px"
+            >
+                <button
+                    mat-flat-button
+                    matTooltip="{{ 'New' | translate }}"
+                    data-cy="new-export-providers"
+                    (click)="createExportProvider(null)"
+                >
+                    <mat-icon>add</mat-icon>
+                    <span>{{ 'New' | translate }}</span>
+                </button>
+                <button
+                    mat-icon-button
+                    matTooltip="{{ 'Refresh' | translate }}"
+                    data-cy="refresh-export-providers-measures"
+                    (click)="loadAvailableExportProvider()"
+                >
+                    <mat-icon>refresh</mat-icon>
+                </button>
+            </div>
+            <table
+                fxFlex="100"
+                mat-table
+                data-cy="exportproviders-settings"
+                [dataSource]="dataSourceExport"
+                style="width: 100%"
+                matSort
+            >
+                <ng-container matColumnDef="providertype">
+                    <th mat-header-cell mat-sort-header *matHeaderCellDef>
+                        {{ 'Provider Type' | translate }}
+                    </th>
+                    <td mat-cell *matCellDef="let configurationEntry">
+                        {{ configurationEntry.providerType }}
+                    </td>
+                </ng-container>
+
+                <ng-container matColumnDef="endpoint">
+                    <th mat-header-cell mat-sort-header *matHeaderCellDef>
+                        {{ 'Endpoint' | translate }}
+                    </th>
+                    <td mat-cell *matCellDef="let configurationEntry">
+                        {{ configurationEntry.endPoint }}
+                    </td>
+                </ng-container>
+
+                <ng-container matColumnDef="bucket">
+                    <th mat-header-cell mat-sort-header *matHeaderCellDef>
+                        {{ 'Bucket' | translate }}
+                    </th>
+                    <td mat-cell *matCellDef="let configurationEntry">
+                        {{ configurationEntry.bucketName }}
+                    </td>
+                </ng-container>
+
+                <ng-container matColumnDef="editExportProvider">
+                    <th mat-header-cell *matHeaderCellDef>
+                        {{ 'Edit' | translate }}
+                    </th>
+                    <td mat-cell *matCellDef="let configurationEntry">
+                        <div *ngIf="configurationEntry.providerId !== 
'FOLDER'">
+                            <div fxLayout="row">
+                                <span
+                                    fxFlex
+                                    fxFlexOrder="3"
+                                    fxLayout="row"
+                                    fxLayoutAlign="start center"
+                                >
+                                    <button
+                                        color="accent"
+                                        mat-icon-button
+                                        matTooltip="{{
+                                            'Edit Export Provider' | translate
+                                        }}"
+                                        matTooltipPosition="above"
+                                        data-cy="exportProvider-edit-btn"
+                                        (click)="
+                                            createExportProvider(
+                                                configurationEntry
+                                            )
+                                        "
+                                    >
+                                        <i class="material-icons">edit</i>
+                                    </button>
+                                </span>
+                            </div>
+                        </div>
+                    </td>
+                </ng-container>
+
+                <ng-container matColumnDef="delete">
+                    <th mat-header-cell *matHeaderCellDef>
+                        {{ 'Remove' | translate }}
+                    </th>
+                    <td mat-cell *matCellDef="let configurationEntry">
+                        <div *ngIf="configurationEntry.providerId !== 
'FOLDER'">
+                            <div fxLayout="row">
+                                <span
+                                    fxFlex
+                                    fxFlexOrder="3"
+                                    fxLayout="row"
+                                    fxLayoutAlign="start center"
+                                >
+                                    <button
+                                        color="accent"
+                                        mat-icon-button
+                                        matTooltip="{{
+                                            'Remove export provider 
configuration'
+                                                | translate
+                                        }}"
+                                        data-cy="exportProvider-delete-btn"
+                                        matTooltipPosition="above"
+                                        (click)="
+                                            deleteExportProvider(
+                                                configurationEntry.providerId
+                                            )
+                                        "
+                                    >
+                                        <i class="material-icons">delete</i>
+                                    </button>
+                                </span>
+                            </div>
+                        </div>
+                    </td>
+                </ng-container>
+
+                <tr
+                    mat-header-row
+                    *matHeaderRowDef="displayedColumnsExport"
+                ></tr>
+                <tr
+                    mat-row
+                    *matRowDef="let row; columns: displayedColumnsExport"
+                ></tr>
+            </table>
+
+            <div
+                *ngIf="
+                    !availableExportProvider ||
+                    availableExportProvider.length === 0
+                "
+            >
+                <h5>{{ 'no stored export providers' | translate }}</h5>
+            </div>
+        </sp-split-section>
+    </div>
+</sp-basic-view>
diff --git 
a/ui/src/app/configuration/datalake-configuration/datalake-configuration.component.scss
 
b/ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.scss
similarity index 100%
rename from 
ui/src/app/configuration/datalake-configuration/datalake-configuration.component.scss
rename to 
ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.scss
diff --git 
a/ui/src/app/configuration/datalake-configuration/datalake-configuration.component.ts
 
b/ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.ts
similarity index 94%
rename from 
ui/src/app/configuration/datalake-configuration/datalake-configuration.component.ts
rename to 
ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.ts
index bd64e827da..a2be2d06ce 100644
--- 
a/ui/src/app/configuration/datalake-configuration/datalake-configuration.component.ts
+++ 
b/ui/src/app/dataset/components/datalake-configuration/datalake-configuration.component.ts
@@ -41,12 +41,12 @@ import {
     SpBreadcrumbService,
     SpNavigationItem,
 } from '@streampipes/shared-ui';
-import { DeleteDatalakeIndexComponent } from 
'../dialog/delete-datalake-index/delete-datalake-index-dialog.component';
-import { SpConfigurationTabsService } from '../configuration-tabs.service';
-import { SpConfigurationRoutes } from '../configuration.routes';
-import { DataRetentionDialogComponent } from 
'../dialog/data-retention-dialog/data-retention-dialog.component';
-import { ExportProviderComponent } from 
'../dialog/export-provider-dialog/export-provider-dialog.component';
-import { DeleteExportProviderComponent } from 
'../dialog/delete-export-provider/delete-export-provider-dialog.component';
+import { DeleteDatalakeIndexComponent } from 
'../../dialog/delete-datalake-index/delete-datalake-index-dialog.component';
+import { SpConfigurationTabsService } from 
'../../../configuration/configuration-tabs.service';
+import { SpConfigurationRoutes } from 
'../../../configuration/configuration.routes';
+import { DataRetentionDialogComponent } from 
'../../dialog/data-retention-dialog/data-retention-dialog.component';
+import { ExportProviderComponent } from 
'../../dialog/export-provider-dialog/export-provider-dialog.component';
+import { DeleteExportProviderComponent } from 
'../../dialog/delete-export-provider/delete-export-provider-dialog.component';
 import { TranslateService } from '@ngx-translate/core';
 
 @Component({
diff --git a/ui/src/app/dataset/dataset.module.ts 
b/ui/src/app/dataset/dataset.module.ts
new file mode 100644
index 0000000000..f38f8b14ef
--- /dev/null
+++ b/ui/src/app/dataset/dataset.module.ts
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+import { CommonModule } from '@angular/common';
+import { NgModule } from '@angular/core';
+import { PlatformServicesModule } from '@streampipes/platform-services';
+import { CoreUiModule } from '../core-ui/core-ui.module';
+import { RouterModule } from '@angular/router';
+import { SharedUiModule } from '@streampipes/shared-ui';
+import { TranslateModule } from '@ngx-translate/core';
+import { DeleteDatalakeIndexComponent } from 
'./dialog/delete-datalake-index/delete-datalake-index-dialog.component';
+import { DatalakeConfigurationComponent } from 
'./components/datalake-configuration/datalake-configuration.component';
+import { DataRetentionDialogComponent } from 
'./dialog/data-retention-dialog/data-retention-dialog.component';
+import { SelectDataComponent } from 
'./dialog/data-retention-dialog/components/select-retention/select-data.component';
+import { SelectDataRetentionComponent } from 
'./dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component';
+import { ExportProviderComponent } from 
'./dialog/export-provider-dialog/export-provider-dialog.component';
+import { SelectRetentionActionComponent } from 
'./dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component';
+import { SelectDataExportComponent } from 
'./dialog/data-retention-dialog/components/select-export/select-format.component';
+import { DeleteExportProviderComponent } from 
'./dialog/delete-export-provider/delete-export-provider-dialog.component';
+import {
+    DefaultLayoutDirective,
+    FlexLayoutModule,
+} from '@ngbracket/ngx-layout';
+import { MatButtonModule, MatIconButton } from '@angular/material/button';
+import { MatIconModule } from '@angular/material/icon';
+import { MatTooltipModule } from '@angular/material/tooltip';
+import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { MatDividerModule } from '@angular/material/divider';
+import { MatTableModule } from '@angular/material/table';
+import { MatSortModule } from '@angular/material/sort';
+import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
+import { MatFormFieldModule } from '@angular/material/form-field';
+import { MatRadioModule } from '@angular/material/radio';
+import { MatSelectModule } from '@angular/material/select';
+import { MatPaginatorModule } from '@angular/material/paginator';
+import { MatInputModule } from '@angular/material/input';
+
+@NgModule({
+    imports: [
+        CommonModule,
+        CoreUiModule,
+        PlatformServicesModule,
+        SharedUiModule,
+        TranslateModule.forChild(),
+        RouterModule.forChild([
+            {
+                path: '',
+                children: [
+                    {
+                        path: '',
+                        component: DatalakeConfigurationComponent,
+                    },
+                ],
+            },
+        ]),
+        FlexLayoutModule,
+        MatIconModule,
+        MatTooltipModule,
+        FormsModule,
+        ReactiveFormsModule,
+        MatButtonModule,
+        MatDividerModule,
+        MatTableModule,
+        MatSortModule,
+        MatProgressSpinnerModule,
+        MatFormFieldModule,
+        MatRadioModule,
+        MatSelectModule,
+        MatPaginatorModule,
+        MatInputModule,
+    ],
+    declarations: [
+        DeleteDatalakeIndexComponent,
+        DatalakeConfigurationComponent,
+        DataRetentionDialogComponent,
+        ExportProviderComponent,
+        SelectDataComponent,
+        SelectDataRetentionComponent,
+        SelectRetentionActionComponent,
+        SelectDataExportComponent,
+        DeleteExportProviderComponent,
+    ],
+    exports: [],
+})
+export class DatasetModule {
+    constructor() {}
+}
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/components/select-export/select-format.component.html
 
b/ui/src/app/dataset/dialog/data-retention-dialog/components/select-export/select-format.component.html
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/components/select-export/select-format.component.html
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/components/select-export/select-format.component.html
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/components/select-export/select-format.component.scss
 
b/ui/src/app/dataset/dialog/data-retention-dialog/components/select-export/select-format.component.scss
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/components/select-export/select-format.component.scss
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/components/select-export/select-format.component.scss
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/components/select-export/select-format.component.ts
 
b/ui/src/app/dataset/dialog/data-retention-dialog/components/select-export/select-format.component.ts
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/components/select-export/select-format.component.ts
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/components/select-export/select-format.component.ts
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component.html
 
b/ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component.html
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component.html
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component.html
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component.scss
 
b/ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component.scss
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component.scss
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component.scss
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component.ts
 
b/ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component.ts
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component.ts
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-data-retention/select-data-retention.component.ts
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-data.component.html
 
b/ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-data.component.html
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-data.component.html
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-data.component.html
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-data.component.scss
 
b/ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-data.component.scss
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-data.component.scss
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-data.component.scss
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-data.component.ts
 
b/ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-data.component.ts
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-data.component.ts
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-data.component.ts
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component.html
 
b/ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component.html
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component.html
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component.html
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component.scss
 
b/ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component.scss
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component.scss
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component.scss
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component.ts
 
b/ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component.ts
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component.ts
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/components/select-retention/select-retention-action/select-retention-action.component.ts
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/data-retention-dialog.component.html
 
b/ui/src/app/dataset/dialog/data-retention-dialog/data-retention-dialog.component.html
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/data-retention-dialog.component.html
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/data-retention-dialog.component.html
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/data-retention-dialog.component.scss
 
b/ui/src/app/dataset/dialog/data-retention-dialog/data-retention-dialog.component.scss
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/data-retention-dialog.component.scss
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/data-retention-dialog.component.scss
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/data-retention-dialog.component.ts
 
b/ui/src/app/dataset/dialog/data-retention-dialog/data-retention-dialog.component.ts
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/data-retention-dialog.component.ts
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/data-retention-dialog.component.ts
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/model/data-retention-config.model.ts
 
b/ui/src/app/dataset/dialog/data-retention-dialog/model/data-retention-config.model.ts
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/model/data-retention-config.model.ts
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/model/data-retention-config.model.ts
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/model/data-retention-dialog.model.ts
 
b/ui/src/app/dataset/dialog/data-retention-dialog/model/data-retention-dialog.model.ts
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/model/data-retention-dialog.model.ts
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/model/data-retention-dialog.model.ts
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/model/data-retention-provider.model.ts
 
b/ui/src/app/dataset/dialog/data-retention-dialog/model/data-retention-provider.model.ts
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/model/data-retention-provider.model.ts
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/model/data-retention-provider.model.ts
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/model/retention-config.model.ts
 
b/ui/src/app/dataset/dialog/data-retention-dialog/model/retention-config.model.ts
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/model/retention-config.model.ts
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/model/retention-config.model.ts
diff --git 
a/ui/src/app/configuration/dialog/data-retention-dialog/model/retention-export-config.model.ts
 
b/ui/src/app/dataset/dialog/data-retention-dialog/model/retention-export-config.model.ts
similarity index 100%
rename from 
ui/src/app/configuration/dialog/data-retention-dialog/model/retention-export-config.model.ts
rename to 
ui/src/app/dataset/dialog/data-retention-dialog/model/retention-export-config.model.ts
diff --git 
a/ui/src/app/configuration/dialog/delete-datalake-index/delete-datalake-index-dialog.component.html
 
b/ui/src/app/dataset/dialog/delete-datalake-index/delete-datalake-index-dialog.component.html
similarity index 100%
rename from 
ui/src/app/configuration/dialog/delete-datalake-index/delete-datalake-index-dialog.component.html
rename to 
ui/src/app/dataset/dialog/delete-datalake-index/delete-datalake-index-dialog.component.html
diff --git 
a/ui/src/app/configuration/dialog/delete-datalake-index/delete-datalake-index-dialog.component.ts
 
b/ui/src/app/dataset/dialog/delete-datalake-index/delete-datalake-index-dialog.component.ts
similarity index 100%
rename from 
ui/src/app/configuration/dialog/delete-datalake-index/delete-datalake-index-dialog.component.ts
rename to 
ui/src/app/dataset/dialog/delete-datalake-index/delete-datalake-index-dialog.component.ts
diff --git 
a/ui/src/app/configuration/dialog/delete-export-provider/delete-export-provider-dialog.component.html
 
b/ui/src/app/dataset/dialog/delete-export-provider/delete-export-provider-dialog.component.html
similarity index 100%
rename from 
ui/src/app/configuration/dialog/delete-export-provider/delete-export-provider-dialog.component.html
rename to 
ui/src/app/dataset/dialog/delete-export-provider/delete-export-provider-dialog.component.html
diff --git 
a/ui/src/app/configuration/dialog/delete-export-provider/delete-export-provider-dialog.component.ts
 
b/ui/src/app/dataset/dialog/delete-export-provider/delete-export-provider-dialog.component.ts
similarity index 100%
rename from 
ui/src/app/configuration/dialog/delete-export-provider/delete-export-provider-dialog.component.ts
rename to 
ui/src/app/dataset/dialog/delete-export-provider/delete-export-provider-dialog.component.ts
diff --git 
a/ui/src/app/configuration/dialog/export-provider-dialog/export-provider-dialog.component.html
 
b/ui/src/app/dataset/dialog/export-provider-dialog/export-provider-dialog.component.html
similarity index 100%
rename from 
ui/src/app/configuration/dialog/export-provider-dialog/export-provider-dialog.component.html
rename to 
ui/src/app/dataset/dialog/export-provider-dialog/export-provider-dialog.component.html
diff --git 
a/ui/src/app/configuration/dialog/export-provider-dialog/export-provider-dialog.component.ts
 
b/ui/src/app/dataset/dialog/export-provider-dialog/export-provider-dialog.component.ts
similarity index 100%
rename from 
ui/src/app/configuration/dialog/export-provider-dialog/export-provider-dialog.component.ts
rename to 
ui/src/app/dataset/dialog/export-provider-dialog/export-provider-dialog.component.ts

Reply via email to