From eaf11ab0233087ede01e26acdd30d39e4d0fd899 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 14:24:06 +0100 Subject: [PATCH 01/23] TUTORIALS instead of TEMPLATES --- .../client/source/class/osparc/dashboard/Dashboard.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js b/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js index 0d273952b52..1dce41b176d 100644 --- a/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js +++ b/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js @@ -92,10 +92,14 @@ qx.Class.define("osparc.dashboard.Dashboard", { buildLayout: this.__createStudyBrowser }]; if (permissions.canDo("dashboard.templates.read")) { - tabs.push({ + const templatesTab = { label: this.tr("TEMPLATES"), buildLayout: this.__createTemplateBrowser - }); + }; + if (osparc.utils.Utils.isProduct("s4l-light")) { + templatesTab.label = this.tr("TUTORIALS"); + } + tabs.push(); } if (permissions.canDo("dashboard.services.read")) { tabs.push({ @@ -103,7 +107,7 @@ qx.Class.define("osparc.dashboard.Dashboard", { buildLayout: this.__createServiceBrowser }); } - if (!osparc.utils.Utils.isProduct("s4l")) { + if (!osparc.utils.Utils.isProduct("s4l-light")) { tabs.push({ label: this.tr("DATA"), buildLayout: this.__createDataBrowser} From 1f0eb85e4fde0190cd441fc819d0b8d3dbb088fa Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 14:55:03 +0100 Subject: [PATCH 02/23] S4L Light Buttons --- .../class/osparc/dashboard/StudyBrowser.js | 63 +++++++++++++------ 1 file changed, 44 insertions(+), 19 deletions(-) diff --git a/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js b/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js index 8b9ddc740af..c7c51002e3e 100644 --- a/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js +++ b/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js @@ -48,6 +48,13 @@ qx.Class.define("osparc.dashboard.StudyBrowser", { decription: "New sim4life project", idToWidget: "startS4LButton" } + }, + EXPECTED_S4L_LIGHT_SERVICE_KEYS: { + "simcore/services/dynamic/sim4life-dy": { + title: "Start sim4life", + decription: "New sim4life project", + idToWidget: "startS4LButton" + } } }, @@ -142,9 +149,13 @@ qx.Class.define("osparc.dashboard.StudyBrowser", { __addNewStudyButtons: function(mode = "grid") { this.__addNewStudyButton(mode); if (osparc.utils.Utils.isProduct("tis")) { - this.__replaceNewStudyWithNewPlanButton(mode); + this.__removeNewStudyButtons(); + this.__addNewPlanButton(mode); } else if (osparc.utils.Utils.isProduct("s4l")) { - this.__addNewStudyFromServiceButtons(mode); + this.__addNewS4LServiceButtons(mode); + } else if (osparc.utils.Utils.isProduct("s4l-light")) { + this.__removeNewStudyButtons(); + this.__addNewS4LLightServiceButtons(mode); } }, @@ -170,13 +181,12 @@ qx.Class.define("osparc.dashboard.StudyBrowser", { this._resourcesContainer.addAt(newStudyBtn, 0); }, - __replaceNewStudyWithNewPlanButton: function(mode) { + __addNewPlanButton: function(mode) { osparc.data.Resources.get("templates") .then(templates => { // replace if a "TI Planning Tool" template exists const templateData = templates.find(t => t.name === this.self().EXPECTED_TI_TEMPLATE_TITLE); if (templateData) { - this.__removeNewStudyButtons(); const title = this.tr("New Plan"); const desc = this.tr("Start a new plan"); const newPlanButton = (mode === "grid") ? new osparc.dashboard.GridButtonNew(title, desc) : new osparc.dashboard.ListButtonNew(title, desc); @@ -191,26 +201,41 @@ qx.Class.define("osparc.dashboard.StudyBrowser", { }); }, - __addNewStudyFromServiceButtons: function(mode) { + __addNewStudyFromServiceButtons: function(mode, services, serviceKey) { + const versions = osparc.utils.Services.getVersions(services, serviceKey); + if (versions.length) { + const newButtonInfo = this.self().EXPECTED_S4L_SERVICE_KEYS[serviceKey]; + const title = newButtonInfo.title; + const desc = newButtonInfo.decription; + const newStudyFromServiceButton = (mode === "grid") ? new osparc.dashboard.GridButtonNew(title, desc) : new osparc.dashboard.ListButtonNew(title, desc); + osparc.utils.Utils.setIdToWidget(newStudyFromServiceButton, newButtonInfo.idToWidget); + newStudyFromServiceButton.addListener("execute", () => this.__newStudyFromServiceBtnClicked(newStudyFromServiceButton, serviceKey, versions[versions.length-1])); + if (this._resourcesContainer.getMode() === "list") { + const width = this._resourcesContainer.getBounds().width - 15; + newStudyFromServiceButton.setWidth(width); + } + this._resourcesContainer.addAt(newStudyFromServiceButton, 1); + } + }, + + __addNewS4LServiceButtons: function(mode) { const store = osparc.store.Store.getInstance(); store.getServicesOnly(false) .then(services => { // add new plus buttons if key services exists Object.keys(this.self().EXPECTED_S4L_SERVICE_KEYS).forEach(serviceKey => { - const versions = osparc.utils.Services.getVersions(services, serviceKey); - if (versions.length) { - const newButtonInfo = this.self().EXPECTED_S4L_SERVICE_KEYS[serviceKey]; - const title = newButtonInfo.title; - const desc = newButtonInfo.decription; - const newStudyFromServiceButton = (mode === "grid") ? new osparc.dashboard.GridButtonNew(title, desc) : new osparc.dashboard.ListButtonNew(title, desc); - osparc.utils.Utils.setIdToWidget(newStudyFromServiceButton, newButtonInfo.idToWidget); - newStudyFromServiceButton.addListener("execute", () => this.__newStudyFromServiceBtnClicked(newStudyFromServiceButton, serviceKey, versions[versions.length-1])); - if (this._resourcesContainer.getMode() === "list") { - const width = this._resourcesContainer.getBounds().width - 15; - newStudyFromServiceButton.setWidth(width); - } - this._resourcesContainer.addAt(newStudyFromServiceButton, 1); - } + this.__addNewStudyFromServiceButtons(mode, services, serviceKey); + }); + }); + }, + + __addNewS4LLightServiceButtons: function(mode) { + const store = osparc.store.Store.getInstance(); + store.getServicesOnly(false) + .then(services => { + // add new plus buttons if key services exists + Object.keys(this.self().EXPECTED_S4L_LIGHT_SERVICE_KEYS).forEach(serviceKey => { + this.__addNewStudyFromServiceButtons(mode, services, serviceKey); }); }); }, From 2ceaffc25db3bb0ebffc982f4d73a0ae6045302d Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 14:55:26 +0100 Subject: [PATCH 03/23] minor --- .../client/source/class/osparc/dashboard/Dashboard.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js b/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js index 1dce41b176d..66afa07c4fe 100644 --- a/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js +++ b/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js @@ -101,7 +101,7 @@ qx.Class.define("osparc.dashboard.Dashboard", { } tabs.push(); } - if (permissions.canDo("dashboard.services.read")) { + if (!osparc.utils.Utils.isProduct("s4l-light") && permissions.canDo("dashboard.services.read")) { tabs.push({ label: this.tr("SERVICES"), buildLayout: this.__createServiceBrowser From ab0718336e09d04730e25a96a45afae5024977d8 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 15:02:12 +0100 Subject: [PATCH 04/23] more branding --- .../static-webserver/client/source/class/osparc/Application.js | 1 + .../client/source/class/osparc/navigation/Manuals.js | 2 ++ .../client/source/class/osparc/utils/issue/Fogbugz.js | 1 + 3 files changed, 4 insertions(+) diff --git a/services/static-webserver/client/source/class/osparc/Application.js b/services/static-webserver/client/source/class/osparc/Application.js index 3ef38018aeb..802fb384071 100644 --- a/services/static-webserver/client/source/class/osparc/Application.js +++ b/services/static-webserver/client/source/class/osparc/Application.js @@ -328,6 +328,7 @@ qx.Class.define("osparc.Application", { let view = null; switch (qx.core.Environment.get("product.name")) { case "s4l": + case "s4l-light": view = new osparc.auth.LoginPageS4L(); this.__loadView(view); break; diff --git a/services/static-webserver/client/source/class/osparc/navigation/Manuals.js b/services/static-webserver/client/source/class/osparc/navigation/Manuals.js index e38ec53d589..e6b9547bd28 100644 --- a/services/static-webserver/client/source/class/osparc/navigation/Manuals.js +++ b/services/static-webserver/client/source/class/osparc/navigation/Manuals.js @@ -9,6 +9,7 @@ qx.Class.define("osparc.navigation.Manuals", { switch (productName) { case "osparc": case "s4l": + case "s4l-light": licenseLink = "http://docs.osparc.io/#/docs/support/license"; break; case "tis": @@ -26,6 +27,7 @@ qx.Class.define("osparc.navigation.Manuals", { switch (productName) { case "osparc": case "s4l": + case "s4l-light": manuals.push({ label: qx.locale.Manager.tr("User Manual"), icon: "@FontAwesome5Solid/book/22", diff --git a/services/static-webserver/client/source/class/osparc/utils/issue/Fogbugz.js b/services/static-webserver/client/source/class/osparc/utils/issue/Fogbugz.js index 268e83c771c..5eb3aae8822 100644 --- a/services/static-webserver/client/source/class/osparc/utils/issue/Fogbugz.js +++ b/services/static-webserver/client/source/class/osparc/utils/issue/Fogbugz.js @@ -34,6 +34,7 @@ qx.Class.define("osparc.utils.issue.Fogbugz", { let urlHead = staticsData.osparcIssuesNewUrl; switch (product) { case "s4l": + case "s4l-light": urlHead = staticsData.s4lIssuesNewUrl; break; case "tis": From 88aca61c4696bb064403fff959331eec45f68ba6 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 15:02:18 +0100 Subject: [PATCH 05/23] logos --- .../client/source/class/osparc/utils/Utils.js | 3 +++ .../source/resource/osparc/s4l_light_zmt-black.svg | 14 ++++++++++++++ .../source/resource/osparc/s4l_light_zmt-white.svg | 14 ++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 services/static-webserver/client/source/resource/osparc/s4l_light_zmt-black.svg create mode 100644 services/static-webserver/client/source/resource/osparc/s4l_light_zmt-white.svg diff --git a/services/static-webserver/client/source/class/osparc/utils/Utils.js b/services/static-webserver/client/source/class/osparc/utils/Utils.js index 60ddfd3339f..31bfac16844 100644 --- a/services/static-webserver/client/source/class/osparc/utils/Utils.js +++ b/services/static-webserver/client/source/class/osparc/utils/Utils.js @@ -329,6 +329,9 @@ qx.Class.define("osparc.utils.Utils", { case "s4l": logosPath = lightLogo ? "osparc/s4l_zmt-white.svg" : "osparc/s4l_zmt-black.svg"; break; + case "s4l-light": + logosPath = lightLogo ? "osparc/s4l_light_zmt-white.svg" : "osparc/s4l_light_zmt-black.svg"; + break; case "tis": { logosPath = lightLogo ? "osparc/tip_itis-white.svg" : "osparc/tip_itis-black.svg"; break; diff --git a/services/static-webserver/client/source/resource/osparc/s4l_light_zmt-black.svg b/services/static-webserver/client/source/resource/osparc/s4l_light_zmt-black.svg new file mode 100644 index 00000000000..cc2483c96f5 --- /dev/null +++ b/services/static-webserver/client/source/resource/osparc/s4l_light_zmt-black.svg @@ -0,0 +1,14 @@ + + + Layer 1 + + + + + + + + + + + \ No newline at end of file diff --git a/services/static-webserver/client/source/resource/osparc/s4l_light_zmt-white.svg b/services/static-webserver/client/source/resource/osparc/s4l_light_zmt-white.svg new file mode 100644 index 00000000000..b8458f83ba4 --- /dev/null +++ b/services/static-webserver/client/source/resource/osparc/s4l_light_zmt-white.svg @@ -0,0 +1,14 @@ + + + Layer 1 + + + + + + + + + + + \ No newline at end of file From ae054230bf74f8a0fb3f53972eecaeb3e4f1d864 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 15:08:11 +0100 Subject: [PATCH 06/23] compile s4l-light frontend --- services/static-webserver/client/compile.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/services/static-webserver/client/compile.json b/services/static-webserver/client/compile.json index 211b33718f2..8693566f13d 100644 --- a/services/static-webserver/client/compile.json +++ b/services/static-webserver/client/compile.json @@ -50,6 +50,21 @@ }, "bootPath": "source/boot" }, + { + "class": "osparc.Application", + "theme": "osparc.theme.zmt.ThemeDark", + "name": "s4l-light", + "title": "Sim4Life - ZMT", + "include": [ + "iconfont.material.Load", + "iconfont.fontawesome5.Load", + "osparc.theme.zmt.ThemeLight" + ], + "environment": { + "product.name": "s4l-light" + }, + "bootPath": "source/boot" + }, { "class": "osparc.Application", "theme": "osparc.theme.zmt.ThemeDark", From be3ea788267d04d5a675f3475367859d6ad4a1e9 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 15:14:06 +0100 Subject: [PATCH 07/23] FRONTEND_APPS_AVAILABLE --- .../server/src/simcore_service_webserver/statics_constants.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/web/server/src/simcore_service_webserver/statics_constants.py b/services/web/server/src/simcore_service_webserver/statics_constants.py index efa05b064ac..72945003c9a 100644 --- a/services/web/server/src/simcore_service_webserver/statics_constants.py +++ b/services/web/server/src/simcore_service_webserver/statics_constants.py @@ -1,6 +1,6 @@ # these are the apps built right now by static-webserver/client -FRONTEND_APPS_AVAILABLE = frozenset({"osparc", "tis", "s4l"}) +FRONTEND_APPS_AVAILABLE = frozenset({"osparc", "tis", "s4l", "s4l-light"}) FRONTEND_APP_DEFAULT = "osparc" assert FRONTEND_APP_DEFAULT in FRONTEND_APPS_AVAILABLE # nosec From fd40c68798cdaf60cf4f5a84723ae7d5bf5fb919 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 15:29:24 +0100 Subject: [PATCH 08/23] do not show zoom button --- .../client/source/class/osparc/data/model/Node.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/static-webserver/client/source/class/osparc/data/model/Node.js b/services/static-webserver/client/source/class/osparc/data/model/Node.js index 1be58948edb..9671a411f98 100644 --- a/services/static-webserver/client/source/class/osparc/data/model/Node.js +++ b/services/static-webserver/client/source/class/osparc/data/model/Node.js @@ -1017,6 +1017,9 @@ qx.Class.define("osparc.data.model.Node", { this.__initLoadingPage(); const iframe = new osparc.component.widget.PersistentIframe(); + if (osparc.utils.Utils.isProduct("s4l-light")) { + iframe.setShowZoomButton(false); + } iframe.addListener("restart", () => this.__restartIFrame(), this); this.setIFrame(iframe); }, From 6122053973fbac3f0d1cb8d38f9c4a47d63a643f Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 15:29:32 +0100 Subject: [PATCH 09/23] s4l-light -> s4llight --- services/static-webserver/client/compile.json | 4 ++-- .../client/source/class/osparc/Application.js | 2 +- .../client/source/class/osparc/dashboard/Dashboard.js | 6 +++--- .../client/source/class/osparc/dashboard/StudyBrowser.js | 2 +- .../client/source/class/osparc/data/model/Node.js | 2 +- .../client/source/class/osparc/navigation/Manuals.js | 4 ++-- .../client/source/class/osparc/utils/Utils.js | 2 +- .../client/source/class/osparc/utils/issue/Fogbugz.js | 2 +- .../src/simcore_service_webserver/statics_constants.py | 4 ++-- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/services/static-webserver/client/compile.json b/services/static-webserver/client/compile.json index 8693566f13d..b35b0776302 100644 --- a/services/static-webserver/client/compile.json +++ b/services/static-webserver/client/compile.json @@ -53,7 +53,7 @@ { "class": "osparc.Application", "theme": "osparc.theme.zmt.ThemeDark", - "name": "s4l-light", + "name": "s4llight", "title": "Sim4Life - ZMT", "include": [ "iconfont.material.Load", @@ -61,7 +61,7 @@ "osparc.theme.zmt.ThemeLight" ], "environment": { - "product.name": "s4l-light" + "product.name": "s4llight" }, "bootPath": "source/boot" }, diff --git a/services/static-webserver/client/source/class/osparc/Application.js b/services/static-webserver/client/source/class/osparc/Application.js index 802fb384071..6cb851031d7 100644 --- a/services/static-webserver/client/source/class/osparc/Application.js +++ b/services/static-webserver/client/source/class/osparc/Application.js @@ -328,7 +328,7 @@ qx.Class.define("osparc.Application", { let view = null; switch (qx.core.Environment.get("product.name")) { case "s4l": - case "s4l-light": + case "s4llight": view = new osparc.auth.LoginPageS4L(); this.__loadView(view); break; diff --git a/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js b/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js index 66afa07c4fe..a06e3773d28 100644 --- a/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js +++ b/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js @@ -96,18 +96,18 @@ qx.Class.define("osparc.dashboard.Dashboard", { label: this.tr("TEMPLATES"), buildLayout: this.__createTemplateBrowser }; - if (osparc.utils.Utils.isProduct("s4l-light")) { + if (osparc.utils.Utils.isProduct("s4llight")) { templatesTab.label = this.tr("TUTORIALS"); } tabs.push(); } - if (!osparc.utils.Utils.isProduct("s4l-light") && permissions.canDo("dashboard.services.read")) { + if (!osparc.utils.Utils.isProduct("s4llight") && permissions.canDo("dashboard.services.read")) { tabs.push({ label: this.tr("SERVICES"), buildLayout: this.__createServiceBrowser }); } - if (!osparc.utils.Utils.isProduct("s4l-light")) { + if (!osparc.utils.Utils.isProduct("s4llight")) { tabs.push({ label: this.tr("DATA"), buildLayout: this.__createDataBrowser} diff --git a/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js b/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js index c7c51002e3e..5f53cdd64a2 100644 --- a/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js +++ b/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js @@ -153,7 +153,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", { this.__addNewPlanButton(mode); } else if (osparc.utils.Utils.isProduct("s4l")) { this.__addNewS4LServiceButtons(mode); - } else if (osparc.utils.Utils.isProduct("s4l-light")) { + } else if (osparc.utils.Utils.isProduct("s4llight")) { this.__removeNewStudyButtons(); this.__addNewS4LLightServiceButtons(mode); } diff --git a/services/static-webserver/client/source/class/osparc/data/model/Node.js b/services/static-webserver/client/source/class/osparc/data/model/Node.js index 9671a411f98..a1eaae41b19 100644 --- a/services/static-webserver/client/source/class/osparc/data/model/Node.js +++ b/services/static-webserver/client/source/class/osparc/data/model/Node.js @@ -1017,7 +1017,7 @@ qx.Class.define("osparc.data.model.Node", { this.__initLoadingPage(); const iframe = new osparc.component.widget.PersistentIframe(); - if (osparc.utils.Utils.isProduct("s4l-light")) { + if (osparc.utils.Utils.isProduct("s4llight")) { iframe.setShowZoomButton(false); } iframe.addListener("restart", () => this.__restartIFrame(), this); diff --git a/services/static-webserver/client/source/class/osparc/navigation/Manuals.js b/services/static-webserver/client/source/class/osparc/navigation/Manuals.js index e6b9547bd28..0a8e3888fa8 100644 --- a/services/static-webserver/client/source/class/osparc/navigation/Manuals.js +++ b/services/static-webserver/client/source/class/osparc/navigation/Manuals.js @@ -9,7 +9,7 @@ qx.Class.define("osparc.navigation.Manuals", { switch (productName) { case "osparc": case "s4l": - case "s4l-light": + case "s4llight": licenseLink = "http://docs.osparc.io/#/docs/support/license"; break; case "tis": @@ -27,7 +27,7 @@ qx.Class.define("osparc.navigation.Manuals", { switch (productName) { case "osparc": case "s4l": - case "s4l-light": + case "s4llight": manuals.push({ label: qx.locale.Manager.tr("User Manual"), icon: "@FontAwesome5Solid/book/22", diff --git a/services/static-webserver/client/source/class/osparc/utils/Utils.js b/services/static-webserver/client/source/class/osparc/utils/Utils.js index 31bfac16844..a62df9b16d3 100644 --- a/services/static-webserver/client/source/class/osparc/utils/Utils.js +++ b/services/static-webserver/client/source/class/osparc/utils/Utils.js @@ -329,7 +329,7 @@ qx.Class.define("osparc.utils.Utils", { case "s4l": logosPath = lightLogo ? "osparc/s4l_zmt-white.svg" : "osparc/s4l_zmt-black.svg"; break; - case "s4l-light": + case "s4llight": logosPath = lightLogo ? "osparc/s4l_light_zmt-white.svg" : "osparc/s4l_light_zmt-black.svg"; break; case "tis": { diff --git a/services/static-webserver/client/source/class/osparc/utils/issue/Fogbugz.js b/services/static-webserver/client/source/class/osparc/utils/issue/Fogbugz.js index 5eb3aae8822..45b5a3a860f 100644 --- a/services/static-webserver/client/source/class/osparc/utils/issue/Fogbugz.js +++ b/services/static-webserver/client/source/class/osparc/utils/issue/Fogbugz.js @@ -34,7 +34,7 @@ qx.Class.define("osparc.utils.issue.Fogbugz", { let urlHead = staticsData.osparcIssuesNewUrl; switch (product) { case "s4l": - case "s4l-light": + case "s4llight": urlHead = staticsData.s4lIssuesNewUrl; break; case "tis": diff --git a/services/web/server/src/simcore_service_webserver/statics_constants.py b/services/web/server/src/simcore_service_webserver/statics_constants.py index 72945003c9a..13880edac10 100644 --- a/services/web/server/src/simcore_service_webserver/statics_constants.py +++ b/services/web/server/src/simcore_service_webserver/statics_constants.py @@ -1,7 +1,7 @@ # these are the apps built right now by static-webserver/client -FRONTEND_APPS_AVAILABLE = frozenset({"osparc", "tis", "s4l", "s4l-light"}) -FRONTEND_APP_DEFAULT = "osparc" +FRONTEND_APPS_AVAILABLE = frozenset({"osparc", "tis", "s4l", "s4llight"}) +FRONTEND_APP_DEFAULT = "s4llight" assert FRONTEND_APP_DEFAULT in FRONTEND_APPS_AVAILABLE # nosec From 189102b7ee209f6e6a0747f6d1f08e2001029f21 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 15:30:34 +0100 Subject: [PATCH 10/23] minor --- services/static-webserver/client/compile.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/static-webserver/client/compile.json b/services/static-webserver/client/compile.json index b35b0776302..027b3fdd6d4 100644 --- a/services/static-webserver/client/compile.json +++ b/services/static-webserver/client/compile.json @@ -54,7 +54,7 @@ "class": "osparc.Application", "theme": "osparc.theme.zmt.ThemeDark", "name": "s4llight", - "title": "Sim4Life - ZMT", + "title": "Sim4Life Light - ZMT", "include": [ "iconfont.material.Load", "iconfont.fontawesome5.Load", From 27cce0d1647d9a693f984bfb3fbd02e87225b3e2 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 16:00:51 +0100 Subject: [PATCH 11/23] s4l_splitimage --- .../source/class/osparc/auth/LoginPageS4L.js | 2 +- .../resource/osparc/s4l-light_splitimage.png | Bin 0 -> 175730 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 services/static-webserver/client/source/resource/osparc/s4l-light_splitimage.png diff --git a/services/static-webserver/client/source/class/osparc/auth/LoginPageS4L.js b/services/static-webserver/client/source/class/osparc/auth/LoginPageS4L.js index 58dbebd7cb5..22fee57d3d5 100644 --- a/services/static-webserver/client/source/class/osparc/auth/LoginPageS4L.js +++ b/services/static-webserver/client/source/class/osparc/auth/LoginPageS4L.js @@ -44,7 +44,7 @@ qx.Class.define("osparc.auth.LoginPageS4L", { this.setBackgroundColor("#025887"); this.getContentElement().setStyles({ - "background-image": "url(resource/osparc/s4l_splitimage.jpeg)", + "background-image": osparc.utils.Utils.isProduct("s4llight") ? "url(resource/osparc/s4l-light_splitimage.png)" : "url(resource/osparc/s4l_splitimage.jpeg)", "background-repeat": "no-repeat", "background-size": "auto 100%" }); diff --git a/services/static-webserver/client/source/resource/osparc/s4l-light_splitimage.png b/services/static-webserver/client/source/resource/osparc/s4l-light_splitimage.png new file mode 100644 index 0000000000000000000000000000000000000000..0ad737a66949089a2f6be7995f1eeb7e68bb1c0b GIT binary patch literal 175730 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 literal 0 HcmV?d00001 From 49f5a3f32ebc398cdf6b6b45175090bd995abf38 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 16:08:34 +0100 Subject: [PATCH 12/23] ups --- .../server/src/simcore_service_webserver/statics_constants.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/web/server/src/simcore_service_webserver/statics_constants.py b/services/web/server/src/simcore_service_webserver/statics_constants.py index 13880edac10..d47f70ac15c 100644 --- a/services/web/server/src/simcore_service_webserver/statics_constants.py +++ b/services/web/server/src/simcore_service_webserver/statics_constants.py @@ -1,7 +1,7 @@ # these are the apps built right now by static-webserver/client FRONTEND_APPS_AVAILABLE = frozenset({"osparc", "tis", "s4l", "s4llight"}) -FRONTEND_APP_DEFAULT = "s4llight" +FRONTEND_APP_DEFAULT = "osparc" assert FRONTEND_APP_DEFAULT in FRONTEND_APPS_AVAILABLE # nosec From 825e2048ad098b0140d276fe7c6109b2515e8c0f Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 16:30:45 +0100 Subject: [PATCH 13/23] more s4llight to the backend --- services/docker-compose.yml | 2 +- services/static-webserver/README.md | 2 +- services/web/server/src/simcore_service_webserver/statics.py | 4 ++-- .../server/src/simcore_service_webserver/statics_events.py | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/services/docker-compose.yml b/services/docker-compose.yml index fed9f4dfab4..f84fe6e8c84 100644 --- a/services/docker-compose.yml +++ b/services/docker-compose.yml @@ -170,7 +170,7 @@ services: - traefik.http.services.${SWARM_STACK_NAME}_static_webserver.loadbalancer.healthcheck.interval=2000ms - traefik.http.services.${SWARM_STACK_NAME}_static_webserver.loadbalancer.healthcheck.timeout=1000ms - traefik.http.middlewares.${SWARM_STACK_NAME}_static_webserver_retry.retry.attempts=2 - - traefik.http.routers.${SWARM_STACK_NAME}_static_webserver.rule=hostregexp(`{host:.+}`) && (Path(`/osparc`,`/s4l`,`/tis`,`/transpiled`,`/resource`) || PathPrefix(`/osparc/`,`/s4l/`,`/tis/`,`/transpiled/`,`/resource/`)) + - traefik.http.routers.${SWARM_STACK_NAME}_static_webserver.rule=hostregexp(`{host:.+}`) && (Path(`/osparc`,`/s4l`,`/s4llight`,`/tis`,`/transpiled`,`/resource`) || PathPrefix(`/osparc/`,`/s4l/`,`/s4llight/`,`/tis/`,`/transpiled/`,`/resource/`)) - traefik.http.routers.${SWARM_STACK_NAME}_static_webserver.service=${SWARM_STACK_NAME}_static_webserver - traefik.http.routers.${SWARM_STACK_NAME}_static_webserver.entrypoints=http - traefik.http.routers.${SWARM_STACK_NAME}_static_webserver.priority=2 diff --git a/services/static-webserver/README.md b/services/static-webserver/README.md index 85e2cad2868..7bac35ff715 100644 --- a/services/static-webserver/README.md +++ b/services/static-webserver/README.md @@ -6,5 +6,5 @@ Used for static content serving. In the future will fully serve all static content. Currently the `webserver` is still serving the following routes: -- `/` resolves to one of the three index.html pages inside the three products (osparc, tis, s4l) +- `/` resolves to one of the three index.html pages inside the 4 products (osparc, tis, s4l, s4llight) - `/static-frontend-data.json` contains information required by the fronted diff --git a/services/web/server/src/simcore_service_webserver/statics.py b/services/web/server/src/simcore_service_webserver/statics.py index f36489f7165..8d5e05fadd7 100644 --- a/services/web/server/src/simcore_service_webserver/statics.py +++ b/services/web/server/src/simcore_service_webserver/statics.py @@ -26,8 +26,8 @@ def setup_statics(app: web.Application) -> None: settings: StaticWebserverModuleSettings = get_plugin_settings(app) assert settings # nosec - # serves information composed by making 3 http requests (once for each product) - # to the index.html in each of the 3 product directories /osparc, /tis and /s4l + # serves information composed by making 4 http requests (once for each product) + # to the index.html in each of the 4 product directories /osparc, /s4l, /s4llight and /tis app.router.add_get("/", get_cached_frontend_index, name=INDEX_RESOURCE_NAME) # statics.json is computed here and contains information used # by the frontend to properly render the client diff --git a/services/web/server/src/simcore_service_webserver/statics_events.py b/services/web/server/src/simcore_service_webserver/statics_events.py index a1f991dee60..41ac7479986 100644 --- a/services/web/server/src/simcore_service_webserver/statics_events.py +++ b/services/web/server/src/simcore_service_webserver/statics_events.py @@ -46,11 +46,11 @@ async def create_cached_indexes(app: web.Application) -> None: """ - Currently the static resources are contain 3 folders: osparc, s4l, tis + Currently the static resources are contain 4 folders: osparc, s4l, s4llight, tis each of them contain and index.html to be served to as the root of the site for each type of frontend. - Caching these 3 items on start + Caching these 4 items on start """ settings: StaticWebserverModuleSettings = get_plugin_settings(app) cached_indexes: dict[str, str] = {} From cf0d513baa7f9607d13d44800b461fc7cc20c320 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 16:54:20 +0100 Subject: [PATCH 14/23] minors --- .../client/source/class/osparc/dashboard/Dashboard.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js b/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js index a06e3773d28..368e98df440 100644 --- a/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js +++ b/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js @@ -88,18 +88,15 @@ qx.Class.define("osparc.dashboard.Dashboard", { __createMainViewLayout: function() { const permissions = osparc.data.Permissions.getInstance(); const tabs = [{ - label: this.tr("STUDIES"), + label: osparc.utils.Utils.isProduct("s4llight") ? this.tr("PROJECTS") : this.tr("STUDIES"), buildLayout: this.__createStudyBrowser }]; if (permissions.canDo("dashboard.templates.read")) { const templatesTab = { - label: this.tr("TEMPLATES"), + label: osparc.utils.Utils.isProduct("s4llight") ? this.tr("TUTORIALS") : this.tr("TEMPLATES"), buildLayout: this.__createTemplateBrowser }; - if (osparc.utils.Utils.isProduct("s4llight")) { - templatesTab.label = this.tr("TUTORIALS"); - } - tabs.push(); + tabs.push(templatesTab); } if (!osparc.utils.Utils.isProduct("s4llight") && permissions.canDo("dashboard.services.read")) { tabs.push({ From e4eb9588545213a89818e70837a329173a17d58d Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Wed, 2 Nov 2022 17:08:29 +0100 Subject: [PATCH 15/23] setShowZoomButton --- .../client/source/class/osparc/data/model/Node.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/static-webserver/client/source/class/osparc/data/model/Node.js b/services/static-webserver/client/source/class/osparc/data/model/Node.js index a1eaae41b19..2231b92485d 100644 --- a/services/static-webserver/client/source/class/osparc/data/model/Node.js +++ b/services/static-webserver/client/source/class/osparc/data/model/Node.js @@ -992,6 +992,9 @@ qx.Class.define("osparc.data.model.Node", { __initLoadingPage: function() { const loadingPage = new osparc.ui.message.Loading(this.__getLoadingPageHeader(), this.__getExtraMessages(), true); + if (osparc.utils.Utils.isProduct("s4llight")) { + loadingPage.setShowZoomButton(false); + } this.addListener("changeLabel", () => loadingPage.setHeader(this.__getLoadingPageHeader()), this); this.getStatus().addListener("changeInteractive", () => { loadingPage.setHeader(this.__getLoadingPageHeader()); From 3fd8f6b34e33acf031274c04b969e92e824a86f6 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Thu, 3 Nov 2022 11:31:44 +0100 Subject: [PATCH 16/23] make sure user can access the service --- .../class/osparc/dashboard/StudyBrowser.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js b/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js index 5f53cdd64a2..5fe1b27ddb3 100644 --- a/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js +++ b/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js @@ -201,10 +201,10 @@ qx.Class.define("osparc.dashboard.StudyBrowser", { }); }, - __addNewStudyFromServiceButtons: function(mode, services, serviceKey) { + __addNewStudyFromServiceButtons: function(mode, services, serviceKey, newButtonInfo) { + // Make sure we have access to that service const versions = osparc.utils.Services.getVersions(services, serviceKey); - if (versions.length) { - const newButtonInfo = this.self().EXPECTED_S4L_SERVICE_KEYS[serviceKey]; + if (versions.length && newButtonInfo) { const title = newButtonInfo.title; const desc = newButtonInfo.decription; const newStudyFromServiceButton = (mode === "grid") ? new osparc.dashboard.GridButtonNew(title, desc) : new osparc.dashboard.ListButtonNew(title, desc); @@ -223,8 +223,9 @@ qx.Class.define("osparc.dashboard.StudyBrowser", { store.getServicesOnly(false) .then(services => { // add new plus buttons if key services exists - Object.keys(this.self().EXPECTED_S4L_SERVICE_KEYS).forEach(serviceKey => { - this.__addNewStudyFromServiceButtons(mode, services, serviceKey); + const newButtonsInfo = this.self().EXPECTED_S4L_SERVICE_KEYS; + Object.keys(newButtonsInfo).forEach(serviceKey => { + this.__addNewStudyFromServiceButtons(mode, services, serviceKey, newButtonsInfo[serviceKey]); }); }); }, @@ -234,8 +235,9 @@ qx.Class.define("osparc.dashboard.StudyBrowser", { store.getServicesOnly(false) .then(services => { // add new plus buttons if key services exists - Object.keys(this.self().EXPECTED_S4L_LIGHT_SERVICE_KEYS).forEach(serviceKey => { - this.__addNewStudyFromServiceButtons(mode, services, serviceKey); + const newButtonsInfo = this.self().EXPECTED_S4L_LIGHT_SERVICE_KEYS; + Object.keys(newButtonsInfo).forEach(serviceKey => { + this.__addNewStudyFromServiceButtons(mode, services, serviceKey, newButtonsInfo[serviceKey]); }); }); }, From 3a9df41f8e4b1aa4e0b0595c005bb1100d233189 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Thu, 3 Nov 2022 11:32:13 +0100 Subject: [PATCH 17/23] minor fix --- .../client/source/class/osparc/data/model/Node.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/services/static-webserver/client/source/class/osparc/data/model/Node.js b/services/static-webserver/client/source/class/osparc/data/model/Node.js index 2231b92485d..a1eaae41b19 100644 --- a/services/static-webserver/client/source/class/osparc/data/model/Node.js +++ b/services/static-webserver/client/source/class/osparc/data/model/Node.js @@ -992,9 +992,6 @@ qx.Class.define("osparc.data.model.Node", { __initLoadingPage: function() { const loadingPage = new osparc.ui.message.Loading(this.__getLoadingPageHeader(), this.__getExtraMessages(), true); - if (osparc.utils.Utils.isProduct("s4llight")) { - loadingPage.setShowZoomButton(false); - } this.addListener("changeLabel", () => loadingPage.setHeader(this.__getLoadingPageHeader()), this); this.getStatus().addListener("changeInteractive", () => { loadingPage.setHeader(this.__getLoadingPageHeader()); From 3e292adfab5df9975fcf6c2ccb09d9acf4523ece Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Thu, 3 Nov 2022 11:38:57 +0100 Subject: [PATCH 18/23] minor fix --- .../client/source/class/osparc/data/model/Node.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/services/static-webserver/client/source/class/osparc/data/model/Node.js b/services/static-webserver/client/source/class/osparc/data/model/Node.js index 2231b92485d..a1eaae41b19 100644 --- a/services/static-webserver/client/source/class/osparc/data/model/Node.js +++ b/services/static-webserver/client/source/class/osparc/data/model/Node.js @@ -992,9 +992,6 @@ qx.Class.define("osparc.data.model.Node", { __initLoadingPage: function() { const loadingPage = new osparc.ui.message.Loading(this.__getLoadingPageHeader(), this.__getExtraMessages(), true); - if (osparc.utils.Utils.isProduct("s4llight")) { - loadingPage.setShowZoomButton(false); - } this.addListener("changeLabel", () => loadingPage.setHeader(this.__getLoadingPageHeader()), this); this.getStatus().addListener("changeInteractive", () => { loadingPage.setHeader(this.__getLoadingPageHeader()); From 2acd60b972f6bab1ee39e890b325a80eb3b8b09d Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Thu, 3 Nov 2022 12:05:25 +0100 Subject: [PATCH 19/23] minor --- .../component/widget/PersistentIframe.js | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/services/static-webserver/client/source/class/osparc/component/widget/PersistentIframe.js b/services/static-webserver/client/source/class/osparc/component/widget/PersistentIframe.js index 40263a6ccb9..44f2eabf5c1 100644 --- a/services/static-webserver/client/source/class/osparc/component/widget/PersistentIframe.js +++ b/services/static-webserver/client/source/class/osparc/component/widget/PersistentIframe.js @@ -57,7 +57,7 @@ qx.Class.define("osparc.component.widget.PersistentIframe", { showZoomButton: { check: "Boolean", init: true, - apply: "__applyShowZoomButton" + event: "changeShowZoomButton" }, /** @@ -66,7 +66,7 @@ qx.Class.define("osparc.component.widget.PersistentIframe", { showRestartButton: { check: "Boolean", init: true, - apply: "__applyShowRestartButton" + event: "changeShowRestartButton" } }, @@ -109,16 +109,22 @@ qx.Class.define("osparc.component.widget.PersistentIframe", { this.fireEvent("restart"); }, this); osparc.utils.Utils.setIdToWidget(restartButton, "iFrameRestartBtn"); + this.bind("showRestartButton", restartButton, "visibility", { + converter: show => show ? "visible" : "excluded" + }); appRoot.add(restartButton, { top: this.self().HIDDEN_TOP }); - let zoomButton = this.__zoomButton = new qx.ui.form.Button(null).set({ + const zoomButton = this.__zoomButton = new qx.ui.form.Button(null).set({ icon: this.self().getZoomIcon(false), zIndex: 20, backgroundColor: "transparent", decorator: null }); osparc.utils.Utils.setIdToWidget(zoomButton, this.self().getMaximizeWidgetId(false)); + this.bind("showZoomButton", zoomButton, "visibility", { + converter: show => show ? "visible" : "excluded" + }); appRoot.add(zoomButton, { top: this.self().HIDDEN_TOP }); @@ -175,14 +181,6 @@ qx.Class.define("osparc.component.widget.PersistentIframe", { qx.event.message.Bus.getInstance().dispatchByName("maximizeIframe", this.hasState("maximized")); }, - __applyShowZoomButton: function(show) { - show ? this.__zoomButton.show() : this.__zoomButton.exclude(); - }, - - __applyShowRestartButton: function(show) { - show ? this.__restartButton.show() : this.__restartButton.exclude(); - }, - __syncIframePos: function() { if (this.__syncScheduled) { return; From f8ace299a1fc9cdb7f07f92261cc63f84ce90fe2 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Thu, 3 Nov 2022 12:48:48 +0100 Subject: [PATCH 20/23] do not show Zoom Button --- .../client/source/class/osparc/data/model/Node.js | 3 ++- .../client/source/class/osparc/ui/message/Loading.js | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/static-webserver/client/source/class/osparc/data/model/Node.js b/services/static-webserver/client/source/class/osparc/data/model/Node.js index a1eaae41b19..90bb1a2f6f5 100644 --- a/services/static-webserver/client/source/class/osparc/data/model/Node.js +++ b/services/static-webserver/client/source/class/osparc/data/model/Node.js @@ -991,7 +991,8 @@ qx.Class.define("osparc.data.model.Node", { }, __initLoadingPage: function() { - const loadingPage = new osparc.ui.message.Loading(this.__getLoadingPageHeader(), this.__getExtraMessages(), true); + const showZoomMaximizeButton = !osparc.utils.Utils.isProduct("s4llight"); + const loadingPage = new osparc.ui.message.Loading(this.__getLoadingPageHeader(), this.__getExtraMessages(), showZoomMaximizeButton); this.addListener("changeLabel", () => loadingPage.setHeader(this.__getLoadingPageHeader()), this); this.getStatus().addListener("changeInteractive", () => { loadingPage.setHeader(this.__getLoadingPageHeader()); diff --git a/services/static-webserver/client/source/class/osparc/ui/message/Loading.js b/services/static-webserver/client/source/class/osparc/ui/message/Loading.js index b24bf3a290e..bf8e605bb78 100644 --- a/services/static-webserver/client/source/class/osparc/ui/message/Loading.js +++ b/services/static-webserver/client/source/class/osparc/ui/message/Loading.js @@ -172,7 +172,6 @@ qx.Class.define("osparc.ui.message.Loading", { this.__messages.add(widget); }, - // from osparc.component.widget.PersistentIframe maximizeIFrame: function(maximize) { if (maximize) { From 06d95e92b4afe5d0553ad64e30a8a8e3b29a9552 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Thu, 3 Nov 2022 13:46:32 +0100 Subject: [PATCH 21/23] sim4life-light e2e test added --- tests/e2e/tutorials/sim4life-light.js | 81 +++++++++++++++++++++++++++ tests/e2e/tutorials/tutorialBase.js | 31 ++++++++++ tests/e2e/utils/auto.js | 8 +++ 3 files changed, 120 insertions(+) create mode 100644 tests/e2e/tutorials/sim4life-light.js diff --git a/tests/e2e/tutorials/sim4life-light.js b/tests/e2e/tutorials/sim4life-light.js new file mode 100644 index 00000000000..1521d8e1d8e --- /dev/null +++ b/tests/e2e/tutorials/sim4life-light.js @@ -0,0 +1,81 @@ +// node ti-plan.js [url] [user] [password] [timeout] [--demo] + +const utils = require('../utils/utils'); +const tutorialBase = require('./tutorialBase'); + +const args = process.argv.slice(2); +const { + url, + user, + pass, + newUser, + startTimeout, + enableDemoMode +} = utils.parseCommandLineArguments(args) + +const studyName = "S4L_light"; + +async function runTutorial() { + const tutorial = new tutorialBase.TutorialBase(url, studyName, user, pass, newUser, enableDemoMode); + let studyId; + try { + await tutorial.start(); + + // make sure only sim4life-dy is available + const services = tutorial.getReceivedServices(); + console.log("services", services); + + // start Sim4Life Light + const studyData = await tutorial.startSim4LifeLight(); + studyId = studyData["data"]["uuid"]; + + const workbenchData = utils.extractWorkbenchData(studyData["data"]); + console.log(workbenchData); + const s4lNodeId = workbenchData["nodeIds"][0]; + await tutorial.waitForServices( + workbenchData["studyId"], + [s4lNodeId], + startTimeout, + false + ); + + await tutorial.waitFor(15000, 'Wait for some time'); + + // do some basic interaction + const s4lIframe = await tutorial.getIframe(s4lNodeId); + const modelTree = await s4lIframe.$('.model-tree'); + const modelItems = await modelTree.$$('.MuiTreeItem-label'); + const nLabels = modelItems.length; + if (nLabels > 1) { + modelItems[0].click(); + await tutorial.waitFor(2000, 'Model clicked'); + await tutorial.takeScreenshot('ModelClicked'); + modelItems[1].click(); + await tutorial.waitFor(2000, 'Grid clicked'); + await tutorial.takeScreenshot('GridlClicked'); + } + } + catch (err) { + tutorial.setTutorialFailed(true); + console.log('Tutorial error: ' + err); + throw "Tutorial Failed"; + } + finally { + if (studyId) { + await tutorial.toDashboard() + await tutorial.removeStudy(studyId, 20000); + } + await tutorial.logOut(); + await tutorial.close(); + } + + if (tutorial.getTutorialFailed()) { + throw "Tutorial Failed"; + } +} + +runTutorial() + .catch(error => { + console.log('Puppeteer error: ' + error); + process.exit(1); + }); diff --git a/tests/e2e/tutorials/tutorialBase.js b/tests/e2e/tutorials/tutorialBase.js index 2e61f90f685..c294f5b42ca 100644 --- a/tests/e2e/tutorials/tutorialBase.js +++ b/tests/e2e/tutorials/tutorialBase.js @@ -19,6 +19,8 @@ class TutorialBase { this.__page = null; this.__responsesQueue = null; + this.__services = null; + this.__interval = null; this.__failed = false; @@ -169,6 +171,9 @@ class TutorialBase { const resp = await this.__responsesQueue.waitUntilResponse(resource.request); const respData = resp["data"]; console.log(resource.name + " received:", respData.length); + if (resource.name === "Services") { + this.__services = respData; + } if (resource.listThem) { respData.forEach(item => { console.log(" - ", item.name); @@ -182,6 +187,10 @@ class TutorialBase { } } + getReceivedServices() { + return this.__services; + } + async checkFirstStudyId(studyId) { await this.__page.waitForSelector('[osparc-test-id="studiesList"]'); await this.waitFor(5000, "Wait for studies to be loaded"); @@ -227,6 +236,28 @@ class TutorialBase { return resp; } + async startSim4LifeLight() { + await this.takeScreenshot("startSim4LifeLight_before"); + this.__responsesQueue.addResponseListener("projects?from_study="); + this.__responsesQueue.addResponseListener(":open"); + let resp = null; + try { + await this.waitFor(2000); + await auto.dashboardStartSim4LifeLight(this.__page); + await this.__responsesQueue.waitUntilResponse("projects?from_study="); + resp = await this.__responsesQueue.waitUntilResponse(":open"); + const studyId = resp["data"]["uuid"]; + console.log("Study ID:", studyId); + } + catch (err) { + console.error(`Sim4Life Light could not be started:\n`, err); + throw (err); + } + await this.waitFor(2000); + await this.takeScreenshot("startSim4LifeLight_after"); + return resp; + } + async openStudyLink(openStudyTimeout = 20000) { this.__responsesQueue.addResponseListener(":open"); diff --git a/tests/e2e/utils/auto.js b/tests/e2e/utils/auto.js index c46adc4cadb..f6c4e62f9e8 100644 --- a/tests/e2e/utils/auto.js +++ b/tests/e2e/utils/auto.js @@ -100,6 +100,13 @@ async function dashboardNewPlan(page) { await utils.waitAndClick(page, '[osparc-test-id="newPlanButton"]'); } +async function dashboardStartSim4LifeLight(page) { + console.log("Start Sim4Lide from + button"); + + await __dashboardStudiesBrowser(page); + await utils.waitAndClick(page, '[osparc-test-id="startS4LButton"]'); +} + async function toDashboard(page) { console.log("To Dashboard"); @@ -370,6 +377,7 @@ module.exports = { dashboardAbout, dashboardPreferences, dashboardNewPlan, + dashboardStartSim4LifeLight, dashboardOpenFirstTemplate, dashboardOpenService, showLogger, From b4cdb7b92b1237cf3d259b0f2ad05b829a41d5f6 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Thu, 3 Nov 2022 14:00:20 +0100 Subject: [PATCH 22/23] Expected services received --- .../client/source/class/osparc/dashboard/Dashboard.js | 7 +++++-- tests/e2e/tutorials/sim4life-light.js | 7 ++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js b/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js index 368e98df440..57e1f822c20 100644 --- a/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js +++ b/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js @@ -88,11 +88,13 @@ qx.Class.define("osparc.dashboard.Dashboard", { __createMainViewLayout: function() { const permissions = osparc.data.Permissions.getInstance(); const tabs = [{ + id: "studiesTabBtn", label: osparc.utils.Utils.isProduct("s4llight") ? this.tr("PROJECTS") : this.tr("STUDIES"), buildLayout: this.__createStudyBrowser }]; if (permissions.canDo("dashboard.templates.read")) { const templatesTab = { + id: "templatesTabBtn", label: osparc.utils.Utils.isProduct("s4llight") ? this.tr("TUTORIALS") : this.tr("TEMPLATES"), buildLayout: this.__createTemplateBrowser }; @@ -100,17 +102,19 @@ qx.Class.define("osparc.dashboard.Dashboard", { } if (!osparc.utils.Utils.isProduct("s4llight") && permissions.canDo("dashboard.services.read")) { tabs.push({ + id: "servicesTabBtn", label: this.tr("SERVICES"), buildLayout: this.__createServiceBrowser }); } if (!osparc.utils.Utils.isProduct("s4llight")) { tabs.push({ + id: "dataTabBtn", label: this.tr("DATA"), buildLayout: this.__createDataBrowser} ); } - tabs.forEach(({label, buildLayout}) => { + tabs.forEach(({id, label, buildLayout}) => { const tabPage = new qx.ui.tabview.Page(label).set({ appearance: "dashboard-page" }); @@ -119,7 +123,6 @@ qx.Class.define("osparc.dashboard.Dashboard", { font: "text-16", minWidth: 70 }); - const id = label.getMessageId().toLowerCase() + "TabBtn"; osparc.utils.Utils.setIdToWidget(tabButton, id); tabPage.setLayout(new qx.ui.layout.Grow()); diff --git a/tests/e2e/tutorials/sim4life-light.js b/tests/e2e/tutorials/sim4life-light.js index 1521d8e1d8e..0269fae5639 100644 --- a/tests/e2e/tutorials/sim4life-light.js +++ b/tests/e2e/tutorials/sim4life-light.js @@ -23,7 +23,12 @@ async function runTutorial() { // make sure only sim4life-dy is available const services = tutorial.getReceivedServices(); - console.log("services", services); + if (services.length && services.every(service => service.key === "simcore/services/dynamic/sim4life-dy")) { + console.log("Expected services received"); + } + else { + throw "Check exposed services"; + } // start Sim4Life Light const studyData = await tutorial.startSim4LifeLight(); From 8cbef5616aa0fe6e0cd70c12a1275b30f8e537e6 Mon Sep 17 00:00:00 2001 From: Odei Maiz Date: Thu, 3 Nov 2022 14:02:54 +0100 Subject: [PATCH 23/23] sim4light favicon --- .../source/resource/osparc/favicon-s4llight.png | Bin 0 -> 40862 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 services/static-webserver/client/source/resource/osparc/favicon-s4llight.png diff --git a/services/static-webserver/client/source/resource/osparc/favicon-s4llight.png b/services/static-webserver/client/source/resource/osparc/favicon-s4llight.png new file mode 100644 index 0000000000000000000000000000000000000000..eb259a92b5394ddc9e64702a8b97837932368f6c GIT binary patch literal 40862 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