From 4b2a1a977f3726421e051e8bf5404d237a11b3a8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 19 Nov 2023 19:56:46 +0000 Subject: [PATCH 01/10] feat(Dependencies): Update dependency core-js to v3.33.3 | datasource | package | from | to | | ---------- | ------- | ------ | ------ | | npm | core-js | 3.33.2 | 3.33.3 | --- package-lock.json | 18 +++++++++--------- package.json | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 28f15ad8b6..d466731d21 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@denbi/cloud-portal-webapp", - "version": "4.804.0", + "version": "4.805.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@denbi/cloud-portal-webapp", - "version": "4.804.0", + "version": "4.805.0", "dependencies": { "@angular-eslint/eslint-plugin": "^16.0.3", "@angular/animations": "16.2.12", @@ -36,7 +36,7 @@ "bootstrap": "4.6.2", "chart.js": "4.4.0", "cli-color": "2.0.3", - "core-js": "3.33.2", + "core-js": "3.33.3", "css-loader": "6.8.1", "cssnano": "6.0.1", "d3": "7.8.5", @@ -7915,9 +7915,9 @@ } }, "node_modules/core-js": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz", - "integrity": "sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==", + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.3.tgz", + "integrity": "sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -26412,9 +26412,9 @@ } }, "core-js": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz", - "integrity": "sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==" + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.3.tgz", + "integrity": "sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==" }, "core-js-compat": { "version": "3.33.0", diff --git a/package.json b/package.json index c58c42988b..2e5d730575 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@denbi/cloud-portal-webapp", - "version": "4.804.0", + "version": "4.805.0", "description": "de.NBI Cloud Portal", "scripts": { "ng": "ng serve", @@ -46,7 +46,7 @@ "bootstrap": "4.6.2", "chart.js": "4.4.0", "cli-color": "2.0.3", - "core-js": "3.33.2", + "core-js": "3.33.3", "css-loader": "6.8.1", "cssnano": "6.0.1", "d3": "7.8.5", From 23e33b1e7bbc542f8204f6c5bfbc27b11103fbf5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 21 Nov 2023 05:39:09 +0000 Subject: [PATCH 02/10] feat(Dependencies): Update all non-major dependencies | datasource | package | from | to | | ---------- | -------------- | ------ | ------ | | npm | @types/jasmine | 5.1.2 | 5.1.3 | | npm | @types/jquery | 3.5.27 | 3.5.28 | --- package-lock.json | 32 ++++++++++++++++---------------- package.json | 6 +++--- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index d466731d21..f8ae1e103d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@denbi/cloud-portal-webapp", - "version": "4.805.0", + "version": "4.806.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@denbi/cloud-portal-webapp", - "version": "4.805.0", + "version": "4.806.0", "dependencies": { "@angular-eslint/eslint-plugin": "^16.0.3", "@angular/animations": "16.2.12", @@ -28,7 +28,7 @@ "@ng-select/ng-select": "^11.2.0", "@sindresorhus/transliterate": "1.6.0", "@types/d3": "7.4.3", - "@types/jquery": "3.5.27", + "@types/jquery": "3.5.28", "acorn": "8.11.2", "ajv-formats": "2.1.1", "angulartics2": "12.2.1", @@ -78,7 +78,7 @@ "@angular/compiler-cli": "16.2.12", "@compodoc/compodoc": "1.1.22", "@playwright/test": "1.39.0", - "@types/jasmine": "5.1.2", + "@types/jasmine": "5.1.3", "@types/node": "20.8.10", "@typescript-eslint/eslint-plugin": "^6.9.0", "@typescript-eslint/parser": "^6.9.0", @@ -5093,15 +5093,15 @@ } }, "node_modules/@types/jasmine": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.2.tgz", - "integrity": "sha512-GJzYZWAr7aZuVsQwo77ErgdnqiXiz1lwsXXKgsJEwMlAxWQqjpiTGh0JOpLGXSlIFvIAFbgZTHs0u+jBzh/GFg==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.3.tgz", + "integrity": "sha512-p86WqZZDuj3WGkf8Ltz+9OoRITkek4uk6GCz5zvbtWKHvEt2+Ib0xIbeD1/KfA5QmWe1G5YCrAtC8K0/CGJJHA==", "dev": true }, "node_modules/@types/jquery": { - "version": "3.5.27", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.27.tgz", - "integrity": "sha512-TR28Y8ezIGgfyA02UOh9x+Fy16/1qWYAnvtRd2gTBJuccX/vmddyti0MezLkTv7f+OLofVc2T961VPyKv1tXJQ==", + "version": "3.5.28", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.28.tgz", + "integrity": "sha512-2o/vlzaDXiGWFrHz/PhX88cy68UDc8NBBT9i1nU+EtRkKgRxMWLTlUkEJb+MRfhIw6wKK8RDmfoEXClH2PsIyA==", "dependencies": { "@types/sizzle": "*" } @@ -24459,15 +24459,15 @@ } }, "@types/jasmine": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.2.tgz", - "integrity": "sha512-GJzYZWAr7aZuVsQwo77ErgdnqiXiz1lwsXXKgsJEwMlAxWQqjpiTGh0JOpLGXSlIFvIAFbgZTHs0u+jBzh/GFg==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.3.tgz", + "integrity": "sha512-p86WqZZDuj3WGkf8Ltz+9OoRITkek4uk6GCz5zvbtWKHvEt2+Ib0xIbeD1/KfA5QmWe1G5YCrAtC8K0/CGJJHA==", "dev": true }, "@types/jquery": { - "version": "3.5.27", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.27.tgz", - "integrity": "sha512-TR28Y8ezIGgfyA02UOh9x+Fy16/1qWYAnvtRd2gTBJuccX/vmddyti0MezLkTv7f+OLofVc2T961VPyKv1tXJQ==", + "version": "3.5.28", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.28.tgz", + "integrity": "sha512-2o/vlzaDXiGWFrHz/PhX88cy68UDc8NBBT9i1nU+EtRkKgRxMWLTlUkEJb+MRfhIw6wKK8RDmfoEXClH2PsIyA==", "requires": { "@types/sizzle": "*" } diff --git a/package.json b/package.json index 2e5d730575..796a0f62a6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@denbi/cloud-portal-webapp", - "version": "4.805.0", + "version": "4.806.0", "description": "de.NBI Cloud Portal", "scripts": { "ng": "ng serve", @@ -38,7 +38,7 @@ "@ng-select/ng-select": "^11.2.0", "@sindresorhus/transliterate": "1.6.0", "@types/d3": "7.4.3", - "@types/jquery": "3.5.27", + "@types/jquery": "3.5.28", "acorn": "8.11.2", "ajv-formats": "2.1.1", "angulartics2": "12.2.1", @@ -91,7 +91,7 @@ "@playwright/test": "1.39.0", "@typescript-eslint/eslint-plugin": "^6.9.0", "@typescript-eslint/parser": "^6.9.0", - "@types/jasmine": "5.1.2", + "@types/jasmine": "5.1.3", "@types/node": "20.8.10", "async": "3.2.5", "audit-ci": "6.6.1", From 9815937130debb04e6ecd38d515b51ff988b320a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 22 Nov 2023 02:20:37 +0000 Subject: [PATCH 03/10] feat(Dependencies): Update all non-major dependencies | datasource | package | from | to | | ---------- | -------------- | ------ | ------ | | npm | @types/jasmine | 5.1.3 | 5.1.4 | | npm | @types/jquery | 3.5.28 | 3.5.29 | --- package-lock.json | 32 ++++++++++++++++---------------- package.json | 6 +++--- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index f8ae1e103d..ce5077e39e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@denbi/cloud-portal-webapp", - "version": "4.806.0", + "version": "4.807.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@denbi/cloud-portal-webapp", - "version": "4.806.0", + "version": "4.807.0", "dependencies": { "@angular-eslint/eslint-plugin": "^16.0.3", "@angular/animations": "16.2.12", @@ -28,7 +28,7 @@ "@ng-select/ng-select": "^11.2.0", "@sindresorhus/transliterate": "1.6.0", "@types/d3": "7.4.3", - "@types/jquery": "3.5.28", + "@types/jquery": "3.5.29", "acorn": "8.11.2", "ajv-formats": "2.1.1", "angulartics2": "12.2.1", @@ -78,7 +78,7 @@ "@angular/compiler-cli": "16.2.12", "@compodoc/compodoc": "1.1.22", "@playwright/test": "1.39.0", - "@types/jasmine": "5.1.3", + "@types/jasmine": "5.1.4", "@types/node": "20.8.10", "@typescript-eslint/eslint-plugin": "^6.9.0", "@typescript-eslint/parser": "^6.9.0", @@ -5093,15 +5093,15 @@ } }, "node_modules/@types/jasmine": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.3.tgz", - "integrity": "sha512-p86WqZZDuj3WGkf8Ltz+9OoRITkek4uk6GCz5zvbtWKHvEt2+Ib0xIbeD1/KfA5QmWe1G5YCrAtC8K0/CGJJHA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.4.tgz", + "integrity": "sha512-px7OMFO/ncXxixDe1zR13V1iycqWae0MxTaw62RpFlksUi5QuNWgQJFkTQjIOvrmutJbI7Fp2Y2N1F6D2R4G6w==", "dev": true }, "node_modules/@types/jquery": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.28.tgz", - "integrity": "sha512-2o/vlzaDXiGWFrHz/PhX88cy68UDc8NBBT9i1nU+EtRkKgRxMWLTlUkEJb+MRfhIw6wKK8RDmfoEXClH2PsIyA==", + "version": "3.5.29", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.29.tgz", + "integrity": "sha512-oXQQC9X9MOPRrMhPHHOsXqeQDnWeCDT3PelUIg/Oy8FAbzSZtFHRjc7IpbfFVmpLtJ+UOoywpRsuO5Jxjybyeg==", "dependencies": { "@types/sizzle": "*" } @@ -24459,15 +24459,15 @@ } }, "@types/jasmine": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.3.tgz", - "integrity": "sha512-p86WqZZDuj3WGkf8Ltz+9OoRITkek4uk6GCz5zvbtWKHvEt2+Ib0xIbeD1/KfA5QmWe1G5YCrAtC8K0/CGJJHA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.4.tgz", + "integrity": "sha512-px7OMFO/ncXxixDe1zR13V1iycqWae0MxTaw62RpFlksUi5QuNWgQJFkTQjIOvrmutJbI7Fp2Y2N1F6D2R4G6w==", "dev": true }, "@types/jquery": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.28.tgz", - "integrity": "sha512-2o/vlzaDXiGWFrHz/PhX88cy68UDc8NBBT9i1nU+EtRkKgRxMWLTlUkEJb+MRfhIw6wKK8RDmfoEXClH2PsIyA==", + "version": "3.5.29", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.29.tgz", + "integrity": "sha512-oXQQC9X9MOPRrMhPHHOsXqeQDnWeCDT3PelUIg/Oy8FAbzSZtFHRjc7IpbfFVmpLtJ+UOoywpRsuO5Jxjybyeg==", "requires": { "@types/sizzle": "*" } diff --git a/package.json b/package.json index 796a0f62a6..b3966ac872 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@denbi/cloud-portal-webapp", - "version": "4.806.0", + "version": "4.807.0", "description": "de.NBI Cloud Portal", "scripts": { "ng": "ng serve", @@ -38,7 +38,7 @@ "@ng-select/ng-select": "^11.2.0", "@sindresorhus/transliterate": "1.6.0", "@types/d3": "7.4.3", - "@types/jquery": "3.5.28", + "@types/jquery": "3.5.29", "acorn": "8.11.2", "ajv-formats": "2.1.1", "angulartics2": "12.2.1", @@ -91,7 +91,7 @@ "@playwright/test": "1.39.0", "@typescript-eslint/eslint-plugin": "^6.9.0", "@typescript-eslint/parser": "^6.9.0", - "@types/jasmine": "5.1.3", + "@types/jasmine": "5.1.4", "@types/node": "20.8.10", "async": "3.2.5", "audit-ci": "6.6.1", From c01327920492392c5dcf1ff5e4a985e8ae47685e Mon Sep 17 00:00:00 2001 From: dweinholz Date: Fri, 24 Nov 2023 14:46:49 +0100 Subject: [PATCH 04/10] fix(Cluster):fixed status check --- .../clustercard/clustercard.component.ts | 33 +++---------------- 1 file changed, 5 insertions(+), 28 deletions(-) diff --git a/src/app/virtualmachines/clustercard/clustercard.component.ts b/src/app/virtualmachines/clustercard/clustercard.component.ts index 243b30bc3f..b42f1df8a9 100644 --- a/src/app/virtualmachines/clustercard/clustercard.component.ts +++ b/src/app/virtualmachines/clustercard/clustercard.component.ts @@ -71,7 +71,7 @@ export class ClustercardComponent extends SharedModal implements OnInit, OnDestr * Default wait time between status checks if no other value specified. * @private */ - private checkStatusTimeout: number = 10000; + private checkStatusTimeout: number = 15000; /** * Default time in ms to show an error message if no other value specified. @@ -98,6 +98,8 @@ export class ClustercardComponent extends SharedModal implements OnInit, OnDestr } ngOnInit() { + this.statusSubscription = new Subscription(); + this.check_status_loop(); } @@ -150,8 +152,6 @@ export class ClustercardComponent extends SharedModal implements OnInit, OnDestr check_status_loop(): void { this.all_worker_loaded = this.get_all_batches_loaded(); - this.stopAllCheckStatusTimer(); - this.statusSubscription = new Subscription(); this.checkStatusTimer = setTimeout((): void => { this.statusSubscription.add( this.virtualmachineservice @@ -162,33 +162,10 @@ export class ClustercardComponent extends SharedModal implements OnInit, OnDestr this.cluster.password = password; if ( this.cluster.status !== VirtualMachineStates.DELETED - || this.cluster.status !== VirtualMachineStates.MIGRATED + && this.cluster.status !== VirtualMachineStates.NOT_FOUND + && this.cluster.status !== VirtualMachineStates.MIGRATED ) { this.check_status_loop(); - this.check_worker_count_loop(); - } - }), - ); - }, this.checkStatusTimeout); - } - - check_worker_count_loop(): void { - this.stopCheckWorkerStatusTimer(); - this.statusSubscription = new Subscription(); - this.checkWorkerStatusTimer = setTimeout((): void => { - this.statusSubscription.add( - this.virtualmachineservice - .getClusterInfo(this.cluster.cluster_id) - .subscribe((updated_cluster: Clusterinfo): void => { - const password: string = this.cluster.password; - this.cluster = new Clusterinfo(updated_cluster); - this.cluster.password = password; - this.all_worker_loaded = this.get_all_batches_loaded(); - for (const batch of this.cluster.worker_batches) { - if (batch.running_worker < batch.worker_count) { - this.check_worker_count_loop(); - break; - } } }), ); From dabdd2b92d0d62a2bda9504effac12346d59dadf Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 28 Nov 2023 11:43:10 +0000 Subject: [PATCH 05/10] working on svm wiki link andjustments --- .../workshop-overview.component.html | 19 +++++----- src/environments/environment.custom.ts | 3 +- src/environments/environment.ts | 2 ++ src/links/links.ts | 35 +++++++++---------- 4 files changed, 28 insertions(+), 31 deletions(-) diff --git a/src/app/virtualmachines/workshop/workshop-overview/workshop-overview.component.html b/src/app/virtualmachines/workshop/workshop-overview/workshop-overview.component.html index b8a75d3e85..1da0fb6503 100644 --- a/src/app/virtualmachines/workshop/workshop-overview/workshop-overview.component.html +++ b/src/app/virtualmachines/workshop/workshop-overview/workshop-overview.component.html @@ -321,9 +321,6 @@ timeframes are displayed using the "Central European Time". The date you enter is dependent on the timezone of your browser . Please enter the time slots day by day, to be more precise! -
- See more on timeframes - here.
Existing timeframes
@@ -340,8 +337,8 @@
Existing timeframes
- - + + - - + + @@ -747,13 +744,13 @@ - - + + diff --git a/src/environments/environment.custom.ts b/src/environments/environment.custom.ts index 198a34795c..2b9d3d3f2b 100644 --- a/src/environments/environment.custom.ts +++ b/src/environments/environment.custom.ts @@ -4,6 +4,8 @@ const NEW_SIMPLE_VM: string = window['env']['NEW_SIMPLE_VM'] || 'https://simplev export const environment: any = { WIKI_PRE: `https://${API_HOST}/wiki/`, + SIMPLEVM_WIKI_PRE: `https://${NEW_SIMPLE_VM}/wiki/`, + NEW_SVM_PORTAL_LINK: `${NEW_SIMPLE_VM}/portal/webapp/`, vo: window['env']['VO'] || 3335, voName: VO_NAME, production: window['env']['PRODUCTION'] === 'true' || false, @@ -16,6 +18,5 @@ export const environment: any = { voRegistrationLink: `https://signup.aai.lifescience-ri.eu/fed/registrar/?vo=elixir&targetnew=https://signup.aai.lifescience-ri.eu/fed/registrar/?vo=${VO_NAME}`, login: `https://${API_HOST}/portal/api/v0/loggedUser/`, webapp: `https://${API_HOST}/portal/webapp/`, - NEW_SVM_PORTAL_LINK: `${NEW_SIMPLE_VM}/portal/webapp/`, matomoServer: '//cloud.denbi.de/matomo/', }; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 8589937aca..5c7799bead 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -4,9 +4,11 @@ // The list of which env maps to which file can be found in `angular-cli.json`. const VO_NAME: string = window['env']['VO_NAME'] || 'denbi-dev'; +const NEW_SIMPLE_VM: string = window['env']['NEW_SIMPLE_VM'] || 'https://simplevm.denbi.de'; export const environment: any = { WIKI_PRE: 'https://portal-dev.denbi.de/wiki/', + SIMPLEVM_WIKI_PRE: `https://${NEW_SIMPLE_VM}/wiki/`, NEW_SVM_PORTAL_LINK: 'http://localhost:4200/#/', production: false, vo: 3334, diff --git a/src/links/links.ts b/src/links/links.ts index 830e656cd6..634ad8c882 100644 --- a/src/links/links.ts +++ b/src/links/links.ts @@ -1,19 +1,19 @@ import { environment } from '../environments/environment'; -export const WIKI_SNAPSHOTS: string = `${environment.WIKI_PRE}simple_vm/snapshots/`; +export const WIKI_SNAPSHOTS: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/snapshots/`; export const WIKI: string = `${environment.WIKI_PRE}`; export const WIKI_GENERATE_KEYS: string = `${environment.WIKI_PRE}quickstart/#generate-ssh-keys`; export const WIKI_NEWS_MANAGEMENT: string = `${environment.WIKI_PRE}cloud_admin/#news-management`; -export const WIKI_SIMPLEVM_CUSTOMISATION: string = `${environment.WIKI_PRE}simple_vm/customization/`; -export const WIKI_EXTEND_VOLUME: string = `${environment.WIKI_PRE}simple_vm/volumes/#extend-a-volume`; -export const WIKI_VOLUME_OVERVIEW: string = `${environment.WIKI_PRE}simple_vm/volumes/`; -export const WIKI_RESENV_LINK: string = `${environment.WIKI_PRE}simple_vm/customization/#research-environments`; -export const WIKI_RSTUDIO_LINK: string = `${environment.WIKI_PRE}simple_vm/customization/#rstudio`; -export const WIKI_JUPYTERLAB_LINK: string = `${environment.WIKI_PRE}simple_vm/customization/#jupyterlab`; -export const WIKI_GUACAMOLE_LINK: string = `${environment.WIKI_PRE}simple_vm/customization/#apache-guacamole`; -export const WIKI_NEW_INSTANCE_LINK: string = `${environment.WIKI_PRE}simple_vm/new_instance/`; -export const WIKI_INSTANCE_OVERVIEW_LINK: string = `${environment.WIKI_PRE}simple_vm/instance_overview/`; -export const WIKI_INSTANCE_DETAIL_LINK: string = `${environment.WIKI_PRE}simple_vm/instance_detail/`; +export const WIKI_SIMPLEVM_CUSTOMISATION: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/customization/`; +export const WIKI_EXTEND_VOLUME: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/volumes/#extend-a-volume`; +export const WIKI_VOLUME_OVERVIEW: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/volumes/`; +export const WIKI_RESENV_LINK: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/customization/#research-environments`; +export const WIKI_RSTUDIO_LINK: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/customization/#rstudio`; +export const WIKI_JUPYTERLAB_LINK: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/customization/#jupyterlab`; +export const WIKI_GUACAMOLE_LINK: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/customization/#apache-guacamole`; +export const WIKI_NEW_INSTANCE_LINK: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/create_instance/`; +export const WIKI_INSTANCE_OVERVIEW_LINK: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/instance_overview/`; +export const WIKI_INSTANCE_DETAIL_LINK: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/instance_detail/`; export const WIKI_LINK_ACCOUNTS: string = `${environment.WIKI_PRE}portal/user_information/#link-accounts-to-elixir`; export const WIKI_CLOUD_TERMS_LINK: string = `${environment.WIKI_PRE}portal/allocation/#terms`; export const LIFESCIENCE_LINKING_ACCOUNTS: string = 'https://profile.aai.lifescience-ri.eu/profile/identities'; @@ -24,14 +24,13 @@ export const WIKI_PUBLICATIONS: string = `${environment.WIKI_PRE}citation_and_pu export const WIKI_MEMBER_MANAGEMENT: string = `${environment.WIKI_PRE}portal/project_overview/#member-management`; export const WIKI_FAQ: string = `${environment.WIKI_PRE}FAQ/`; export const WIKI_MOTD: string = `${environment.WIKI_PRE}cloud_admin/news_management/#message-of-the-day`; -export const WIKI_WORKSHOPS: string = `${environment.WIKI_PRE}simple_vm/workshop/`; -export const WIKI_CREATE_SNAPSHOT_LINK: string = `${environment.WIKI_PRE}simple_vm/snapshots/#create-snapshot`; +export const WIKI_WORKSHOPS: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/workshop/`; +export const WIKI_CREATE_SNAPSHOT_LINK: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/snapshots/#create-a-snapshot`; export const SCALE_SCRIPT_LINK: string = 'https://raw.githubusercontent.com/deNBI/user_scripts/master/bibigrid/scaling.py'; -export const WIKI_MOUNT_VOLUME: string = `${environment.WIKI_PRE}simple_vm/volumes/#mount-a-volume`; -export const WIKI_VOLUMES_LINK: string = `${environment.WIKI_PRE}simple_vm/volumes/`; +export const WIKI_MOUNT_VOLUME: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/volumes/#mount-a-volume`; export const WIKI_MOSH_LINK: string = `${environment.WIKI_PRE}Tutorials/Mosh/`; -export const WIKI_WORKSHOP_TIMEFRAMES: string = `${environment.WIKI_PRE}simple_vm/workshop/#workshop-timeframes`; -export const WIKI_EPHEMERAL_LINK: string = `${environment.WIKI_PRE}simple_vm/new_instance/#information-for-ephemeral-flavors`; +export const WIKI_EPHEMERAL_LINK: string = `${environment.WIKI_PRE}simple_vm/create_instance/#about-ephemeral-flavors`; +// GO ON HERE export const WIKI_GROUP_INVITATIONS: string = `${environment.WIKI_PRE}simple_vm/project_overview/#inviting-members`; export const SCALING_UP_WIKI: string = `${environment.WIKI_PRE}simple_vm/Cluster/cluster_overview/#3-scale-up`; export const CREDITS_WIKI: string = `${environment.WIKI_PRE}portal/credits/`; @@ -81,12 +80,10 @@ export const WIKI_LINKS: string[] = [ WIKI_FAQ, WIKI_MOTD, WIKI_CREATE_SNAPSHOT_LINK, - WIKI_VOLUMES_LINK, WIKI_EPHEMERAL_LINK, WIKI_MOSH_LINK, WIKI_PERSONAL_DATA, WIKI_SVM_MIGRATION_LINK, - WIKI_WORKSHOP_TIMEFRAMES, ]; export const LANDING_PAGE_LINKS: string[] = [ From 931020283fba9ffac98ad2eca09d21672ad45481 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 28 Nov 2023 13:14:35 +0000 Subject: [PATCH 06/10] fix(Links): Adjusted to seperated wikis --- src/links/links.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/links/links.ts b/src/links/links.ts index 634ad8c882..0bed8b941e 100644 --- a/src/links/links.ts +++ b/src/links/links.ts @@ -29,10 +29,8 @@ export const WIKI_CREATE_SNAPSHOT_LINK: string = `${environment.SIMPLEVM_WIKI_PR export const SCALE_SCRIPT_LINK: string = 'https://raw.githubusercontent.com/deNBI/user_scripts/master/bibigrid/scaling.py'; export const WIKI_MOUNT_VOLUME: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/volumes/#mount-a-volume`; export const WIKI_MOSH_LINK: string = `${environment.WIKI_PRE}Tutorials/Mosh/`; -export const WIKI_EPHEMERAL_LINK: string = `${environment.WIKI_PRE}simple_vm/create_instance/#about-ephemeral-flavors`; -// GO ON HERE -export const WIKI_GROUP_INVITATIONS: string = `${environment.WIKI_PRE}simple_vm/project_overview/#inviting-members`; -export const SCALING_UP_WIKI: string = `${environment.WIKI_PRE}simple_vm/Cluster/cluster_overview/#3-scale-up`; +export const WIKI_EPHEMERAL_LINK: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/create_instance/#about-ephemeral-flavors`; +export const SCALING_UP_WIKI: string = `${environment.SIMPLEVM_WIKI_PRE}simple_vm/Cluster/cluster_overview/#scale-up-your-cluster`; export const CREDITS_WIKI: string = `${environment.WIKI_PRE}portal/credits/`; export const WIKI_PERSONAL_DATA: string = `${environment.WIKI_PRE}portal/personal_data`; export const SURVEY_LINK: string = 'https://cloud.denbi.de/survey/index.php/252136?lang=en'; From f2ee4747dd939be4e50f06f202b407adc4202b7b Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 28 Nov 2023 13:32:00 +0000 Subject: [PATCH 07/10] missed file --- .../workshop-overview.component.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/app/virtualmachines/workshop/workshop-overview/workshop-overview.component.ts b/src/app/virtualmachines/workshop/workshop-overview/workshop-overview.component.ts index 4d2dc699e8..d1248af3e1 100644 --- a/src/app/virtualmachines/workshop/workshop-overview/workshop-overview.component.ts +++ b/src/app/virtualmachines/workshop/workshop-overview/workshop-overview.component.ts @@ -8,12 +8,7 @@ import { UrlData } from '../workshop-urlinfo.model'; import { WorkshopService } from '../../../api-connector/workshop.service'; import { ProjectMember } from '../../../projectmanagement/project_member.model'; import { WorkshopVM } from '../workshop-vm.model'; -import { - WIKI_WORKSHOPS, - CLOUD_PORTAL_SUPPORT_MAIL, - LIFESCIENCE_HOSTEL_SIGNUP, - WIKI_WORKSHOP_TIMEFRAMES, -} from '../../../../links/links'; +import { WIKI_WORKSHOPS, CLOUD_PORTAL_SUPPORT_MAIL, LIFESCIENCE_HOSTEL_SIGNUP } from '../../../../links/links'; import { WorkshopTimeFrame } from '../workshopTimeFrame.model'; interface MemberVm { @@ -35,7 +30,6 @@ export class WorkshopOverviewComponent implements OnInit, OnDestroy { WIKI_WORKSHOPS: string = WIKI_WORKSHOPS; LIFESCIENCE_HOSTEL_SIGNUP: string = LIFESCIENCE_HOSTEL_SIGNUP; CLOUD_PORTAL_SUPPORT_MAIL: string = CLOUD_PORTAL_SUPPORT_MAIL; - WIKI_WORKSHOP_TIMEFRAMES: string = WIKI_WORKSHOP_TIMEFRAMES; subscription: Subscription = new Subscription(); resend_info: boolean = false; sending_mails = false; @@ -69,7 +63,10 @@ export class WorkshopOverviewComponent implements OnInit, OnDestroy { @ViewChild('creationStatusModal') creationStatusModal: any; - constructor(private workshopService: WorkshopService, private groupService: GroupService) { + constructor( + private workshopService: WorkshopService, + private groupService: GroupService, + ) { // eslint-disable-next-line no-empty-function } From 69ece777abb2e5c6861c6255a2980403beb4ce65 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 28 Nov 2023 13:32:57 +0000 Subject: [PATCH 08/10] again --- src/app/virtualmachines/vmdetail/vmdetail.component.html | 2 +- src/app/virtualmachines/vmdetail/vmdetail.component.ts | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/app/virtualmachines/vmdetail/vmdetail.component.html b/src/app/virtualmachines/vmdetail/vmdetail.component.html index a0301586aa..7b4d5718b6 100644 --- a/src/app/virtualmachines/vmdetail/vmdetail.component.html +++ b/src/app/virtualmachines/vmdetail/vmdetail.component.html @@ -39,7 +39,7 @@ If necessary, do not forget to back up important data. Please save the data on a suitable medium. At best, save the data offline. You can use volumes, but these are subject to the usual risk of cloud services. You can learn more about the use of volumes - here. + here.
We are not liable for the loss of data due to faulty machines or volumes.

