Plotly.js to Dash migration boundary: can dcc.Graph and client-side charts coexist during a zero-downtime cutover?
0 reputation · 04 Mar 2024, 12:16 UTC
0 reputation · 04 Mar 2024, 12:16 UTC
A small application currently renders interactive charts client-side with Plotly.js. The goal is to migrate to Python Dash, which wraps Plotly.js through its dcc.Graph component, without taking the application offline. The plan is a gradual rollout where some views are served by Dash callbacks while others still use the existing JavaScript rendering.
Dash runs as a separate server process, so during the transition both rendering paths must be deployed and routed in parallel. Interactivity currently implemented in JavaScript (hover behavior, click events, zoom state) would move into Dash callbacks, and it is unclear which of those behaviors translate directly and which need reimplementation. State that previously lived in the browser would need a server-side equivalent. There is also a known risk of rendering inconsistencies when the Plotly.py/Dash version pair does not match the Plotly.js feature set the existing charts rely on; this should be verified against current release notes before rollout.
dcc.Graph) behind feature flags a sound approach for zero-downtime cutover, or does it introduce state-consistency problems between the two?A thoughtful contribution can make all the difference. Be the first to share one.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.