Skip to content

Load from URL Feature

File > Open > URL This feature allows users to visualize their own Graphs/models on Termboard by loading JSON files from external URLs (like GitHub repositories, Gists, or any publicly accessible location).

How to Use

Method 1: Using the UI Dialog

  1. Open Termboard
  2. Click on the File menu
  3. Select Load from URL
  4. Enter the URL to your JSON file
  5. Click Copy Termboard URL to share the link with other people
  6. Click Load Model

You can also combine it yourself by copying below and paste the URL of the model behind it:

https://termboard.com/app?url=

Method 2: Using URL Parameters

You can share a direct link to your model by adding the url parameter:

https://termboard.com/?url=https://raw.githubusercontent.com/username/repo/main/model.json

This allows users to bookmark or share links that automatically load specific models.

Requirements

JSON File Format

The JSON file must be in Termboard export format (File > Save File > JSON).

Example structure:

json
{
  "metadata": {
    "name": "My Model",
    "description": "Description of my model",
    "version": "1.0"
  },
  "data": {
    "terms": [...],
    "relations": [...]
  }
}

URL Requirements

  • HTTPS Only: For security, only HTTPS URLs are allowed (except localhost for development)
  • CORS Enabled: The server hosting the file must have CORS enabled
  • Public Access: The file must be publicly accessible (no authentication required)

Hosting Your Model

  1. Create a repository or use an existing one
  2. Add your JSON file (e.g., model.json)
  3. Commit and push to GitHub
  4. Get the raw file URL:
    • Navigate to your file on GitHub
    • Click the "Raw" button
    • Copy the URL (format: https://raw.githubusercontent.com/username/repo/main/model.json)

Example URL:

https://raw.githubusercontent.com/myusername/my-models/main/terminology.json

GitHub Gist

  1. Go to https://gist.github.com
  2. Create a new Gist with your JSON file
  3. Click "Create public gist"
  4. Click the "Raw" button
  5. Copy the URL

Example URL:

https://gist.githubusercontent.com/username/gist-id/raw/model.json

Other Hosting Options

Any web server that serves static files with CORS enabled will work:

  • GitLab raw files
  • Bitbucket raw files
  • Your own web server
  • Cloud storage services (with CORS enabled)

CORS Configuration

If you're hosting on your own server, you need to enable CORS. Add these headers:

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET

For GitHub and Gist, CORS is already enabled on raw file URLs.

Example Workflows

Workflow 1: Personal Knowledge Base

  1. Save your Termboard model as JSON (File > Save File > JSON)
  2. Upload to a GitHub repository
  3. Share the URL parameter link with colleagues
  4. They can view your model instantly without downloading

Workflow 2: Version Control

  1. Keep your models in Git
  2. Update and commit changes
  3. The URL always points to the latest version
  4. Users automatically get updates when they reload

Workflow 3: Documentation

  1. Create terminology models for your projects
  2. Link to them from your project README
  3. Contributors can visualize the domain model easily

Troubleshooting

"Failed to load from URL"

Possible causes:

  • URL is not HTTPS
  • Server doesn't have CORS enabled
  • File is not publicly accessible
  • Invalid JSON format
  • Network connection issues

Solutions:

  • Verify the URL is correct and accessible in your browser
  • Check that the file is in Termboard JSON export format
  • Use GitHub/Gist raw URLs which have CORS enabled
  • Test with localhost during development

"Invalid URL format"

  • Make sure the URL is complete and properly formatted
  • Must start with https:// v

Security

  • Only HTTPS URLs are accepted (prevents man-in-the-middle attacks)
  • No sensitive data should be included in public models
  • URL validation prevents malicious inputs
  • CORS checks ensure the server permits the request

Tips

  • Bookmark Links: Users can bookmark URLs with the ?url=... parameter for quick access
  • Short URLs: Use a URL shortener for easier sharing
  • Branch/Tag URLs: Use GitHub branch or tag URLs to point to specific versions
  • File Size: Keep models reasonably sized for better loading performance
  • Descriptive Names: Use clear file names that describe the model content