feat(awe-client-angular): migrate charts from Highcharts to Apache ECharts with server-side rendering
Problem to solve
Highcharts 4.2.7 is over ten years old and Almis's commercial license only covers up to version 7.x. Apache ECharts (Apache 2.0 license) removes the license cost and improves quality, accessibility and performance. The requirement that used to block this move, generating SVG server-side, is now covered: since ECharts 5.3.0 it renders to SVG without a browser or extra dependencies (ssr: true and renderToSVGString()).
Further details
Impact on existing AWE 4 products (level 2 - Medium): the chart, chart-serie and chart-axis XML stays unchanged, and the render-server URL property is kept via an alias. The medium impact comes from projects injecting raw Highcharts options through chart-parameter: an equivalence table and a compatibility mode are published, mapping the most common cases (colors, axis formats, tooltip).
Effort: L (1-3 weeks) Delivery phase: 2 (major version, controlled breakage) Development order: 19 (Block 2 - Frontend; the Java translator is the only backend piece delivered in this block rather than in Block 3)
Proposal
- Rewrite the Java translator that converts
chartXML into chart options so it emits the ECharts format, serving both the browser andChartService - Replace the export-server image with a minimal Node service exposing the same HTTP contract
- Spike running that render inside the JVM with GraalJS, already a dependency of AWE
- Publish an equivalence table and compatibility mode for raw
chart-parameteroptions (colors, axis formats, tooltip)
What does success look like, and how can we measure that?
- Every existing
chart/chart-serie/chart-axisXML descriptor renders correctly on ECharts without modification - Server-side SVG rendering works without a browser dependency (
ssr: true,renderToSVGString()) - The render-server URL configuration property keeps working via an alias
- A compatibility mode maps the most common raw Highcharts
chart-parameteroptions to ECharts equivalents
Links / references
- Depends on: #770
- Part of the AWE 5 evolution plan (initiative 5 of 27, development order 19).