From 3459576cd922408c9a64839d8b8b5020792a5bfa Mon Sep 17 00:00:00 2001 From: delchev Date: Sat, 8 Aug 2026 10:14:34 +0300 Subject: [PATCH] feat: Dirigible 14.17.0, drop the Intent Driven tooling, keep the IDE as home Hyperion is a BPM/BPMN edition: processes are modelled directly in BPMN, so the intent layer is not part of this product, and its users land in the Workbench rather than on the platform's Home launchpad. Version - codbex-platform-parent 14.5.0 -> 14.17.0 (parents track Dirigible releases 1:1). - Drop the Olingo dependency: Dirigible extracted the OData engine in 14.16.0 and `dirigible-dependencies` no longer manages `olingo-odata2-lib`, so the version-less declaration failed the build at model-read time. Hyperion never shipped the OData engine. - Drop `template-form-builder-angularjs` - removed upstream in 14.16.0 with the rest of the AngularJS/TypeScript application stack. No Intent Driven tooling - Remove `engine-intent`; exclude `ui-editor-intent` from `group-ide` and `resources-builder` (the conversational Builder shell) from `group-ui`. - The Harmonia + client-Java application templates stay: that is the generated-application stack driven by the entity modeler, not the intent layer. Home is the Workbench again - `DIRIGIBLE_HOME_URL=services/web/shell-ide/`, overriding the 14.16.0+ default of `services/web/home/`. The launchpad stays reachable at `/services/web/home/`; only the `/` redirect changes. - Consequence: upstream's `HomepageRedirectIT` asserts the platform default and cannot pass here, so it leaves the common suite. Hyperion's own `HomePageIT` (Workbench welcome view on `/`) is what guards the override, unchanged. UI overrides (forks of upstream files, drifted) - menu-help: port to the current module shape (ESM + the conditional OpenAPI entry) and move `translations/` to `i18n/`, the only folder `locales.js` scans - the Bulgarian help-menu catalog had been dead. - view-welcome: fix the misspelled `require` form-item flag and use the BlimpKit theme variables instead of the retired `--fdAvatar*` ones. Verified: quick-build, formatter:validate and unit tests green; the fat jar carries only 14.17.0 dirigible jars, with engine-intent / ui-editor-intent / resources-builder / template-form-builder-angularjs / engine-odata all absent and the BPM, Harmonia-app and Java (LSP + debugger + engine-java + SDK) sets intact. On a running instance `/` answers 302 to /services/web/shell-ide/, the intent endpoints and the Builder shell 404, and the shell switcher no longer lists builderShell. Co-Authored-By: Claude Opus 5 --- CLAUDE.md | 9 ++ application/pom.xml | 18 +-- .../src/main/resources/dirigible.properties | 4 + .../dirigible/menu-help/configs/help.js | 132 ++++++++++-------- .../bg-BG/translation.json | 0 .../en-US/translation.json | 0 .../dirigible/view-welcome/js/welcome.js | 2 +- .../dirigible/view-welcome/welcome.html | 4 +- .../tests/DirigibleCommonTestSuiteIT.java | 1 - pom.xml | 8 +- 10 files changed, 100 insertions(+), 78 deletions(-) rename components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/{translations => i18n}/bg-BG/translation.json (100%) rename components/ui/menu-help/src/main/resources/META-INF/dirigible/menu-help/{translations => i18n}/en-US/translation.json (100%) 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 -