birkskyum opened a new pull request, #38035:
URL: https://github.com/apache/superset/pull/38035

   Closes #30307 
   
   ## Summary
   
   Implements [SIP-130](https://github.com/apache/superset/issues/28356) — 
migrate map visualizations from proprietary Mapbox GL to open-source MapLibre 
GL JS.
   
   Two new plugins:
   - **`preset-chart-deckgl`** — All 11 deck.gl chart types on deck.gl 9 + 
MapLibre (keys: `deck_*_maplibre`)
   - **`plugin-chart-maplibre`** — Scatter/cluster chart replacing legacy 
MapBox (key: `maplibre`)
   
   Legacy plugins unchanged — existing dashboards keep working with original 
keys (`deck_arc`, `deck_scatter`, etc.).
   
   They follow the new plugin style and will be the successors of the:
   - legacy-preset-chart-deckgl
   - legacy-plugin-chart-map-box
   
   
   ### Changes
   
   **Frontend**
   - New plugins use `react-map-gl` v8 + `MapboxOverlay`/`useControl` pattern 
(replaces v6 `StaticMap`)
   - Free map tiles by default (OpenFreeMap Liberty, Carto) — no API token 
needed
   - Map style configurable via Customize tab with freeForm URL support
   - Legacy deck.gl charts renamed to "(Legacy Mapbox)" in chart picker
   - Both presets registered side-by-side in `MainPreset.ts`
   
   **Backend**
   - `viz.py`: `MapLibreViz` + 11 `Deck*Maplibre` viz subclasses
   - `config.py`: CSP `connect-src` simplified to `https:` for tile provider 
flexibility
   
   
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   <img width="248" height="281" alt="Screenshot 2026-02-17 at 20 33 22" 
src="https://github.com/user-attachments/assets/faddd0fb-e382-4128-be2d-f1f993362e79";
 />
   <img width="155" height="245" alt="Screenshot 2026-02-17 at 20 32 51" 
src="https://github.com/user-attachments/assets/c33f8a2e-de72-4725-89cb-9dfc5c979453";
 />
   <img width="171" height="229" alt="Screenshot 2026-02-17 at 20 32 48" 
src="https://github.com/user-attachments/assets/cf6401fc-bc80-4b4d-a5ec-fc3e21862dcb";
 />
   
   
   
   ### A new feature:
   
   #### Ability to runtime set the map style, by selecting from drop down or by 
inserting a url:
   <img width="1626" height="617" alt="Screenshot 2026-02-17 at 20 37 55" 
src="https://github.com/user-attachments/assets/64c12553-9a6c-44ea-af3f-d1ebb82a5e0e";
 />
   <img width="1943" height="866" alt="Screenshot 2026-02-17 at 20 14 00" 
src="https://github.com/user-attachments/assets/02f5ec2a-1875-40cb-b074-1e553976f8e0";
 />
   
   
   ## Test plan
   
   - [ ] Chart picker shows both legacy "(Legacy Mapbox)" and new MapLibre 
variants
   - [ ] New deck.gl charts render tiles, layers, tooltips, and autozoom
   - [ ] MapLibre scatter chart renders dots, clusters, and supports custom 
tile URLs
   - [ ] Legacy charts on existing dashboards still work
   - [ ] No CSP errors in browser console
   
   ### TESTING INSTRUCTIONS
   <!--- Required! What steps can be taken to manually verify the changes? -->
   
   ### ADDITIONAL INFORMATION
   <!--- Check any relevant boxes with "x" -->
   <!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
   - [X] Has associated issue: #30307 
   - [ ] Required feature flags:
   - [ ] Changes UI
   - [ ] Includes DB Migration (follow approval process in 
[SIP-59](https://github.com/apache/superset/issues/13351))
     - [ ] Migration is atomic, supports rollback & is backwards-compatible
     - [ ] Confirm DB migration upgrade and downgrade tested
     - [ ] Runtime estimates and downtime expectations provided
   - [X] Introduces new feature or API - Adds new chart types (new MapLibre and 
new DeckGL types, but keep all existing)
   - [ ] Removes existing feature or API
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to