Custom visual Studio, assets and diagnostics

This page covers the working surfaces around a custom visual's code: the Studio where you edit and save it, the report assets it can reference, the AI panel beside its code, and the diagnostics you read when it fails. The two Studios share a name: the one on this page edits a visual in the visual library and saves it with Save as new version; for a report tile's Studio, where Apply puts code on the tile and versions follow the report's saves, see The custom visual Studio. For what a custom visual is and how it is shared, see Custom visuals and the visual library.

Open the Studio for a library visual

  1. Open the visual library (DataPrism > Visuals) and select the visual you want to change.
  2. Select Edit code. The button needs the Author DataPrism Custom Visuals permission. See Who can do what in DataPrism.
  3. The Studio opens over the library. While the version loads, the editor area reads Loading version....

Edit the files and save a new version

Upload and reference report assets

  1. In edit mode, open the tile's Studio (Edit code), and select assets/ in the file tree. The number beside assets/ counts the report's files; the Visual assets dialog opens.
  2. Drop files onto the dialog, or click to pick them. The upload area reads Drop files here, or click to pick them and switches to Uploading.... Files upload one at a time, and one failed file reports Asset not uploaded without stopping the rest.
  3. Reference an asset in the code as asset://file-name in markup or CSS, or by file name in a uni.assets call: uni.assets.url(name) gives its blob URL, and uni.assets.bytes(name) gives its bytes.

Use the AI panel

What a custom visual tile shows

Read the diagnostics drawer

Questions, answered

How do I open the Studio for a library visual?

Open the visual from the visual library (DataPrism > Visuals) and select Edit code. You need the Author DataPrism Custom Visuals permission; if the button is not there, ask an administrator. See Who can do what in DataPrism.

Why is Save as new version disabled?

Either the draft is not valid yet (one of the JSON files does not parse) or there is nothing new to save. With no changes, its tooltip reads No changes to save.

Does saving a version publish it?

No. Saving adds a new version; the published version moves only when you publish it from the library. See Custom visuals and the visual library.

The tile says "Paused to keep the page responsive". What does that mean?

The report paused this visual to stay responsive, and shows a faded snapshot of its last rendered state. Select Activate to run it again.

Why does a card show "Preview unavailable"?

The preview image could not be captured for that card, so the card shows the fallback text in its place.

Why is the diagnostics drawer empty?

It reads No entries yet when the tile has not reported anything yet. Refresh the report or the tile, then open the drawer again once the visual has rendered.

Why can I not open the diagnostics drawer?

It opens only in edit mode, on a report you can edit. Switch the report into edit mode first; if you cannot, ask an administrator for edit access.

Why does my report warn about a large asset?

A file above 2 MB is marked large, because every frame that references it downloads its own copy. The dialog also warns when the report's files would pass the 8.0 MB a visual may transfer. Compress or remove the files you do not need.

How do I use an uploaded file in my visual's code?

Reference it as asset://file-name in markup or CSS, or by file name in a uni.assets call. uni.assets.url(name) gives its blob URL and uni.assets.bytes(name) its bytes. Copy reference to {fileName} on the card copies the reference for you.

Why does a visual show an asset as missing?

The file was deleted from the report, or its stored file cannot be read. The card reads File missing or Could not load, and visuals referencing it show it as missing. Upload the file to the report again to restore it.

What does "SVG sanitised" mean?

The SVG you uploaded carried <style> or <foreignObject>. Those parts were removed before the file was stored, so it may render differently from the original. Check it in the preview and adjust the file if needed.

Does the AI panel work on more than one tile at a time?

Each tile keeps one conversation. Starting another on the same tile opens the existing thread instead of a second one.