This guide provides developers with two methods to embed an Orthogramic mindmap into their web applications:
iframe
Integration (Simple & Universal)
JavaScript SDK Integration (Flexible & Interactive with WebSockets)
Both methods require an API token for authentication.
The token should be retrieved securely and never exposed in frontend code.
Tokens can be passed via query parameters (for iframe
) or function arguments (for SDK).
<iframe>
This method allows embedding an Orthogramic mindmap via an <iframe>
, making it easy to integrate on any website.
<iframe src="https://orthogramic.com/embed/mindmap?id=YOUR_MAP_ID&token=YOUR_AUTH_TOKEN" width="100%" height="600px" style="border:none;" allowfullscreen> </iframe> |
Parameter | Type | Required | Description |
---|---|---|---|
|
| ✅ | The unique mindmap ID |
|
| ✅ | Authentication token |
| `"light" | "dark"` | ❌ |
|
| ❌ | Zoom level (e.g., |
<iframe src="https://orthogramic.com/embed/mindmap?id=12345&token=abc123&theme=dark&zoom=1.5" width="100%" height="600px" style="border:none;" allowfullscreen> </iframe> |
<iframe>
ResponsiveBy default, iframes
do not resize automatically. To make the mindmap responsive, you can:
Use CSS for flexible sizing.
Use JavaScript to adjust height dynamically.
.mindmap-container { width: 100%; height: 80vh; /* Adjust based on needs */ min-height: 500px; border: none; overflow: auto; /* Enable scrolling if necessary */ } |
<iframe class="mindmap-container" src="https://orthogramic.com/embed/mindmap?id=12345&token=abc123" ></iframe> |
For developers who need greater flexibility, our JavaScript SDK allows embedding a dynamic, interactive Orthogramic mindmap with real-time updates via WebSockets.
<script src="https://orthogramic.com/sdk/mindmap.js"></script> |
<div id="mindmap-container"></div> <script> const socket = new WebSocket("wss://orthogramic.com/ws/mindmap"); socket.onopen = function() { socket.send(JSON.stringify({ action: "subscribe", mindmapId: "12345", token: "abc123" })); }; socket.onmessage = function(event) { const data = JSON.parse(event.data); if (data.update) { OrthogramicMindmap.render({ container: "mindmap-container", mindmapId: data.mindmapId, token: "abc123", theme: "dark" }); } }; socket.onerror = function(error) { console.error("WebSocket Error: ", error); }; socket.onclose = function() { console.log("WebSocket connection closed. Reconnecting..."); setTimeout(() => { location.reload(); // Simple reconnection strategy }, 5000); }; </script> |
Parameter | Type | Default | Description |
---|---|---|---|
|
| Required | The HTML element ID where the mindmap will be loaded |
|
| Required | The unique ID of the mindmap |
|
| Required | Authentication token |
|
|
| Width of the container (supports |
|
|
| Height of the container |
|
|
| Zoom level ( |
If the WebSocket connection drops, implement an exponential backoff reconnection strategy:
<script> let retryCount = 0; function connectWebSocket() { const socket = new WebSocket("wss://orthogramic.com/ws/mindmap"); socket.onopen = function() { retryCount = 0; socket.send(JSON.stringify({ action: "subscribe", mindmapId: "12345", token: "abc123" })); }; socket.onmessage = function(event) { const data = JSON.parse(event.data); if (data.update) { OrthogramicMindmap.render({ container: "mindmap-container", mindmapId: data.mindmapId, token: "abc123", theme: "dark" }); } }; socket.onclose = function() { console.log("WebSocket closed. Reconnecting..."); retryCount++; setTimeout(connectWebSocket, Math.min(1000 * 2 ** retryCount, 30000)); // Exponential backoff }; } connectWebSocket(); </script> |
Feature |
| JavaScript SDK |
---|---|---|
Easy to integrate | ✅ Yes | ❌ Requires JavaScript |
Dynamic updates | ❌ No | ✅ Yes |
Custom styling | ❌ Limited | ✅ Full control |
Real-time support | ❌ No | ✅ Yes |
Secure authentication | ❌ Token in URL | ✅ Backend token retrieval |
Use <iframe>
if you need a quick embed with minimal setup.
Use the SDK if you need dynamic content, real-time updates, and full control.
For issues, contact support@orthogramic.com