diff --git a/CLAUDE.md b/CLAUDE.md index 55aeafa..3ae8c5a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -10,6 +10,15 @@ Hyperion is a codbex **edition** — a Spring Boot product that selects a focuse Requires **JDK 21**. Default login is `admin` / `admin`; the app serves on port **80**. +**Two deliberate departures from the platform defaults**, both in the edition's own configuration: + +- **No Intent Driven tooling.** Hyperion models processes directly in BPMN, so `engine-intent` is not included and `ui-editor-intent` (the Intent Editor) and `resources-builder` (the conversational Builder shell) are excluded from the `group-ide` / `group-ui` aggregators. The Harmonia + client-Java application templates stay — they are the generated-application stack, driven by the entity modeler, not by the intent layer. +- **Home is the Workbench IDE.** `DIRIGIBLE_HOME_URL=services/web/shell-ide/` in `dirigible.properties`, overriding the platform's 14.16.0+ default of `services/web/home/` (the Home launchpad). The launchpad remains reachable at `/services/web/home/`; only the `/` redirect changes. Consequence: upstream's `HomepageRedirectIT` asserts the platform default and cannot run here — it was dropped from the common suite, and Hyperion's own `HomePageIT` (Workbench welcome view on `/`) is the assertion that guards the override. + +## Dirigible version + +The Dirigible version is pinned by `codbex-platform-parent` through its `dirigible.version` property, and parent releases track Dirigible releases 1:1 (parent 14.17.0 -> Dirigible 14.17.0) — bumping the edition means bumping the parent version in the root `pom.xml`. Bumps are not mechanical, because Dirigible removes things: the **OData engine was extracted in 14.16.0** (which un-managed `com.codbex.olingo:olingo-odata2-lib`, so the version-less declaration in the root pom failed the build at model-read time), and the **AngularJS/TypeScript application templates were removed** in the same release (`template-form-builder-angularjs` among them). + ## Build & run All commands run from the repo root. diff --git a/application/pom.xml b/application/pom.xml index ab3e98b..bb55155 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -72,10 +72,6 @@ dirigible-components-group-engines-core pom - - org.eclipse.dirigible - dirigible-components-engine-intent - org.eclipse.dirigible dirigible-components-engine-typescript @@ -140,6 +136,11 @@ org.eclipse.dirigible dirigible-components-ui-menu-help + + + org.eclipse.dirigible + dirigible-components-resources-builder + @@ -179,6 +180,11 @@ dirigible-components-group-ide pom + + + org.eclipse.dirigible + dirigible-components-ui-editor-intent + org.eclipse.dirigible dirigible-components-ui-view-welcome @@ -541,10 +547,6 @@ org.eclipse.dirigible dirigible-components-template-websocket - - org.eclipse.dirigible - dirigible-components-template-form-builder-angularjs - org.eclipse.dirigible dirigible-components-template-application-schema diff --git a/application/src/main/resources/dirigible.properties b/application/src/main/resources/dirigible.properties index 7ca44dd..4bf0647 100644 --- a/application/src/main/resources/dirigible.properties +++ b/application/src/main/resources/dirigible.properties @@ -1,6 +1,10 @@ # General DIRIGIBLE_MULTI_TENANT_MODE=false +# Land on the Workbench IDE, not on the platform's Home launchpad (the 14.16.0+ default is +# services/web/home/). Hyperion's users come to model and operate processes, so the IDE is home. +DIRIGIBLE_HOME_URL=services/web/shell-ide/ + DIRIGIBLE_PRODUCT_NAME=${project.title} DIRIGIBLE_PRODUCT_VERSION=${project.version} DIRIGIBLE_PRODUCT_COMMIT_ID=${git.commit.id} diff --git a/components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/configs/help.js b/components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/configs/help.js index b3c3507..4d4d756 100644 --- a/components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/configs/help.js +++ b/components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/configs/help.js @@ -9,69 +9,83 @@ * SPDX-FileCopyrightText: 2022 codbex or an codbex affiliate company and contributors * SPDX-License-Identifier: EPL-2.0 */ -exports.getMenu = () => ({ - systemMenu: true, - id: 'help', - menu: { - translation: { - key: 'common:help', - }, - label: 'Help', - items: [ - { - translation: { - key: 'menu-help:portal', - }, - label: 'Help Portal', - action: 'open', - link: 'https://www.codbex.com/documentation/tooling/', - separator: false +import { repository } from "sdk/platform"; + +export function getMenu() { + const hasOpenApi = repository.getResource('/registry/public/view-swagger/project.json').exists(); + const config = { + systemMenu: true, + id: 'help', + menu: { + translation: { + key: 'common:help', }, - { - translation: { - key: 'menu-help:support', + label: 'Help', + items: [ + { + translation: { + key: 'menu-help:portal', + }, + label: 'Help Portal', + action: 'open', + link: 'https://www.codbex.com/documentation/tooling/', + separator: false }, - label: 'Contact Support', - action: 'open', - link: 'https://www.codbex.com/contact/', - separator: false - }, - { - translation: { - key: 'menu-help:pricing', + { + translation: { + key: 'menu-help:support', + }, + label: 'Contact Support', + action: 'open', + link: 'https://www.codbex.com/contact/', + separator: false }, - label: 'Pricing Plans', - action: 'open', - link: 'https://www.codbex.com/pricing/', - separator: false - }, - { - translation: { - key: 'menu-help:whatsNew', + { + translation: { + key: 'menu-help:pricing', + }, + label: 'Pricing Plans', + action: 'open', + link: 'https://www.codbex.com/pricing/', + separator: false }, - label: 'What\'s New', - action: 'open', - link: 'https://www.codbex.com/technology', - separator: false - }, - { - translation: { - key: 'menu-help:updates', + { + translation: { + key: 'menu-help:whatsNew', + }, + label: 'What\'s New', + action: 'open', + link: 'https://www.codbex.com/technology', + separator: false }, - label: 'Check for Updates', - action: 'open', - link: 'https://www.codbex.com/products/', - separator: true - }, - { - id: 'about', - translation: { - key: 'menu-help:about', + { + translation: { + key: 'menu-help:updates', + }, + label: 'Check for Updates', + action: 'open', + link: 'https://www.codbex.com/products/', + separator: true }, - label: 'About', - action: 'openWindow', - separator: false - } - ] + { + id: 'about', + translation: { + key: 'menu-help:about', + }, + label: 'About', + action: 'openWindow', + separator: false + } + ] + } + }; + if (hasOpenApi) { + config.menu.items.splice(5, 0, { + label: 'OpenAPI', + action: 'open', + link: '/services/web/view-swagger/ui/', + separator: true + }); } -}); \ No newline at end of file + return config; +}; diff --git a/components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/translations/bg-BG/translation.json b/components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/i18n/bg-BG/translation.json similarity index 100% rename from components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/translations/bg-BG/translation.json rename to components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/i18n/bg-BG/translation.json diff --git a/components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/translations/en-US/translation.json b/components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/i18n/en-US/translation.json similarity index 100% rename from components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/translations/en-US/translation.json rename to components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/i18n/en-US/translation.json diff --git a/components/ui/view-welcome/src/main/resources/META-INF/dirigible/view-welcome/js/welcome.js b/components/ui/view-welcome/src/main/resources/META-INF/dirigible/view-welcome/js/welcome.js index 41f0d27..689820f 100644 --- a/components/ui/view-welcome/src/main/resources/META-INF/dirigible/view-welcome/js/welcome.js +++ b/components/ui/view-welcome/src/main/resources/META-INF/dirigible/view-welcome/js/welcome.js @@ -65,7 +65,7 @@ welcome.controller('WelcomeController', ($scope, $http, WorkspaceService, Templa controlType: 'input', type: 'text', label: template.parameters[i].label, - require: true, + required: template.parameters[i].required === true, }; } return form; diff --git a/components/ui/view-welcome/src/main/resources/META-INF/dirigible/view-welcome/welcome.html b/components/ui/view-welcome/src/main/resources/META-INF/dirigible/view-welcome/welcome.html index eda7922..0c3bc7d 100644 --- a/components/ui/view-welcome/src/main/resources/META-INF/dirigible/view-welcome/welcome.html +++ b/components/ui/view-welcome/src/main/resources/META-INF/dirigible/view-welcome/welcome.html @@ -12,8 +12,8 @@ diff --git a/integration-tests/src/test/java/com/codbex/hyperion/integration/tests/DirigibleCommonTestSuiteIT.java b/integration-tests/src/test/java/com/codbex/hyperion/integration/tests/DirigibleCommonTestSuiteIT.java index c2b2804..2622c6e 100644 --- a/integration-tests/src/test/java/com/codbex/hyperion/integration/tests/DirigibleCommonTestSuiteIT.java +++ b/integration-tests/src/test/java/com/codbex/hyperion/integration/tests/DirigibleCommonTestSuiteIT.java @@ -26,7 +26,6 @@ DatabasePerspectiveIT.class, // DeclineLeaveRequestBpmIT.class, // GitPerspectiveIT.class, // - HomepageRedirectIT.class, // MailIT.class, // MessagingFacadeIT.class, // SecurityIT.class, // diff --git a/pom.xml b/pom.xml index a9c28f5..f494656 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.codbex.platform codbex-platform-parent - 14.5.0 + 14.17.0 codbex - hyperion - parent @@ -158,12 +158,6 @@ h2 - - - com.codbex.olingo - olingo-odata2-lib - pom -