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
10 changes: 5 additions & 5 deletions CLAUDE.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions CLAUDE_FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -553,7 +553,7 @@ First-class designers, each writing one of the modeler artefacts from §2.4:
| Integrations Modeler (Karavan) | `*.camel` | Apache Camel route (`resources-karavan-libs`). |

#### Underlying libraries
Monaco (editor), mxGraph (Schema/EDM diagrams), bpmn-visualization-js (BPMN viewer), Flowable BPMN (modeler), Karavan (Camel route designer), AngularJS + GoldenLayout (legacy layout), AG Grid (tables), Chart.js (charts), jsTree (trees), Xterm.js (terminal).
Monaco (editor), mxGraph (Schema/EDM diagrams), bpmn-visualization-js (BPMN viewer), Flowable BPMN (modeler), Karavan (Camel route designer), AngularJS + GoldenLayout (legacy layout), AG Grid (tables), jsTree (trees), Xterm.js (terminal).

### 7.3 Views (`components/ui/view-*`)
Side / bottom panels: `view-artefacts`, `view-configurations`, `view-console`, `view-databases`, `view-data-structures`, `view-debugger` (JS), `view-java-debug`, `view-extensions`, `view-git`, `view-import`, `view-jobs`, `view-listeners`, `view-loggers`, `view-logs`, `view-preview`, `view-problems`, `view-projects`, `view-properties`, `view-registry`, `view-repository`, `view-search`, `view-security`, `view-sql`, `view-swagger`, `view-terminal`, `view-transfer`, `view-translation`, `view-websockets`, `view-welcome`.
Expand Down Expand Up @@ -662,7 +662,7 @@ For doc generation: the full list of `@RestController`-annotated classes is in `

### 10.2 Frontend toolchain
- Node 22.x with global `typescript` and `esbuild`. WebJar modules under `components/ide/` and `components/ui/` are transpiled / bundled at Maven build time.
- Monaco editor, mxGraph, BlimpKit theme, BPMN visualization, AG Grid, Chart.js, Xterm.js, jsTree.
- Monaco editor, mxGraph, BlimpKit theme, BPMN visualization, AG Grid, Xterm.js, jsTree.

### 10.3 CLI (`cli/`)
Standalone helper that starts the Dirigible jar against a given user project path; produces `cli/target/dirigible-cli-*-executable.jar`. See `cli/README.md`.
Expand Down
3 changes: 3 additions & 0 deletions HARMONIA_2_MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,9 @@ compatible (verify each on the running app).
in `components/resources/resources-resources/pom.xml` (`chart.js.version` in
root `pom.xml`); only droppable if both report surfaces fully migrate. Do this
as a separate, coordinated PR.
**Done (#6590):** the Harmonia reports run on the native `x-h-chart-*` charts and
the AngularJS report surface was removed with the Dashboard shell (#6589), so the
Chart.js webjar and its version property are gone.

## Verification

Expand Down
7 changes: 7 additions & 0 deletions HARMONIA_RUNTIME_PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
Research and implementation plan for a parallel, fully-embedded runtime UI stack.
Framework swap only; behaviour parity.

> **Status: done — and no longer parallel.** The AngularJS/TypeScript application templates
> ([#6588](https://github.com/eclipse-dirigible/dirigible/issues/6588)) and the AngularJS Dashboard
> shell `resources-dashboard` ([#6589](https://github.com/eclipse-dirigible/dirigible/issues/6589))
> have been removed, so Harmonia + client Java is the platform's only application stack. The
> "parallel stack", "parity with the AngularJS views" and "replaces `resources-dashboard`" framing
> below is the historical plan, kept as the design record.

## Goal

Keep the **IDE** (Workbench, Monaco editors, entity/form/intent modelers) on **AngularJS + BlimpKit**.
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,6 @@ Monaco Editor by Microsoft: [https://github.com/microsoft/monaco-editor](https:/
mxGraph: [https://github.com/jgraph/mxgraph](https://github.com/jgraph/mxgraph)
Xterm.js: [https://github.com/xtermjs/xterm.js](https://github.com/xtermjs/xterm.js)
Flowable: [https://github.com/flowable](https://github.com/flowable)
Chart.js: [https://github.com/chartjs/Chart.js](https://github.com/chartjs/Chart.js)
AG Grid: [https://github.com/ag-grid/ag-grid](https://github.com/ag-grid/ag-grid)
BlimpKit: [https://github.com/blimpkit/blimpkit.github.io](https://github.com/blimpkit/blimpkit.github.io)

Expand Down
2 changes: 1 addition & 1 deletion components/engine/engine-intent/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -552,7 +552,7 @@ Implemented and generating annotated client-Java off the shared `EventBinding` /
- Reports rewritten to the Dirigible `.report` shape with a materialised SQL `query` (was empty), `relation.field` -> `INNER JOIN`, `filter` -> qualified `WHERE`, and default-role `security`. Covered by `IntentEngineIT` (aggregate + join/filter reports).
- Cross-artefact PascalCase: the `.form` control `model`/`id` bind to the PascalCase EDM property name; a bare to-one relation report dimension auto-joins and shows the target's `name`-like field instead of the raw FK id.
- Process triggers (`trigger: { onCreate: <Entity> }`) fully wired in Java: validated by the parser; the new `template-application-events-java` ("Application - Glue Code - Java") template generates a `gen/events/<module>/<Process>Trigger.java` self-describing `MessageHandler` that starts the process on the entity's create event; the Java DAO template publishes that event. The EDM keeps only the persisted `ProcessId` column (`EdmIntentGenerator`). Covered by `IntentEngineIT` end-to-end (verified live: create → trigger → process start → ProcessId written back).
- **`ProcessId` consumed by the generated entity-view UI** (in-context BPM task surfacing). The `ProcessId` the trigger writes back is read by the generated views: a shared `ProcessTasks` AngularJS module (`components/resources/resources-dashboard/.../dashboard/services/process-tasks.js` — service + `<entity-process-tasks>` directive) fetches the current user's Inbox tasks once, buckets them by `processInstanceId`, and a record shows its actionable tasks inline by matching `entity.ProcessId === task.processInstanceId`. Wired into every generated view (`list`, `manage`, `master-list`/`master-manage` `detail` and `main-details`) gated on a `hasProcess` flag that `parameterUtils.js` sets when an entity has a `ProcessId` property — so non-process entities generate unchanged. The generated task form (`FormIntentGenerator`) completes via the per-task **permission-checked** `/services/inbox/tasks/{id}` (not the role-guarded `/services/bpm/bpm-processes/tasks/{id}`, which blocks candidate-group users) and self-closes on completion via both `DialogHub.closeWindow()` (dialog/inbox) and `window.close()` (standalone window). (#6074 + refinements #6075.)
- **`ProcessId` consumed by the generated entity-view UI** (in-context BPM task surfacing). The `ProcessId` the trigger writes back is read by the generated views: the shared Harmonia runtime's `processTasks` store (`components/resources/application-core/.../application-core/shell/js/stores/processTasks.js`) fetches the current user's Inbox tasks, buckets them by `processInstanceId`, and a record shows its actionable tasks inline by matching `entity.ProcessId === task.processInstanceId`. Wired into every generated view gated on a `hasProcess` flag that `parameterUtils.js` sets when an entity has a `ProcessId` property — so non-process entities generate unchanged. The generated task form (`FormIntentGenerator`) completes via the per-task **permission-checked** `/services/inbox/tasks/{id}` (not the role-guarded `/services/bpm/bpm-processes/tasks/{id}`, which blocks candidate-group users) and self-closes on completion via both `DialogHub.closeWindow()` (dialog/inbox) and `window.close()` (standalone window). (#6074 + refinements #6075.)
- **Process glue externalized to `<intent>.glue`** (the precedent: `.report`/`.form` were lifted out of the EDM). The `triggers` + `resolvers` collections live in `.glue` (`GlueIntentGenerator`), NOT the `.model` - the EDM describes entities, the BPMN describes flow, neither owns "who starts a process / how its context is populated". The Glue-Code template binds to `extension: "glue"`; `generateUtils.js` has `triggers` + `resolvers` collection cases. (Supersedes the older "triggers in the .model" wiring.)
- **`setField` service tasks + `next` routing (declarative status/field set):** a `serviceTask` with `setField`/`value` sets a string/text field of the trigger entity via a generated `gen/events/<module>/<Process><Step>.java` `JavaDelegate` (`SetFieldSupport` → the `setters` glue collection + `SetField.java.template` + the `setters` case in `generateUtils.js`), persisting with the targeted single-column `updateProperty`; a `next: <step|end>` arg overrides a step's linear successor so a decision's two branches converge instead of falling through. Replaces the `custom.<Step>` scaffold for the approve→ACTIVE / reject→REJECTED pattern. See the "Decision steps" / `setField` semantics bullet above. Covered by `IntentEngineIT.set_field_glue_sets_entity_status_on_approve_reject_branches`.
- **`setRelationField` (set a relation-FK status):** the generic, relation-valued sibling of `setField` — `args: { setRelationField: <Relation>, value: <id> }` sets a to-one relation's FK to a seed id (unquoted), via the same `setters` glue + `SetField.java.template` (a `relation` flag branches the template). Allowed on a serviceTask (bound directly) and on a userTask (setter inserted after the task, like the Writer). See the `setRelationField` semantics bullet above.
Expand Down
4 changes: 0 additions & 4 deletions components/group/group-ui/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,6 @@
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-ui-settings-locale</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-resources-dashboard</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-resources-application</artifactId>
Expand Down
6 changes: 0 additions & 6 deletions components/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,6 @@
<module>resources/resources-theme-classic</module>
<module>resources/resources-theme-high-contrast</module>
<module>resources/resources-theme-mystic</module>
<module>resources/resources-dashboard</module>
<module>resources/resources-application</module>
<module>resources/resources-home</module>
<module>resources/resources-personal</module>
Expand Down Expand Up @@ -1349,11 +1348,6 @@
<artifactId>dirigible-components-resources-locale</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-resources-dashboard</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.dirigible</groupId>
<artifactId>dirigible-components-resources-application</artifactId>
Expand Down
17 changes: 0 additions & 17 deletions components/resources/resources-dashboard/.gitignore

This file was deleted.

29 changes: 0 additions & 29 deletions components/resources/resources-dashboard/about.html

This file was deleted.

29 changes: 0 additions & 29 deletions components/resources/resources-dashboard/pom.xml

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading