Plugin store
The in-app plugin store lets you browse, search, and install community plugins into the current session. Plugins can add new track types, view types, data adapters, and custom menu items, and some carry their own data with them.
The full catalog of white-listed plugins, each with its config snippet, is also listed on the plugin store page.
To write your own plugin, see the developer guide.
Where the install persists depends on the context:
- web session - saved into the session and travels with the share link
- admin server - written to
config.json, persists across sessions - JBrowse Desktop - saved into the open session file
Some plugins (e.g. CIVIC) add their data automatically when installed. Others only register building blocks (a new track type, a new adapter) that need a matching config entry to be useful. Ask an admin if you can't edit the config yourself.
Keeping a plugin for every visit
A plugin installed in a web session goes when the session does: a new session, or someone else's link, starts without it. The pin beside a plugin in the Installed plugins list keeps it instead, so that JBrowse loads it every time you open it in this browser.
- The list is per configuration, not per site. A plugin kept on
jbrowse.org/code/jb2/main/?config=demos/hg002/config.jsondoes not load on another demo, or on another version of the app. - It lives in this browser and nowhere else. A session you share carries none of it, and neither does the same JBrowse opened on another machine.
- A kept plugin that did not load this visit — switched off, or skipped after a crash — is still a row in Installed plugins, with a switch beside it.
- An admin editing
config.jsonis installing for every visitor instead, so the pin does not appear in admin mode.
Permanent plugins load before anything is on screen, so a plugin that crashes on load would otherwise take the app down on every visit with no way back to the menu. Two things stop that:
- The fatal error dialog offers Reload without permanent plugins.
- If a load never finishes, JBrowse turns the stuck plugins off before the next visit. The plugin store then shows a banner naming them, with a switch per plugin and a Turn back on and reload button once the culprit is switched off.
Adding ?safeMode to the URL turns off every permanent plugin the same way, on
purpose.
See also
- Plugin store page
- Developer guide
- Plugin configuration
- PLUGIN_LISTS.md — the four lists a plugin can be in, the two that outlive a session (Desktop's global list and jbrowse-web's per-config permanent list), the crash marker behind both safe modes, and why installing one rebuilds the whole app