Setting up a Feed Data Source

This type of Data Source is used for displaying social media content through our Middleware / Viz Social Plugin with your graphics insertion system allowing you to display, in real-time, Tweets, Facebook posts, Instagram posts, Whatsapp messages, Twitch and Youtube comments, On-screen.

When you create this type of Data Source, you must associate it to the Flow from which it will take the data.


 To learn how to create a Broadcast Data Source, click here.

1. General Settings

  • Name (1): Naming your Feed Data Source is a good practice so that you and your teammates can identify it for later use.

  • Connected Flows (2): When you create this type of Data Source, it must be assigned to a Flow from which it will take the content. Click on Select and choose one of your listed Flows to add them to your Data Source.

  • Language (3): When a post comes with no Username information, the Feed Data Source by default changes To "Unknown Username". You can set the "Unknown Username" to English, Spanish or Portuguese language.

  • Hide Replied Users (4): You may choose if you wish to hide replied users from tweets:

2. Integration

  • Integration type (1): Select how you want to integrate the data according to the graphics system you have. If it is not listed click others. 

Vizrt Integration

Integrations with Vizrt can be made through:

  • Flowics Viz Social plugin (FeedStreamer), pick Vizrt from the dropdown.
  • Flowics Middleware + Data Reader, pick others from the dropdown.

If you are already using our viz social plugin you must update it to the latest version, if it was installed before April 20, 2018.


For additional information about Vizrt integration click here.

  • Integration Steps (2): From here you will be able to access the XML, JSON or you will find the steps on how to integrate according to your CG integration system.

  • Version (3): This refers to the Broadcast Data Source version. We recommend to always use the higher from the dropdown. Please refer to this article for more information.

  • Number of Posts (4): With this element, you can select the number of latest posts you want to display. You can choose from 5 up to 500 posts. Take into account that newer posts will replace the old ones.

  • Connect to Middleware (5): Enable it, pick your middleware from the dropdown and find the destination path where the File or Database are being written in your destination unit by the middleware. 

3. XML Integration

3.1 Example & Fields Description

3.1.1 XML Example

<feed>
    <widgetId>29982</widgetId>
    <title>Feed Data Source KB</title>
    <posts>
        <post>
            <id>1045355566841901056</id>
            <userName>John Smith</userName>
            <screenName>johnsmith</screenName>
            <url>https://pbs.twimg.com/profile_images/767771568575512576/kp-8wCsF.jpg</url>
            <date>1538067163000</date>
            <verified>true</verified>
            <publisher>twitter</publisher>
            <text> How Social Media can help your Customer Journey - Download for Free http://hubs.ly/H038rYB0 #ebook #customerjourney</text>

            <geolocation>
               <latitude>40.745592</latitude>
               <longitude>-73.987857</longitude>
            </geolocation>

            <mainMediaURL>http://pbs.twimg.com/media/B89jMqKIgAAM2Fu.jpg:large</mainMediaURL>
            <localMainMediaPath>/path/to/downloaded/media/image.jpg</localMainMediaPath>
            <mainMediaType>image/jpeg</mainMediaType>
            <mainVideoURL>http://pbs.twimg.com/media/B89jMqKIgAAM2Fu.mp4</mainVideoURL>
            <localMainVideoPath>/path/to/downloaded/media/video.mp4</localMainVideoPath>
            <mainVideoType>mp4</mainVideoType>

            <originalUserName>Flowics</originalUserName>
            <originalScreenName>flowics</originalScreenName>
            <originalUrl>https://pbs.twimg.com/profile_images/1232/maoNYpMK_normal.jpeg</originalUrl>
            <originalDate>1472501062001</originalDate>
            <originalVerified>true</originalVerified>

            <displayUserName>John Smith</displayUserName>
            <displayScreenName>johnsmith</displayScreenName>
            <displayUrl>https://pbs.twimg.com/profile_images/767771568575512576/kp-8wCsF.jpg</displayUrl>
            <localAvatarPath>/path/to/downloaded/media/avatar-kp-8wCsF.jpg</localAvatarPath>
            <displayDate>1538067163000</displayDate>
            <displayVerified>true</displayVerified>
            <curationDate>1538077240217</curationDate>
        </post>
        ...
    </posts>
