Appearance
Load from URL Feature
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
- Open Termboard
- Click on the File menu
- Select Load from URL
- Enter the URL to your JSON file
- Click Copy Termboard URL to share the link with other people
- 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.jsonThis 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
GitHub (Recommended)
- Create a repository or use an existing one
- Add your JSON file (e.g.,
model.json) - Commit and push to GitHub
- 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.jsonGitHub Gist
- Go to https://gist.github.com
- Create a new Gist with your JSON file
- Click "Create public gist"
- Click the "Raw" button
- Copy the URL
Example URL:
https://gist.githubusercontent.com/username/gist-id/raw/model.jsonOther 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: GETFor GitHub and Gist, CORS is already enabled on raw file URLs.
Example Workflows
Workflow 1: Personal Knowledge Base
- Save your Termboard model as JSON (File > Save File > JSON)
- Upload to a GitHub repository
- Share the URL parameter link with colleagues
- They can view your model instantly without downloading
Workflow 2: Version Control
- Keep your models in Git
- Update and commit changes
- The URL always points to the latest version
- Users automatically get updates when they reload
Workflow 3: Documentation
- Create terminology models for your projects
- Link to them from your project README
- 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