diff --git a/src/app/virtualmachines/vmdetail/vmdetail.component.ts b/src/app/virtualmachines/vmdetail/vmdetail.component.ts index ab65b13238..669dcb6832 100644 --- a/src/app/virtualmachines/vmdetail/vmdetail.component.ts +++ b/src/app/virtualmachines/vmdetail/vmdetail.component.ts @@ -30,7 +30,6 @@ import { WIKI_PERSISTENT_TERMINAL_LINK, WIKI_RSTUDIO_LINK, WIKI_VOLUME_OVERVIEW, - WIKI_VOLUMES_LINK, } from '../../../links/links'; import { Volume } from '../volumes/volume'; import { VolumeStates } from '../volumes/volume_states'; @@ -90,7 +89,6 @@ export class VmDetailComponent extends AbstractBaseClass implements OnInit { WIKI_RSTUDIO_LINK: string = WIKI_RSTUDIO_LINK; WIKI_GUACAMOLE_LINK: string = WIKI_GUACAMOLE_LINK; WIKI_VOLUME_OVERVIEW: string = WIKI_VOLUME_OVERVIEW; - WIKI_VOLUMES_LINK: string = WIKI_VOLUMES_LINK; WIKI_CREATE_SNAPSHOT_LINK: string = WIKI_CREATE_SNAPSHOT_LINK; WIKI_PERSISTENT_TERMINAL_LINK: string = WIKI_PERSISTENT_TERMINAL_LINK; SNAPSHOT_MAX_RAM: number = SnapshotModel.MAX_RAM; From b9ee32a7f0222663b81af9afc862a901ad0ed6e4 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 28 Nov 2023 15:53:25 +0000 Subject: [PATCH 09/10] feat(NFDI): Allow longer project lifetimes --- .../application-formular.component.html | 11 ++++++++--- .../application-formular.component.ts | 6 +++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/app/applications/application-formular/application-formular.component.html b/src/app/applications/application-formular/application-formular.component.html index e9cc5aab17..3a61363287 100644 --- a/src/app/applications/application-formular/application-formular.component.html +++ b/src/app/applications/application-formular/application-formular.component.html @@ -255,9 +255,14 @@
General Information
/>
months
- How long would you like to run this project ({{ max_lifetime }} months is maximum)? + How long would you like to run this project? +
+ The maximum possible initial lifetime to be requested is + {{ max_lifetime }} months. Under certain conditions, longer initial terms can also be + granted, for example in the case the project is an NFDI project. Please click the + corresponding options in the further course of the form and enter further information in the available + comment and description fields if necessary. +
diff --git a/src/app/applications/application-formular/application-formular.component.ts b/src/app/applications/application-formular/application-formular.component.ts index aa308eab32..236689976f 100644 --- a/src/app/applications/application-formular/application-formular.component.ts +++ b/src/app/applications/application-formular/application-formular.component.ts @@ -83,7 +83,9 @@ export class ApplicationFormularComponent extends ApplicationBaseClassComponent WIKI_PERSONAL_DATA: string = WIKI_PERSONAL_DATA; GDPR_LINK: string = GDPR_LINK; survey_link_visible: boolean = false; - max_lifetime: number = 6; + + MAX_LIFETIME_DEFAULT: number = 6; + max_lifetime: number = this.MAX_LIFETIME_DEFAULT; acknowledgeModalTitle: string = 'Acknowledge'; acknowledgeModalType: string = 'info'; @@ -418,6 +420,8 @@ export class ApplicationFormularComponent extends ApplicationBaseClassComponent case 'nfdi': { if (!checked) { this.application.project_application_nfdi = ''; + } else { + this.max_lifetime = 12; } break; } From 808400e6afaaf6105441fdfdd958fa61957324db Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 29 Nov 2023 13:40:41 +0000 Subject: [PATCH 10/10] feat(Lifetimes): Allow longer initial lifetimes and amount adjustment for certain projects --- .../application-formular.component.html | 3 +- .../applications/applications.component.html | 101 +++++++++++++----- .../lifetime-request.component.html | 13 ++- .../lifetime-request.component.ts | 9 +- 4 files changed, 97 insertions(+), 29 deletions(-) diff --git a/src/app/applications/application-formular/application-formular.component.html b/src/app/applications/application-formular/application-formular.component.html index 3a61363287..272ce3c109 100644 --- a/src/app/applications/application-formular/application-formular.component.html +++ b/src/app/applications/application-formular/application-formular.component.html @@ -261,7 +261,8 @@
General Information
{{ max_lifetime }} months. Under certain conditions, longer initial terms can also be granted, for example in the case the project is an NFDI project. Please click the corresponding options in the further course of the form and enter further information in the available - comment and description fields if necessary. + comment and description fields if necessary. Please consider: After initially approved, you are able + to extend your project lifetime by sending extension requests. diff --git a/src/app/applications/applications.component.html b/src/app/applications/applications.component.html index e5dee227a7..4e5bef6f67 100644 --- a/src/app/applications/applications.component.html +++ b/src/app/applications/applications.component.html @@ -111,9 +111,9 @@ selectedCenter[application.project_application_id] !== undefined ? 'is-valid' : 'is-invalid' " *ngIf=" - (application | hasstatusinlist : Application_States.SUBMITTED) || - (application | hasstatusinlist : Application_States.CONFIRMATION_DECLINED) || - ((application | hasstatusinlist : Application_States.WAIT_FOR_CONFIRMATION) && + (application | hasstatusinlist: Application_States.SUBMITTED) || + (application | hasstatusinlist: Application_States.CONFIRMATION_DECLINED) || + ((application | hasstatusinlist: Application_States.WAIT_FOR_CONFIRMATION) && !application?.project_application_compute_center?.FacilityId) " [(ngModel)]="selectedCenter[application.project_application_id]" @@ -134,7 +134,7 @@ - {{ + {{ application?.project_application_compute_center?.Name }} @@ -143,8 +143,8 @@
+
+ +
+
+ +
+ Amount of requested lifetime months +
+ +
+
+ +
+ Lifetime you want to grant +
+
+
Resources* @@ -1096,7 +1147,7 @@
name="{{ fl.name }}_requested" id="{{ fl.name }}_requested" type="text" - value="{{ selectedApplication | flavorCounter : fl }}" + value="{{ selectedApplication | flavorCounter: fl }}" placeholder="0" disabled /> @@ -1116,7 +1167,7 @@
step="1" placeholder="e.g 1" (ngModelChange)="onChangeFlavor(fl, $event)" - [ngModel]="adjustedApplication | flavorCounter : fl" + [ngModel]="adjustedApplication | flavorCounter: fl" #name="ngModel" appMinAmount="0" appIntegerOrNull @@ -1485,7 +1536,7 @@

Adjust lifetime extension for {{ selectedApplication?.project_application_sh type="number" min="1" step="1" - max="6" + max="24" [(ngModel)]="adjustedApplication?.project_lifetime_request.extra_lifetime" appMinAmount="0" appInteger diff --git a/src/app/projectmanagement/modals/lifetime-request/lifetime-request.component.html b/src/app/projectmanagement/modals/lifetime-request/lifetime-request.component.html index 84714a890a..2b44f2e2c9 100644 --- a/src/app/projectmanagement/modals/lifetime-request/lifetime-request.component.html +++ b/src/app/projectmanagement/modals/lifetime-request/lifetime-request.component.html @@ -76,7 +76,18 @@

Extension request for {{ project?.project_application_shortname }}

months
- Number of months you want to extend the project (up to a maximum of 6 months). + Number of months you want to extend the project. Consider a maximum of {{ max_lifetime }} months + + +
+
+
+ Please consider: in certain cases the possible amount of months to extend the project can be higher than the + given maximum. This applies e.g for NFDI-projects. Please use the comment function to justify + the need for an extension beyond the maximum possible number of months. +
diff --git a/src/app/projectmanagement/modals/lifetime-request/lifetime-request.component.ts b/src/app/projectmanagement/modals/lifetime-request/lifetime-request.component.ts index 6c1a9a6955..25530a9de1 100644 --- a/src/app/projectmanagement/modals/lifetime-request/lifetime-request.component.ts +++ b/src/app/projectmanagement/modals/lifetime-request/lifetime-request.component.ts @@ -24,7 +24,8 @@ export class LifetimeRequestComponent implements OnInit, OnDestroy { life_time_string: string; end_date: Date; new_end_date: Date | string; - max_lifetime: number = 6; + MAX_LIFETIME_DEFAULT: number = 6; + max_lifetime: number = this.MAX_LIFETIME_DEFAULT; selected_ontology_terms: EdamOntologyTerm[] = []; edam_ontology_terms: EdamOntologyTerm[]; ontology_search_keyword: string = 'term'; @@ -45,7 +46,11 @@ export class LifetimeRequestComponent implements OnInit, OnDestroy { this.edam_ontology_terms = terms; this.searchTermsInEdamTerms(); }); - + if (this.project.project_application_nfdi?.length > 0) { + this.max_lifetime = 12; + } else { + this.max_lifetime = this.MAX_LIFETIME_DEFAULT; + } if (this.project.project_lifetime_request) { this.temp_project_extension = new ApplicationLifetimeExtension(this.project.project_lifetime_request); } else {
{{ i + 1 }}{{ wstimeframe.start_time | date : 'dd/MM/yy HH:mm' : 'de' }}{{ wstimeframe.end_time | date : 'dd/MM/yy HH:mm' : 'de' }}{{ wstimeframe.start_time | date: 'dd/MM/yy HH:mm' : 'de' }}{{ wstimeframe.end_time | date: 'dd/MM/yy HH:mm' : 'de' }} {{ wstimeframe.workshop?.longname }} {{ wstimeframe.description }} @@ -722,13 +719,13 @@
{{ newWorkShopTimeFrame.start_time | date : 'dd/MM/yy HH:mm' : 'de' }}{{ newWorkShopTimeFrame.end_time | date : 'dd/MM/yy HH:mm' : 'de' }}{{ newWorkShopTimeFrame.start_time | date: 'dd/MM/yy HH:mm' : 'de' }}{{ newWorkShopTimeFrame.end_time | date: 'dd/MM/yy HH:mm' : 'de' }} {{ newWorkShopTimeFrame.workshop?.longname }} {{ newWorkShopTimeFrame.description.length > 12 - ? (newWorkShopTimeFrame.description | slice : 0 : 12) + '...' + ? (newWorkShopTimeFrame.description | slice: 0 : 12) + '...' : newWorkShopTimeFrame.description }}
{{ i + 1 }}{{ wstimeframe.start_time | date : 'dd/MM/yy HH:mm' : 'de' }}{{ wstimeframe.end_time | date : 'dd/MM/yy HH:mm' : 'de' }}{{ wstimeframe.start_time | date: 'dd/MM/yy HH:mm' : 'de' }}{{ wstimeframe.end_time | date: 'dd/MM/yy HH:mm' : 'de' }} {{ wstimeframe.workshop?.longname }} {{ wstimeframe.description.length > 12 - ? (wstimeframe.description | slice : 0 : 12) + '...' + ? (wstimeframe.description | slice: 0 : 12) + '...' : wstimeframe.description }}