The Viz Artist plugin ControlList is commonly used to create tables with rows and columns. Filling data manually to a table can be a tedious task, and there are numerous ways of integrating data into the Viz Artist scene. To allow a Viz Pilot Edge user to select a data set and fill in the table automatically, link the ControlList field in the template to an Atom feed where the content of the feed is a CSV formatted text.

The data in this feed can also automatically update data on air, through the Update Service’s Auto Update function. For instance, polling data changing live as the poll takes place. The latest numbers from the feed can automatically be played out by the control clients, and can also update live on air.

To accomplish this, consider the following example:

  • Reporters in 3 cities execute a live poll of the citizen’s favorite winter activities. Whenever the poll graphics is played in the Viz Engine, the name of the current city and the latest numbers should be used. We can accomplish this through the following steps.

Design the Scene with a ControlList and Hierarchical Fields

In Viz Artist, create a scene with the ControlList plugin for the table with the data, and a ControlText plugin on the title field. These fields live independently and have to be filled in separately. But in Template Builder, we want to fill in both fields when the Viz Pilot Edge user selects a feed entry. Therefore, they need to be connected in an hierarchical way. This can be done by naming the field with the “dot notation”:

01.TITLE
01.BAR-INFO

image-20250110-160838.png

By giving them the same prefix, the fields have a common parent field called “01”. This is the field we link to the feed.

Create a Template based on the Scene

In Template Builder, create a new scene and select the newly created scene. In the field tree of the new template, the TITLE and BAR-INFO fields are children of 01:

image-20250110-161225.png

This template can now be saved, and if opened in Viz Pilot Edge, the user can fill in the title and data for the table manually. Though, in this example we want to simplify the data input and let the user choose from a data feed.

Serve Out a Feed with the Data

To select among data entries, an Atom Feed needs to be served out from a web server. It is fully possible, but not recommended for production, to serve out files from the Pilot Data Server’s “/app” folder. The file with the Atom Feed needs to be accessible via an URL from the Viz Pilot Edge web browser. Below is an example with one feed entry:

<feed xmlns="http://www.w3.org/2005/Atom">
<entry>
<title>Bergen</title>
<id>entry-bergen</id>
<updated>2025-01-10T12:05:00Z</updated>
<content type="text/csv">
NUM,TEXT
40,Hiking
30,Skiing
15,Ice skating
15,Snowboarding
</content>
<published>2025-01-10T14:26:17.290Z</published>
<link rel="self" type="application/atom+xml;type=entry" href="http://bgo-eddie-vm:1305/data/csv/bergen.entry.xml"/>
</entry>
</feed>

Note that the <content> of the feed entry is a regular CSV-formatted string with type text/csv.

To map the CSV string to the fields in the table, the following assumptions are made:

  • The first row in the CSV file contains the column names for the columns in the list field.

  • The row names are mapped to column names in the list fields. In our example there are tow columns in the CSV file called NUM and TEXT, and these names must exist as columns in the list field:

    image-20250113-083633.png
  • The mechanism does not allow binding the list fields with children.

  • The supported field types for the columns are string (single and multi-line), integer, decimal, integer and boolean.

  • Use CSV cells as written by Excel.

    • Cells containing commas (,) or double quotes (") are enclosed in double quotes (").

    • Any double quote within a cell is represented by two consecutive double quotes ("").

Link the Columns to the Feed

In our example we want to link the TITLE field in the template to the <title> of the feed entries, and we want to link the columns of our BAR-INFO list field to the <content> of the feed entries. In the Viz Artist scene design, the two fields were organized under a common parent field called 01.

  1. As Data Entry for the field 01, specify Enable Feed Browser or Feed-backed Drop-down.

  2. Enter the feed URL.

    image-20250113-090505.png
  3. When a parent field is linked to a feed, the child fields can be linked as well. This means that we can link TITLE and BAR-INFO to the feed in parent 01.

  4. For the TITLE field, select Title from the Select from feed item drop-down. Now the TITLE field is linked to the <title> of the selected feed entry.

  5. For the BAR-INFO field (the list field), select Content from the Select from feed item drop-down. Now the columns of the BAR-INFO field are linked to the CSV <content> of the selected feed entry.

The expected result is for the Viz Pilot Edge user to open the template, and select from any entry in the field, filling in the title and the table automatically. For Feed-backed Drop-down, the result should look like this:

image-20250113-091135.png

Info: When data is bound to the template with feed linking, Pilot Update Service can be enabled in “Auto update” mode for this template. When Media Sequencer takes data on air, the latest content from the feed entry is used. This is useful for sports results, polls, weather data or stocks (data that changes live). Media Sequencer can also update data while on air.