{"id":48413881,"url":"https://github.com/visokio/omniscope-custom-views","last_synced_at":"2026-04-06T06:35:19.751Z","repository":{"id":99885253,"uuid":"158822872","full_name":"visokio/omniscope-custom-views","owner":"visokio","description":"Public repository of Omniscope Custom Views, HTML5 + JavaScript graphs and charts.","archived":false,"fork":false,"pushed_at":"2025-11-19T16:30:25.000Z","size":4275,"stargazers_count":6,"open_issues_count":1,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-11-19T18:11:34.146Z","etag":null,"topics":["d3","d3js","dataviz","html","html5","js","omniscope","pyscript","python","visokio"],"latest_commit_sha":null,"homepage":"https://visokio.com/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/visokio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-11-23T11:19:13.000Z","updated_at":"2025-11-19T16:30:29.000Z","dependencies_parsed_at":"2024-05-21T19:34:12.937Z","dependency_job_id":"bbcfcd6c-0ee7-4bf7-b428-291c8d8792b1","html_url":"https://github.com/visokio/omniscope-custom-views","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/visokio/omniscope-custom-views","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visokio%2Fomniscope-custom-views","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visokio%2Fomniscope-custom-views/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visokio%2Fomniscope-custom-views/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visokio%2Fomniscope-custom-views/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/visokio","download_url":"https://codeload.github.com/visokio/omniscope-custom-views/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visokio%2Fomniscope-custom-views/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31463015,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["d3","d3js","dataviz","html","html5","js","omniscope","pyscript","python","visokio"],"created_at":"2026-04-06T06:35:17.883Z","updated_at":"2026-04-06T06:35:19.739Z","avatar_url":"https://github.com/visokio.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Omniscope Custom Views\n\nPublic repository for custom views for Omniscope 2018+.\n\nThe views added here are available to install in the view picker of Omniscope.\n\nVisit our forums for more info and discussion https://help.visokio.com/support/discussions/topics/42000001524 \n\nDocumentation: https://omniscope.me/_global_/customview/v1/docs/\n\n### List of views\n\n\u003ctable\u003e\n    \u003ctr valign=\"top\"\u003e\n        \u003ctd width=\"33%\"\u003eBubble Chart\u003cbr\u003e\u003ca href=\"bubblechart\" title=\"Bubble Chart\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/bubblechart/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eCalendar\u003cbr\u003e\u003ca href=\"calendar\" title=\"Calendar\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/calendar/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eFrance Choropleth\u003cbr\u003e\u003ca href=\"francechoropleth\" title=\"France Choropleth\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/francechoropleth/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr valign=\"top\"\u003e\n        \u003ctd width=\"33%\"\u003eKPI\u003cbr\u003e\u003ca href=\"kpi\" title=\"KPI\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/kpi/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eVenn Diagram\u003cbr\u003e\u003ca href=\"venndiagram\" title=\"Venn Diagram\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/venndiagram/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eBeeswarm\u003cbr\u003e\u003ca href=\"beeswarm\" title=\"Beeswarm\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/beeswarm/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr valign=\"top\"\u003e\n        \u003ctd width=\"33%\"\u003eSpain Force Dot Density Map\u003cbr\u003e\u003ca href=\"spainforcedotdensitymap\" title=\"Spain Force Dot Density Map\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/spainforcedotdensitymap/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eForce Coordinate Graph\u003cbr\u003e\u003ca href=\"forcecoordinategraph\" title=\"Force Coordinate Graph\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/forcecoordinategraph/thumbnail2.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eOrbital Transaction Flow\u003cbr\u003e\u003ca href=\"orbitaltransactionflow\" title=\"Orbital Transaction Flow\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/orbitaltransactionflow/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr valign=\"top\"\u003e\n        \u003ctd width=\"33%\"\u003eWeb View\u003cbr\u003e\u003ca href=\"web\" title=\"Web View\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/web/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eCustom HTML\u003cbr\u003e\u003ca href=\"customhtml\" title=\"Custom HTML\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/customhtml/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eWorkflow Execution\u003cbr\u003e\u003ca href=\"workflowexecution\" title=\"Workflow Execution\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/workflowexecution/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr valign=\"top\"\u003e\n        \u003ctd width=\"33%\"\u003eSwitch Param\u003cbr\u003e\u003ca href=\"web\" title=\"Switch Param\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/switchparam/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eLambda Workflow Execution\u003cbr\u003e\u003ca href=\"lambdaworkflowexecution\" title=\"Lambda Workflow Execution\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/lambdaworkflowexecution/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eSet Parameters and Execute\u003cbr\u003e\u003ca href=\"setparamandexecute\" title=\"Set Parameters and Execute\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/setparamandexecute/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr valign=\"top\"\u003e\n        \u003ctd width=\"33%\"\u003eUpload and Execute\u003cbr\u003e\u003ca href=\"uploadandexecute\" title=\"Upload and Execute\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/uploadandexecute/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eTradingView\u003cbr\u003e\u003ca href=\"tradingview\" title=\"TradingView\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/omniscope-custom-views/raw/master/tradingview/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eTwitter View\u003cbr\u003e\u003ca href=\"twitterview\" title=\"Twitter View\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/omniscope-custom-views/raw/master/twitterview/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr valign=\"top\"\u003e\n        \u003ctd width=\"33%\"\u003eSequential Workflow Execution\u003cbr\u003e\u003ca href=\"sequentialworkflowexecution\" title=\"Sequential Workflow Execution\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/sequentialworkflowexecution/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eRunning Pivot View\u003cbr\u003e\u003ca href=\"runningpivot\" title=\"Running Pivot View\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/runningpivot/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003eCustom View Demo\u003cbr\u003e\u003ca href=\"customviewdemo\" title=\"Custom View Demo\"\u003e\u003cimg width=\"290\" src=\"https://github.com/visokio/custom-views/raw/master/customviewdemo/thumbnail.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr valign=\"top\"\u003e\n        \u003ctd width=\"33%\"\u003e\u003ca href=\"threeforcegraph\" title=\"3D Force Graph\"\u003e3D Force Graph\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003e\u003ca href=\"jsontree\" title=\"JSON Tree\"\u003eJSON Tree\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"33%\"\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n### How to create a new view\n\n - Add a folder with a name matching the unique view id (the view name which must not conflict with other view names).\n - The folder should have the following files (all file names have to be case-sensitive):\n    * icon.svg\n\n        32x32 px SVG icon following the same style as the existing icons.\n\n    * index.html\n\n        Main page loaded by the application to show the view.\n\n    * manifest.json\n\n        Configuration file for the view that defines the options and limitations. Manifest options should be declared with necessary restrictions (e.g. you should not be able to pick a text field in calendar view) and with descriptions inside them (for tooltips).\n\n    * README.md\n\n        Markdown file that describes the view following the same format as the existing readme files. Each view's readme.md file should explain what it's for (typical use case), what data structure you need for it to work, how to configure it / how the options work.\n\n    * thumbnail.png\n\n        290x290 px screenshot.\n\n    * test.ioz\n\n        Omniscope file to test the view.\n\n - Add an entry to the file views.json:\n    ```\n    {\n        \"name\": \"\u003c\u003cunique view id in lower case\u003e\u003e\",\n        \"displayName\": \"\u003c\u003cview name to display in the view picker\u003e\u003e\",\n        \"tags\": [\u003c\u003clist of tags to identify the view with\u003e\u003e],\n        \"files\": [\u003c\u003clist of additional file names that the view requires\u003e\u003e],\n        \"version\": 0\n    }\n    ```\n - Make sure manifest.json has the entries for \"icon\", \"tags\" and \"thumbnail\". See other view manifests.\n - Update the gallery of views in the README.md to include a thumbnail of the new view that links to the view readme file.\n - Filtering must work. If you filter, the view needs to update cleanly, and if you then reload the page, the view should look the same. Make sure each render is clean, and there isn't some UI effects hanging over from the previous state. This also implies poor man's brushing works properly.\n\n### Nice things to have\n\n - Selection\n - Tooltips/Labelling\n - Sizing, colouring, etc.\n - Suitability to any data. It's ok for a view to have specific data structure requirements (as long as you it's described in the readme file, and where possible manifest option tooltips)\n - Pixel-perfect (minor visual glitches that don't appear in every scenario are ok)\n - Proper brushing (note poor man's brushing is perfectly acceptable)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvisokio%2Fomniscope-custom-views","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvisokio%2Fomniscope-custom-views","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvisokio%2Fomniscope-custom-views/lists"}