</feed>


3.1.2 Fields description:

Note that some field names change when using Avid Maestro integration type.

Field
Description
Field (Avid Maestro integration)
feed.widgetId
Id of the widget. feed.widgetId
feed.title Title of the feed, as configured in the Widget. feed.title
feed.posts.post.id The id of the post within the social network (e.g., the id of the Tweet). feed.posts.post.idX
feed.posts.post.userName Full username within the social network. feed.posts.post.userNameX
feed.posts.post.screenName Username. feed.posts.post.screenNameX
feed.posts.post.url URL to the avatar of the user who generated the post. feed.posts.post.urlX
feed.posts.post.date

Date on which the post was published (milliseconds passed since the epoch).

feed.posts.post.dateX
feed.posts.post.verified Boolean that indicates whether the user who generated the post is verified. feed.posts.post.verifiedX
feed.posts.post.publisher

Indicates the social network in which the post was published (e.g., Twitter, Facebook, Instagram).

feed.posts.post.publisher
feed.posts.post.text Post's text. feed.posts.post.text
feed.posts.post.geolocation.latitude If present indicates the latitude in which the post was published. feed.posts.post.geolocation.latitude
feed.posts.post.geolocation.longitude If present indicates the longitude in which the post was published. feed.posts.post.geolocation.longitude
feed.posts.post.mainMediaUrl URL to the image posted by the user. It may be empty. feed.posts.post.mainMediaUrl

feed.posts.post.mainMediaType

Image type of the media URL. It may be empty. feed.posts.post.mainMediaType
feed.posts.post.localMainMediaPath Full path to downloaded video taken from mainVideoUrl. It may be empty. feed.posts.post.localMainMediaPath
feed.posts.post.mainVideoUrl URL to the video posted by the user. It may be empty. feed.posts.post.mainVideoUrl
feed.posts.post.mainVideoType Video type of the video URL. It may be empty. feed.posts.post.mainVideoType
feed.posts.post.localMainVideoPath Full path to downloaded video taken from mainVideoUrl. It may be empty. feed.posts.post.localMainVideoPath
feed.posts.post.originalUserName In the case of retweets, the full name of the user whose Tweet was retweeted. feed.posts.post.originalUserName
feed.posts.post.originalScreenName In the case of retweets, the name of the user whose Tweet was retweeted. feed.posts.post.originalScreenName
feed.posts.post.originalUrl In the case of retweets, URL of the avatar of the user whose Tweet was retweeted. feed.posts.post.originalUrl
feed.posts.post.originalDate In the case of retweets, time at which the tweet published was retweeted. feed.posts.post.originalDate
feed.posts.post.originalVerified In the case of retweets, boolean that indicates whether the user whose Tweet was retweeted is verified. feed.posts.post.originalVerified


The following fields help with the proper compliance with the guidelines for viewing contents. E.g., for Twitter these fields will contain the information of the tweet and original user and may display correctly both tweets as RTS.

feed.posts.post.displayUserName Full Name of the user in the Social Network that should be displayed. feed.posts.post.displayUserName
feed.posts.post.displayScreenName Username to be displayed. feed.posts.post.displayScreenName
feed.posts.post.displayUrl URL to the avatar of the user that should be displayed. feed.posts.post.displayUrl
feed.posts.post.localAvatarPath Full path to downloaded avatar image taken from displayUrl. feed.posts.post.localAvatarPath
feed.posts.post.displayDate Date of the post that should be displayed (milliseconds since the epoch). feed.posts.post.displayDate
feed.posts.post.displayVerified Boolean indicator verified user that should be displayed. feed.posts.post.displayVerified

4. Database Integration

4.1 Columns Description

When using this kind of integration, a database table with the following columns is created. The type of the columns is textual. For the specific type, check the middleware configuration, but they typically are text for MySQL or PostgreSQL and ntext for Microsoft SQL Server.

