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
3 changes: 2 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ Formatting is enforced; run this before committing Java changes.

## Module layout

- **application/** — the Spring Boot app. `GaiaApplication` (`@SpringBootApplication` scanning `com.codbex.gaia` + `org.eclipse.dirigible.components`) is the entry point. Its `pom.xml` is the real definition of the edition: the list of `dirigible-components-*` dependencies there determines which engines/APIs/UI resources are bundled (core, security basic/keycloak/cognito/snowflake, database, BPM flowable, CMS, dashboard, inbox, documents, the Harmonia app shells `resources-application`/`resources-my`/`resources-partner` served at `/services/web/{application,my,partner}/`, etc.). To add or remove a platform capability, edit this dependency list. Gaia cherry-picks individual artifacts rather than pulling Dirigible's `group-ui`/`group-ide` poms (which Atlas uses), because those groups also drag in Web IDE pieces and `dirigible-components-ui-menu-help` (replaced here by the custom `codbex-gaia-components-ui-menu-help`). When a `/services/web/<x>/` path 404s that works on Atlas, the fix is usually adding the matching `dirigible-components-resources-<x>` (content jars ship `META-INF/dirigible/<x>/`); the shared webjars (alpinejs, @codbex/harmonia, lucide, pinecone-router, i18next) come transitively from `resources-application-core` in `group-resources-ui`.
- **application/** — the Spring Boot app. `GaiaApplication` (`@SpringBootApplication` scanning `com.codbex.gaia` + `org.eclipse.dirigible.components`) is the entry point. Its `pom.xml` is the real definition of the edition: the list of `dirigible-components-*` dependencies there determines which engines/APIs/UI resources are bundled (core, security basic/keycloak/cognito/snowflake, database, BPM flowable, CMS, inbox, documents, the Home launchpad `resources-home` served at `/services/web/home/` — the `/` target — and the Harmonia app shells `resources-application`/`resources-personal`/`resources-partner`/`resources-admin` served at `/services/web/{application,personal,partner,admin}/`, and the Monitoring shell, etc.). To add or remove a platform capability, edit this dependency list. Gaia cherry-picks individual artifacts rather than pulling Dirigible's `group-ui`/`group-ide` poms (which Atlas uses), because those groups also drag in Web IDE pieces and `dirigible-components-ui-menu-help` (replaced here by the custom `codbex-gaia-components-ui-menu-help`). When a `/services/web/<x>/` path 404s that works on Atlas, the fix is usually adding the matching `dirigible-components-resources-<x>` (content jars ship `META-INF/dirigible/<x>/`); the shared webjars (alpinejs, @codbex/harmonia, lucide, pinecone-router, i18next) come transitively from `resources-application-core` in `group-resources-ui`.
The **Monitoring shell** (`/services/web/monitoring/`, ADMINISTRATOR/OPERATOR/DEVELOPER) is the one place where a `resources-*` shell needs backends that are otherwise Web IDE territory: its JVM, log-file and broker pages read `ide-monitoring`, `ide-logs` and `ide-messaging-monitoring`, so all four artifacts are declared as one block. Two non-obvious pieces come with it — the `bpmn-visualization` webjar for the live process diagram (upstream ships it via `ui-perspective-processes`, which this edition does not bundle, so it is declared directly), and `org.eclipse.dirigible.commons` in `GaiaApplication`'s `scanBasePackages`, whose single bean publishes the live log stream at `/websockets/ide/console`.
- **branding/** — logo/favicon and `project.json` packaged as a Dirigible content project under `META-INF/dirigible/gaia-branding/`.
- **components/** — Gaia-specific Dirigible content components (currently only `ui/menu-help`). New custom UI/content lives here.
- **integration-tests/** — UI/integration tests against the assembled platform.
Expand Down
39 changes: 34 additions & 5 deletions application/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -115,10 +115,6 @@
<artifactId>dirigible-components-group-resources-ui</artifactId>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-resources-dashboard</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-resources-inbox</artifactId>
Expand All @@ -133,7 +129,7 @@
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-resources-my</artifactId>
<artifactId>dirigible-components-resources-personal</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
Expand All @@ -148,6 +144,39 @@
<artifactId>dirigible-components-resources-home</artifactId>
</dependency>

<!--
Monitoring - the operations shell at /services/web/monitoring/ plus the three backends
its pages read. Kept together so the capability is added or dropped in one edit.
The Overview, Jobs and Processes pages read core-healthcheck, core-base, engine-jobs
and engine-bpm-flowable, which the edition already bundles.
-->
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-resources-monitoring</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-ide-monitoring</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-ide-logs</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-ide-messaging-monitoring</artifactId>
</dependency>
<!--
The Processes page renders the live BPMN diagram with the same visualizer the IDE uses.
Upstream ships this webjar through ui-perspective-processes, which is Web IDE content
this edition does not bundle, so it is declared here directly.
-->
<dependency>
<groupId>org.webjars.npm</groupId>
<artifactId>bpmn-visualization</artifactId>
<version>0.47.0</version>
</dependency>

<!-- UI -->
<dependency>
<groupId>org.eclipse.dirigible</groupId>
Expand Down
13 changes: 12 additions & 1 deletion application/src/main/java/com/codbex/gaia/GaiaApplication.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,20 @@
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.scheduling.annotation.EnableScheduling;

/**
* The Gaia edition's entry point.
*
* <p>
* The scan covers {@code org.eclipse.dirigible.commons} for a single bean,
* {@code ConsoleWebsocketConfig}, which publishes the platform logging appender's stream at
* {@code /websockets/ide/console} - the live source behind the Monitoring shell's Logs page.
* Upstream picks it up because its application class sits in {@code org.eclipse.dirigible} and
* scans the whole tree; this edition names its packages, so it has to name that one too.
*/
@EnableJpaAuditing
@EnableJpaRepositories
@SpringBootApplication(scanBasePackages = {"com.codbex.gaia", "org.eclipse.dirigible.components", "org.eclipse.dirigible.engine"})
@SpringBootApplication(scanBasePackages = {"com.codbex.gaia", "org.eclipse.dirigible.components", "org.eclipse.dirigible.engine",
"org.eclipse.dirigible.commons"})
@EnableScheduling
public class GaiaApplication {

Expand Down
2 changes: 1 addition & 1 deletion application/src/main/resources/dirigible.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ DIRIGIBLE_PRODUCT_TYPE=basis

DIRIGIBLE_INSTANCE_NAME=gaia

DIRIGIBLE_HOME_URL=services/web/dashboard/
DIRIGIBLE_HOME_URL=services/web/home/

DIRIGIBLE_BRANDING_NAME=Gaia
DIRIGIBLE_BRANDING_BRAND=codbex
Expand Down
9 changes: 1 addition & 8 deletions 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.14.0</version>
<version>14.18.0</version>
</parent>

<name>codbex - gaia - parent</name>
Expand Down Expand Up @@ -143,13 +143,6 @@
<groupId>org.webjars</groupId>
<artifactId>webjars-locator</artifactId>
</dependency>

<!-- Olingo -->
<dependency>
<groupId>com.codbex.olingo</groupId>
<artifactId>olingo-odata2-lib</artifactId>
<type>pom</type>
</dependency>
</dependencies>

<dependencyManagement>
Expand Down
Loading