diff --git a/CLAUDE.md b/CLAUDE.md index 94b2451..10c925f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -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//` path 404s that works on Atlas, the fix is usually adding the matching `dirigible-components-resources-` (content jars ship `META-INF/dirigible//`); 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//` path 404s that works on Atlas, the fix is usually adding the matching `dirigible-components-resources-` (content jars ship `META-INF/dirigible//`); 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. diff --git a/application/pom.xml b/application/pom.xml index bf94133..e190f48 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -115,10 +115,6 @@ dirigible-components-group-resources-ui pom - - org.eclipse.dirigible - dirigible-components-resources-dashboard - org.eclipse.dirigible dirigible-components-resources-inbox @@ -133,7 +129,7 @@ org.eclipse.dirigible - dirigible-components-resources-my + dirigible-components-resources-personal org.eclipse.dirigible @@ -148,6 +144,39 @@ dirigible-components-resources-home + + + org.eclipse.dirigible + dirigible-components-resources-monitoring + + + org.eclipse.dirigible + dirigible-components-ide-monitoring + + + org.eclipse.dirigible + dirigible-components-ide-logs + + + org.eclipse.dirigible + dirigible-components-ide-messaging-monitoring + + + + org.webjars.npm + bpmn-visualization + 0.47.0 + + org.eclipse.dirigible diff --git a/application/src/main/java/com/codbex/gaia/GaiaApplication.java b/application/src/main/java/com/codbex/gaia/GaiaApplication.java index 0817824..1dd7f3a 100644 --- a/application/src/main/java/com/codbex/gaia/GaiaApplication.java +++ b/application/src/main/java/com/codbex/gaia/GaiaApplication.java @@ -16,9 +16,20 @@ import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.scheduling.annotation.EnableScheduling; +/** + * The Gaia edition's entry point. + * + *

+ * 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 { diff --git a/application/src/main/resources/dirigible.properties b/application/src/main/resources/dirigible.properties index e2c11ef..c7211ef 100644 --- a/application/src/main/resources/dirigible.properties +++ b/application/src/main/resources/dirigible.properties @@ -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 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/pom.xml b/pom.xml index 48fde57..cffc179 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.codbex.platform codbex-platform-parent - 14.14.0 + 14.18.0 codbex - gaia - parent @@ -143,13 +143,6 @@ org.webjars webjars-locator - - - - com.codbex.olingo - olingo-odata2-lib - pom -