Column
Description
Column (Avid Maestro integration)
widgetId
Id of the widget (same value for each row). widgetId
title Title of the ticker, as configured on the Widget (same value for each row). title
id Id of the post within the social network (e.g., the id of the Tweet). idX
userName Full username within the social network. userNameX
screenName Username. screenNameX
text Post's text. text
url URL to the avatar of the user who generated the post. urlX
date

Date on which the post was published (milliseconds passed since the epoch).

dateX
verified Boolean that indicates whether the user who generated the post is verified. verifiedX
publisher

Indicates the social network in which the post was published (e.g., twitter, facebook, Instagram).

publisher
geolocation_latitude If present indicates the latitude in which the post was published. geolocation_latitude
geolocation_longitude If present indicates the longitude in which the post was published. geolocation_longitude
mainMediaUrl URL to the image posted by the user. It may be empty. mainMediaUrl
localMainMediaPath Full path to downloaded video taken from mainVideoUrl. It may be empty. localMainMediaPath

mainMediaType

Image type of the media URL. It may be empty. mainMediaType
mainVideoUrl URL to the video posted by the user. It may be empty. mainVideoUrl
mainVideoType Video type of the video URL. It may be empty. mainVideoType
localMainVideoPath Full path to downloaded video taken from mainVideoUrl. It may be empty. localMainVideoPath
originalUserName In the case of retweets, the full name of the user whose Tweet was retweeted. originalUserName
originalScreenName In the case of retweets, the name of the user whose Tweet was retweeted. originalScreenName
originalUrl In the case of retweets, URL of the avatar of the user whose Tweet was retweeted. originalUrl
originalDate In the case of retweets, time at which the tweet published was retweeted. originalDate
originalVerified In the case of retweets, boolean that indicates whether the user whose Tweet was retweeted is verified. originalVerified


The following fields help with the proper compliance with the guidelines for viewing contents. E.g. for Twitter these fields will contain the information of the tweet and original user and may display correctly both tweets as RTS.

displayUserName Full Name of the user in the Social Network that should be displayed. displayUserName
displayScreenName Username to be displayed. displayScreenName
displayUrl URL to the avatar of the user that should be displayed. displayUrl
localAvatarPath Full path to downloaded avatar image taken from displayUrl. localAvatarPath
displayDate Date of the post that should be displayed (milliseconds since the epoch). displayDate
displayVerified Boolean indicator verified user that should be displayed. displayVerified
curationdate Date when the post was accepted (milliseconds since the epoch). curationdate

5. JSON File integration

5.1 Example & Fields description

5.1.1 JSON Example

