diff --git a/CLAUDE.md b/CLAUDE.md
index 7873a49..2b1e30d 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -8,6 +8,20 @@ Iapetus is a [codbex product](https://www.codbex.com/products/): **"Integrations
Technically, this repo is a thin packaging/assembly layer on top of the [Eclipse Dirigible](https://github.com/eclipse/dirigible) low-code platform. Almost all behavior comes from `org.eclipse.dirigible:dirigible-components-*` dependencies; this repo wires them together (selecting Camel/integration plus IDE and operations components), brands them, and adds a handful of custom UI components. There is very little custom Java here (just the Spring Boot bootstrap class).
+**Three deliberate departures from the platform defaults**, all in the edition's own configuration:
+
+- **Camel is the focus.** `engine-camel`, the Integrations (Karavan) modeler, the Camel menu and the `template-camel` aggregator (which carries the cron-route and http-route starters) are in; **no BPM tooling** - no BPMN editor, no Processes perspective, no BPM menus or templates. The Flowable engine itself does arrive on the classpath, because the client Java SDK exposes `org.eclipse.dirigible.sdk.bpm`: `api-modules-java` -> `api-bpm` -> `engine-bpm-flowable`. Excluding `api-bpm` builds and boots but leaves `sdk.bpm` broken the moment client code touches it, so the engine stays and only the tooling is left out.
+- **No Intent Driven tooling.** There is no `engine-intent`, and `resources-builder` (the conversational Builder shell) is excluded from `group-ui`. `resources-inbox` is excluded for the same "nothing backs it" reason - the BPM task inbox has no BPM surface here.
+- **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 launchpad stays 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 the edition's own `HomePageIT` (Workbench welcome view on `/`) guards the override.
+
+**Java support is full**: `engine-java` (in-process `javac` + the bean container), `data-store-java` (Java `@Entity` -> Hibernate), the `api-modules-java` SDK, `ide-java-lsp` (JDT.LS), `ide-java-debug` (the DAP bridge) and the Java / Java Debug views.
+
+## Dirigible version
+
+The version is pinned by `codbex-platform-parent` through its `dirigible.version` property; parent releases track Dirigible releases 1:1 (parent 14.17.0 -> Dirigible 14.17.0), so bumping the edition means bumping the parent. Bumps are not mechanical - Dirigible removes things: the OData engine was extracted in 14.16.0 (un-managing `com.codbex.olingo:olingo-odata2-lib`, which fails a version-less declaration at model-read time) and the AngularJS/TypeScript application templates went with it.
+
+**The UI overrides under `components/ui/` are forks of upstream files** - diff them against the matching Dirigible module on every bump; they drift silently (translations must live in `i18n//*.json`, the only folder `platform-core/extension-services/locales.js` scans).
+
## Module layout
Maven multi-module reactor (parent `pom.xml`, packaging `pom`):
diff --git a/application/pom.xml b/application/pom.xml
index 4684a59..aa1f5a7 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -18,6 +18,7 @@
org.eclipse.dirigible
dirigible-components-template-camel
+
org.eclipse.dirigible
@@ -98,6 +99,43 @@
dirigible-components-engine-camel
+
+
+ org.eclipse.dirigible
+ dirigible-components-engine-java
+
+
+ org.eclipse.dirigible
+ dirigible-components-data-store-java
+
+
+ org.eclipse.dirigible
+ dirigible-components-api-modules-java
+
+
+ org.eclipse.dirigible
+ dirigible-components-ide-java-lsp
+
+
+ org.eclipse.dirigible
+ dirigible-components-ide-java-debug
+
+
+ org.eclipse.dirigible
+ dirigible-components-ui-view-java
+
+
+ org.eclipse.dirigible
+ dirigible-components-ui-view-java-debug
+
+
org.eclipse.dirigible
dirigible-components-engine-typescript
@@ -149,6 +187,16 @@
org.eclipse.dirigible
dirigible-components-ui-menu-help
+
+
+ org.eclipse.dirigible
+ dirigible-components-resources-builder
+
+
+
+ org.eclipse.dirigible
+ dirigible-components-resources-inbox
+
diff --git a/application/src/main/resources/dirigible.properties b/application/src/main/resources/dirigible.properties
index e1afdfa..eebb031 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/). This is a tooling edition, 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 0c5bb43..49f5818 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 @@
@@ -64,7 +64,7 @@ Welcome to Iapetus
All source code is licensed under the
Eclipse Public License - v 2.0
and maintained at
- GitHub.
+ GitHub.
diff --git a/integration-tests/src/test/java/com/codbex/iapetus/integration/tests/DirigibleCommonTestSuiteIT.java b/integration-tests/src/test/java/com/codbex/iapetus/integration/tests/DirigibleCommonTestSuiteIT.java
index 68c7744..33cf2fb 100644
--- a/integration-tests/src/test/java/com/codbex/iapetus/integration/tests/DirigibleCommonTestSuiteIT.java
+++ b/integration-tests/src/test/java/com/codbex/iapetus/integration/tests/DirigibleCommonTestSuiteIT.java
@@ -32,7 +32,6 @@
CustomSecurityIT.class, //
DatabasePerspectiveIT.class, //
GitPerspectiveIT.class, //
- HomepageRedirectIT.class, //
MailIT.class, //
MessagingFacadeIT.class, //
SecurityIT.class, //
diff --git a/pom.xml b/pom.xml
index 5a60e85..0c3c069 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
com.codbex.platform
codbex-platform-parent
- 14.49.0
+ 14.62.0
codbex-iapetus-parent