Skip to content

Sync Rhea with Dirigible 14.16.0: Intent Driven stack in, AngularJS/TS stack out - #309

Merged
delchev merged 3 commits into
mainfrom
sync-dirigible-14.16.0
Aug 8, 2026
Merged

delchev merged 3 commits into
mainfrom
sync-dirigible-14.16.0

Conversation

@delchev

@delchev delchev commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Rhea was pinned to Dirigible 13.6.0, so none of the Modeling and Applications work of the 14.x line reached the edition, while application/pom.xml still named the AngularJS/TypeScript application templates that Dirigible removed in 14.16.0 (eclipse-dirigible/dirigible#6588).

Version

before after
codbex-platform-parent 13.6.0 14.14.0 (newest published)
dirigible.version 13.6.0 (inherited) 14.16.0 (overridden in the root pom)

Parent releases track Dirigible releases 1:1 and there is no 14.16.0 parent yet, but 14.16.0 is where the Builder shell, the Monitoring shell, the Personal shell rename and the template removals live. The override is documented in the pom and in CLAUDE.md, and should be deleted once codbex-platform-parent 14.16.0 is published.

The Olingo dependency is dropped from the root pom: Dirigible extracted the OData engine, so dirigible-dependencies 14.16.0 no longer manages com.codbex.olingo:olingo-odata2-lib and the version-less declaration failed the build outright. Rhea never shipped the OData engine.

This supersedes #308 (dependabot, parent -> 14.11.0), which can be closed.

Removed (no longer exist in Dirigible)

template-application-angular, -dao, -data, -feed, -odata, -rest, -ui-angular, template-form-builder-angularjs.

Added

  • Intent Driven - engine-intent (the app.intent parse / generate / AI agent endpoints). The Intent Editor (ui-editor-intent) and the conversational Builder shell (resources-builder) arrive through group-ide / group-ui.
  • The single application stack - template-application-{dao,rest,events}-java and -ui-harmonia-java (which also carries the report generator), template-form-builder-harmonia, plus template-form so a .form artefact can be scaffolded at all (it could not be, before).
  • Client Java runtime - engine-java, data-store-java, data-store and the api-modules-java SDK the generated code compiles against.
  • Document output - engine-document (.print -> XSL-FO -> PDF) and engine-numbering (.numbers).

The Home launchpad and the Application / Personal / Partner / Administration / Monitoring / Inbox / Documents shells, the shared Harmonia runtime (application-core) and the Java LSP/debugger come in through the group-* aggregators Rhea already depends on - the version bump is what unlocks them.

UI overrides

components/ui/menu-help and view-welcome are forks of upstream files and had drifted:

  • menu-help - ported to the current module shape (ESM + the conditional OpenAPI menu entry), and translations/ moved to i18n/, the only folder platform-core/extension-services/locales.js scans. The Bulgarian help-menu catalog had been dead.
  • view-welcome - fixed the misspelled require form-item flag (template parameters were never marked required), pointed the GitHub link at codbex-rhea instead of codbex-hyperion, and switched the avatar rule to the BlimpKit theme variables.

CLAUDE.md now records the version-override rule, a "what this edition ships" inventory, and the reminder to diff these forks against upstream on every bump.

Verification

Build: mvn -T 1C clean install -P quick-build, mvn -T 1C formatter:validate, mvn clean install -P unit-tests - all green.

On the built jar:

  • every dirigible-* jar resolves at 14.16.0; none of the removed artefacts survives;
  • all eight shells register, including builderShell, monitoringShell and personalShell;
  • the template inventory offers only the Harmonia/Java stack (model -> schema + dao-java + rest-java + ui-harmonia-java, form -> form-builder-harmonia, glue -> events-java, report -> ui-harmonia-java);
  • /services/ide/intent/parse, /agent/status, /services/core/artefacts, /services/core/numbering and /services/ide/monitoring/metrics all answer.

End to end: an app.intent went generate -> code-gen -> publish with zero Problems, after which the generated client-Java REST controller answered on /services/java/<project>/gen/<model>/api/..., a record round-tripped through the generated repository (identity id assigned, audit columns stamped), and the generated Harmonia SPA pages were served.

Notes / follow-ups

  • Still deliberately excluded, add on demand: Camel/integrations, FTP/SFTP, Python, native apps, the S3/SharePoint CMS backends, data-processes, and the JS/TS starter templates.
  • Found while testing (upstream, not this PR): an intent whose entity declares no primaryKey field parses with 200 and generates a .edm/.model without a key, which yields uncompilable Java (@PathParam("id") id - no type). Worth a validation issue against engine-intent.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

🤖 Generated with Claude Code

delchev and others added 2 commits August 8, 2026 07:48
…larJS/TS stack out

Rhea was pinned to Dirigible 13.6.0, so none of the Modeling and Applications work
of the 14.x line reached the edition, while its component list still named the
AngularJS/TypeScript application templates that Dirigible removed in 14.16.0.

Version
- codbex-platform-parent 13.6.0 -> 14.14.0 (the newest published one).
- Override dirigible.version to 14.16.0: parent releases track Dirigible releases
  1:1 and there is no 14.16.0 parent yet, but 14.16.0 is where the Builder shell,
  the Monitoring shell, the Personal shell rename and the template removals live.
  The override is documented and goes away with the next parent release.
- Drop the Olingo dependency: Dirigible extracted the OData engine, so
  dirigible-dependencies 14.16.0 no longer manages olingo-odata2-lib and the
  version-less declaration broke the build. Rhea never shipped the OData engine.

Removed (gone from Dirigible in 14.16.0)
- template-application-angular, -dao, -data, -feed, -odata, -rest, -ui-angular
- template-form-builder-angularjs

Added
- Intent Driven: engine-intent (parse / generate / AI agent). The Intent Editor
  and the conversational Builder shell arrive through group-ide / group-ui.
- The single application stack: template-application-{dao,rest,events}-java and
  -ui-harmonia-java (with its report generator), template-form-builder-harmonia,
  and template-form so a .form artefact can be scaffolded at all.
- Client Java runtime: engine-java, data-store-java, data-store and the
  api-modules-java SDK the generated code compiles against.
- Document output: engine-document (.print -> XSL-FO -> PDF) and engine-numbering.

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, point the GitHub link
  at codbex-rhea instead of codbex-hyperion, and use the BlimpKit theme variables.

Verified on the built jar: all Dirigible jars resolve at 14.16.0, no removed
artefact survives, the eight shells register (builder, monitoring and personal
among them), the template inventory offers only the Harmonia/Java stack, and an
app.intent goes generate -> code-gen -> publish with zero Problems, after which
the generated Java REST controller and Harmonia SPA both answer and a record
round-trips through the generated repository.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Dirigible 14.16.0 lands `/` on the Home launchpad (`resources-home`), which carries
no IDE perspectives, so the Workbench welcome view's `<h3>Welcome to Rhea</h3>` is no
longer on the root page and the single assertion failed.

Split it the way upstream does: the root page asserts the branding span plus the
Home landing tagline (static copy - the greeting is user/time dependent), and a
second test opens the Workbench through `ide.openIde()` and asserts the welcome
heading there. Both surfaces stay covered.

Verified: `mvn verify -P integration-tests -pl integration-tests -Dit.test=HomePageIT
-Dselenide.headless=true` - 2 tests, 0 failures.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@delchev

delchev commented Aug 8, 2026

Copy link
Copy Markdown
Contributor Author

Follow-up commit: HomePageIT. The first CI run caught a real consequence of the bump - Dirigible 14.16.0 lands / on the new Home launchpad (resources-home), which carries no IDE perspectives, so the Workbench welcome view's <h3>Welcome to Rhea</h3> is not on the root page any more (the branding <span>Rhea</span> still is, which is why only the second assertion failed).

Split the test the way upstream splits it (DirigibleHomepageIT + HomepageRedirectIT):

  • testOpenHomePage - root page asserts the branding span plus the Home landing tagline (static copy; the greeting is user/time dependent);
  • testOpenWorkbench - ide.openIde() then asserts the welcome heading.

Keeping the Home launchpad as the landing page is deliberate: it is the platform direction, and it is the surface that now offers Rhea's Builder, Monitoring, Application and Personal shells.

All checks green: code-style, both build matrix legs, integration-tests, otc-helm, CodeQL (java-kotlin + javascript-typescript).

@delchev
delchev merged commit cb2dec5 into main Aug 8, 2026
7 checks passed
@delchev
delchev deleted the sync-dirigible-14.16.0 branch August 8, 2026 06:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant