Plugins Oda defines in a chat

While DataMind Oda works, it can define a small plugin of its own and run it to finish the job. The definition and every run leave cards in the chat, and the plugins panel above Settings controls what is defined and what runs. Looking inside the plugin system is on Inspecting plugins; the extensions pages call these plugins dynamic packages, starting at Dynamic packages.

When Oda defines a plugin

Oda defines a small plugin when a task calls for it. The definition appears in the chat as a Register Plugin card.

The plugins panel

Every defined plugin is managed from the plugins panel, above Settings in the sidebar footer.

Each row reports a status:

While it reads the list the panel shows Reading…, never an empty list before the read lands. A finished read with nothing defined reads No plugins defined yet; if the read fails, the panel shows Reading the plugin inventory failed: and the reason behind it, and the rows already on screen stay. While plugins run, a count line reads {count} running.

Run a plugin

  1. Open the plugins panel and find the plugin's row.
  2. Choose Run.

Approve a run

A plugin that brings an interface half can ask for your decision before that half loads. The panel opens itself when a new request arrives, and the plugin's row reads Awaiting approval.

Choose a version to run

Stop or remove a plugin

From a plugin's row you can end it in two ways:

Both leave their own cards in the chat, Stop Plugin and Remove Plugin, with the plugin's output. A removed plugin keeps its cards, greyed rather than gone, and its definition card reads Removed.

Limits to know

Questions, answered

Why did a Register Plugin card appear in my chat?

Oda defined a plugin while it worked, and the card records that definition so you can see what was built. The card is a record; you run the plugin from the plugins panel above Settings.

Can I start the plugin from its card?

No. The card is a record only and points to the panel for run controls. Open the plugins panel and choose Run on the plugin's row.

Why can I not find the plugins panel?

It appears while Developer tools is on, and it keeps out of the way when there is nothing to show. Developer settings covers the switch; once a plugin is defined or running, the panel appears above Settings in the sidebar footer.

What does the badge on the plugins button count?

The plugins that run plus the ones that wait for you. It highlights while an approval is pending.

What do the Client and Host tabs show?

The plugin's two source halves: the client code under Client and the host code under Host. When the plugin brings client code, the card starts on the Client tab.

What does Inspect on a card show?

The raw call and result behind the card, so you can read exactly what ran. Inspect appears on hover or focus.

Why did the plugins panel open on its own?

A new approval request arrived, and the panel opens itself so you can answer it. Answer the request and the panel closes, staying out of the way until the next one.

Why is everything on a row greyed out?

An action is in progress. Every control on the panel is disabled while a run, an approval or another action is being processed; the controls return when it finishes.

What happens if I choose Decline?

The request is answered no: the plugin does not load, and the panel closes. The plugin stays defined, so you can run it again whenever you want.

What do Current and Next mean in the version picker?

Current: names the version in use, and Next: names the version on its way once you have picked a different one. Retry and Roll back sit beside the transition.

Why does an older run card say a newer run is available?

A newer run of the same plugin exists, so the older card steps back: it reads A newer run card is available below, and its status reads Newer run available. The newest card hosts the plugin's own view.

Why has the plugin's interface gone from this window?

A reloaded window starts without loaded plugins. The plugin stays defined and its row stays in the panel; run it again from the panel to load its interface half back into this window.