A Re-Earth Visualizer plugin that enables visualization of CMS data on 3D maps with customizable markers and information displays.
- Multiple Data Sources: Support for CMS Data Visualizer Server and CMS Integration API
- Flexible Location Data: Handle longitude/latitude fields, coordinate arrays, or GeoJSON
- Customizable Visualization: Configurable marker appearance and infobox fields
- Inspector Block: Dedicated component for detailed data inspection
- Node.js >= 20.11.0
- Yarn 4.5.1
# Clone the repository
git clone <repository-url>
cd cms-data-visualizer-plugin
# Install dependencies
yarn install# Start development server with hot reload
yarn dev-build
# Or start specific components
yarn dev:visualizer:main # Main visualizer UI
yarn dev:inspector_block:main # Inspector block UI# Build production version and create zip
yarn build
# Build specific components
yarn build:visualizer # Main visualizer
yarn build:inspector_block # Inspector block# Preview built app
yarn previewThe plugin supports two data source types:
sequenceDiagram
Plugin->>Server: /items (api token)
Server->>ReEarth CMS: Integration API, get model & items (intergration token)
ReEarth CMS->>Server: Response
Server->>Server: Combine & filter fields
Server->>Plugin: Response
- Server Base URL: Base URL of your CMS Data Visualizer server
- Server API Key: Authentication key for server access
sequenceDiagram
Plugin->>ReEarth CMS: Integration API, get model & items (intergration token)
ReEarth CMS->>Plugin: Response
- Integration API Base URL: Base URL of your CMS Integration API
- Integration API Key: Authentication key for API access
- CMS Project ID: ID of the CMS project
- CMS Model ID: ID of the CMS model to visualize
- Filters: Optional value filters to limit displayed data
- Longitude & Latitude Fields: Separate fields for coordinates
- Longitude & Latitude Array Field: Single field containing coordinate array
- GeoJSON Field: Field containing GeoJSON geometry data
The plugin supports filtering CMS data when using the Integration API:
- Filter Format:
field===value|value2;field2===value3 - Multiple Values: Use pipe
|to separate multiple values for the same field - Multiple Fields: Use semicolon
;to separate different field filters - Example:
status===published|reviewed;category===news
This example will show only items where:
statusfield equals "published" OR "reviewed"- AND
categoryfield equals "news"
- Display Fields: Comma-separated list of fields to display in inspector block
- Marker Appearance: JSON configuration for marker styling
This plugin follows the Re-Earth extension-ui architecture:
- Extensions (
src/extensions/): Core plugin logic interfacing with Re-Earth API - UI Components: React-based user interfaces built with ShadCN/UI
- Shared Components: Reusable UI components and utilities
- React 19.1.0 with TypeScript 5.7.2
- Vite 6.0.3 for build tooling
- TailwindCSS 4.1.10 for styling
- Radix UI components with ShadCN/UI
- Re-Earth Core 0.0.7-alpha.38
yarn dev-build- Concurrent development with preview serveryarn manage- Interactive extension/UI management
yarn lint- Run ESLintyarn fix- Auto-fix ESLint issuesyarn format- Format code with Prettier
yarn build- Build and create distributable zipyarn preview- Preview production build
Use the interactive management script:
yarn manageThis allows you to:
- Create new extensions with UI components
- Add UI components to existing extensions
- Remove extensions or individual UI components
- Automatically update configuration files
- Use fixed dependency versions (no ^ or ~ prefixes)
- Follow existing code patterns and conventions
- Keep commit messages brief and on one line
[License information]