{
   "widgetId":34311,
   "title":"Feed JSON",
   "posts":[
      {
         "id":"1314225358443610112",
         "userName":"📍Empleo 24h📍",
         "screenName":"emplearte2020",
         "text":"Se busca fisioterapeuta en Sant Feliú de Llobregat 🗨 #empleo #trabajo #vacante\n👉🏻 ¡Accede a esta y otras ofertas de trabajo en tu ciudad! 📍 ¡Si ya tienes trabajo, haz RT para ayudar compartiendo esta oferta laboral! 👀  #barcelona",
         "url":"https://pbs.twimg.com/profile_images/1313834923300659202/v7EVtKWf_reasonably_small.jpg",
         "date":1602170717236,
         "verified":false,
         "publisher":"twitter",
         "geolocation":null,
         "mainMediaUrl":null,
         "mainMediaType":null,
         "mainVideoURL":null,
         "mainVideoType":null,
         "originalUserName":"",
         "originalScreenName":"",
         "originalUrl":"",
         "originalDate":"",
         "originalVerified":"",
         "displayUserName":"📍Empleo 24h📍",
         "displayScreenName":"emplearte2020",
         "displayUrl":"https://pbs.twimg.com/profile_images/1313834923300659202/v7EVtKWf_reasonably_small.jpg",
         "displayDate":1602170717236,
         "displayVerified":false,
         "curationDate":1602170727772,
         "localMainVideoPath":"",
         "localAvatarPath":"C:\\Midlleware test\\media\\https\\pbs.twimg.com\\d2cbda7fdfe2a93df786c1cc9799499a75fa3918.jpg"
      },
      {
         "id":"1314225317981061120",
         "userName":"Pau Sagrera",
         "screenName":"pausagrera",
         "text":"¡Ya queda menos para el finde! 🎉Os contamos nuestras 3 rutas favoritas para disfrutar en moto... ¡y los mejores sitios donde parar a comer! 😜\n¿Cuál es tu ruta favorita en moto? ¡Te leemos! 👀\n\n\n#mapit #gpstracking #IoT #barcelona #africatwin #motorbike",
         "url":"https://pbs.twimg.com/profile_images/1185144052259414016/Ykp7wCij_reasonably_small.jpg",
         "date":1602170707589,
         "verified":false,
         "publisher":"twitter",
         "geolocation":null,
         "mainMediaUrl":"http://pbs.twimg.com/media/Ej0Kwc4XcAAlOWD.jpg:medium",
         "mainMediaType":"image/jpeg",
         "mainVideoURL":null,
         "mainVideoType":null,
         "originalUserName":"Mapit IoT",
         "originalScreenName":"mapitme",
         "originalUrl":"https://pbs.twimg.com/profile_images/1153220884984926210/zmz2n0SJ_reasonably_small.jpg",
         "originalDate":1602169238000,
         "originalVerified":false,
         "displayUserName":"Mapit IoT",
         "displayScreenName":"mapitme",
         "displayUrl":"https://pbs.twimg.com/profile_images/1153220884984926210/zmz2n0SJ_reasonably_small.jpg",
         "displayDate":1602169238000,
         "displayVerified":false,
         "curationDate":1602170718201,
         "localMainVideoPath":"",
         "localAvatarPath":"C:\\Midlleware test\\media\\https\\pbs.twimg.com\\a07306cd10a5e339a74631aebb1957a687f0645c.jpg"
      },
   ]
}

5.1.2 Fields Description

Field
Description
widgetId
Id of the Widget
title Title of the ticker, as configured in the Widget.
posts.id Id of the posts. within the social network (e.g., id of the Tweet).
posts.userName Full username within the social network.
posts.screenName Username
posts.text Post's text.
posts.url URL to the avatar of the user who generated the post.
posts.date

Date on which the post was published (milliseconds passed since the epoch).

posts.verified Boolean that indicates whether the user who generated the post is verified.
posts.publisher

Indicates the social network in which the post was published (e.g., twitter, facebook, instagram).

posts.geolocation If present, indicates the latitude and longitude in which the post was published.
posts.mainMediaUrl URL to image posted by the user. It may be empty.
posts.mainMediaType Image type of the media URL. It may be empty.
posts.mainVideoUrl URL to video posted by the user. It may be empty.
posts.mainVideoType Video type of the video URL. It may be empty.
posts.originalUserName In the case of retweets, full name of user whose Tweet was retweeted.
posts.originalScreenName In the case of retweets, name of user whose Tweet was retweeted.
posts.originalUrl In the case of retweets, url of the avatar of the user whose Tweet was retweeted.
posts.originalDate In the case of retweets, time at which the tweet published was retweeted.
posts.originalUserName In the case of retweets, full name of user whose Tweet was retweeted.
posts.originalVerified In the case of retweets, boolean that indicates whether the user whose Tweet was retweeted is verified.
posts.localMainMediaPath Full path to downloaded image taken from 'mainMediaUrl'. It may be empty.
posts.localMainVideoPath Full path to downloaded video taken from 'mainVideoUrl'. It may be empty.

The following fields help with the proper compliance with the guidelines for viewing contents. E.g., for Twitter these fields will contain the information of the tweet and original user, and may display correctly both tweets as RTS.

posts.displayUserName Full Name of the user in the Social Network that should be displayed.
posts.displayScreenName Username to be displayed.
posts.displayUrl URL to the avatar of the user that should be displayed.
posts.displayDate Date of the post that should be displayed (milliseconds since the epoch).
posts.displayVerified Boolean indicator verified user that should be displayed.
posts.localAvatarPath Full path to downloaded avatar image taken from 'displayUrl'.


Was this article helpful?