Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/<locale>/*.json`, the only folder `platform-core/extension-services/locales.js` scans).

## Module layout

Maven multi-module reactor (parent `pom.xml`, packaging `pom`):
Expand Down
48 changes: 48 additions & 0 deletions application/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-template-camel</artifactId>
<!-- An aggregator: it carries template-camel-cron-route and template-camel-http-route -->
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
Expand Down Expand Up @@ -98,6 +99,43 @@
<artifactId>dirigible-components-engine-camel</artifactId>
</dependency>

<!--
Java support: in-process compilation, entities, the client SDK, language server and debugger.
Note: api-modules-java depends on api-bpm, which pulls engine-bpm-flowable in - the client SDK
exposes org.eclipse.dirigible.sdk.bpm, so the Java stack cannot ship without the BPM engine.
This edition therefore carries the engine but none of the BPM tooling (no BPMN editor, no
Processes perspective, no BPM menus or templates). Excluding api-bpm here builds and boots,
but leaves sdk.bpm broken the moment client code touches it - not worth the trap.
-->
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-engine-java</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-data-store-java</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-api-modules-java</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-ide-java-lsp</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-ide-java-debug</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-ui-view-java</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-ui-view-java-debug</artifactId>
</dependency>

<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-engine-typescript</artifactId>
Expand Down Expand Up @@ -149,6 +187,16 @@
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-ui-menu-help</artifactId>
</exclusion>
<!-- Intent Driven tooling: Iapetus is an integrations edition, it has no intent engine -->
<exclusion>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-resources-builder</artifactId>
</exclusion>
<!-- BPM task inbox: there is no BPM engine in this edition to back it -->
<exclusion>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-resources-inbox</artifactId>
</exclusion>
</exclusions>
</dependency>

Expand Down
4 changes: 4 additions & 0 deletions application/src/main/resources/dirigible.properties
Original file line number Diff line number Diff line change
@@ -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}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
});
}
});
return config;
};
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<script src="js/welcome.js" type="text/javascript"></script>
<style>
.imgColor path {
background-color: var(--fdAvatarBackgroundColor);
fill: var(--fdAvatarColor);
background-color: var(--accent);
fill: var(--accent-foreground);
}

</style>
Expand Down Expand Up @@ -64,7 +64,7 @@ <h3 class="fd-section__title">Welcome to Iapetus</h3>
All source code is licensed under the
<bk-link href="https://www.eclipse.org/legal/epl-v20.html" target="_blank">Eclipse Public License - v 2.0</bk-link>
and maintained at
<bk-link href="https://github.com/codbex/codbex-hyperion" target="_blank">GitHub</bk-link>.
<bk-link href="https://github.com/codbex/codbex-iapetus" target="_blank">GitHub</bk-link>.
</p>
</section>
<theme></theme>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
CustomSecurityIT.class, //
DatabasePerspectiveIT.class, //
GitPerspectiveIT.class, //
HomepageRedirectIT.class, //
MailIT.class, //
MessagingFacadeIT.class, //
SecurityIT.class, //
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.codbex.platform</groupId>
<artifactId>codbex-platform-parent</artifactId>
<version>14.49.0</version>
<version>14.62.0</version>
</parent>

<name>codbex-iapetus-parent</name>
Expand Down
Loading