Skip to main content
All CollectionsViz SocialMiddleware Sources
Setting up a Collection Middleware Source
Setting up a Collection Middleware Source
Updated over a week ago

This type of Middlewarw Source is used to integrate 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 Middleware Source, you must associate it to the Collection from which it will take the data.


1. General Settings

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

  • Custom title (2): In the XML or Database; it appears in the title field/column.

  • Language (3): When a post comes with no Username information, the Collection Middleware 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. Collection

When you create a Middleware Source of this type, you should assign to it a Collection that contains the posts you will display.

  • Click on Select to choose a Collection (1)

  • Select the Collection you want to connect to the Middleware Source (2)

3. 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

  • Version (2): This refers to the Middleware version. We recommend to always use the higher from the dropdown.

  • Connect to Middleware (3): 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.

  • Download Media (4): You can choose to download the images and videos your middleware fetches and store them locally. Take into account that videos are available only for version 4.0 onwards.

  • Download Profile Pictures (5): You can choose to download the user profile pictures your middleware fetches and store them locally.

XML integration

4.1.1 XML Example

<ticker> <widgetId>26926</widgetId>     <title>Sample Ticker DS</title>     <posts>         <post>             <id>770351404896714757</id>             <userName>John Smith</userName>             <screenName>johnsmith</screenName>             <text>             How Social Media can help your Customer Journey - Download for Free http://hubs.ly/H038rYB0 #ebook #customerjourney             </text>             <url> https://pbs.twimg.com/profile_images/767771568575512576/kp-8wCsF.jpg             </url>             <date>1472501062000</date>             <verified>false</verified>             <publisher>twitter</publisher>             <geolocation>                 <latitude>40.745592</latitude>                 <longitude>-73.987857</longitude>             </geolocation>             <mainMediaURL> http://pbs.twimg.com/media/B89jMqKIgAAM2Fu.jpg:large             </mainMediaURL>             <mainMediaType>jpg</mainMediaType> <localMainMediaPath>/path/to/downloaded/media/image.jpg</localMainMediaPath>             <mainVideoURL> http://pbs.twimg.com/media/B89jMqKIgAAM2Fu.mp4             </mainVideoURL>             <mainVideoType>mp4</mainVideoType> <localMainVideoPath>/path/to/downloaded/media/video.mp4</localMainVideoPath>             <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>1472501062000</displayDate>             <displayVerified>false</displayVerified>         </post>         ...     </posts> </ticker>

4.1.2 Fields Description

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

Field

Description

Field (Avid Maestro integration)

ticker.widgetId

Id of the widget.

ticker.widgetId

ticker.title

Title of the ticker, as configured in the Widget.

ticker.title

ticker.posts.post.id

Id of the post within the social network (e.g., id of the Tweet).

ticker.posts.post.idX

ticker.posts.post.
userName

Full username within the social network.

ticker.posts.post.
userNameX

ticker.posts.post.
screenName

Username.

ticker.posts.post.
screenNameX

ticker.posts.post.text

Post's text.

ticker.posts.post.text

ticker.posts.post.url

URL to the avatar of the user who generated the post.

ticker.posts.post.urlX

ticker.posts.post.date

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

ticker.posts.post.dateX

ticker.posts.post.verified

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

ticker.posts.post.verifiedX

ticker.posts.post.publisher

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

ticker.posts.post.publisher

ticker.posts.post.
geolocation.latitude

If present, indicates the latitude in which the post was published.

ticker.posts.post.
geolocation.latitude

ticker.posts.post.
geolocation.longitude

If present, indicates the longitude in which the post was published.

ticker.posts.post.
geolocation.longitude

ticker.posts.post.
mainMediaUrl

URL to image posted by the user. It may be empty.

ticker.posts.post.
mainMediaUrl

ticker.posts.post.

mainMediaType

Image type of the media URL. It may be empty.

ticker.posts.post.
mainMediaType

ticker.posts.post.
localMainMediaPath

Full path to downloaded video taken from 'mainVideoUrl'. It may be empty.

ticker.posts.post.
localMainMediaPath

ticker.posts.post.
mainVideoUrl

URL to video posted by the user. It may be empty.

ticker.posts.post.
mainVideoUrl

ticker.posts.post.
mainVideoType

Video type of the video URL. It may be empty.

ticker.posts.post.
mainVideoType

ticker.posts.post.
localMainVideoPath

Full path to downloaded video taken from 'mainVideoUrl'. It may be empty.

ticker.posts.post.
localMainVideoPath

ticker.posts.post.
originalUserName

In the case of retweets, full name of the user whose Tweet was retweeted.

ticker.posts.post.
originalUserName

ticker.posts.post.
originalScreenName

In the case of retweets, username whose Tweet was retweeted.

ticker.posts.post.
originalScreenName

ticker.posts.post.originalUrl

In the case of retweets, url of the avatar of the user whose Tweet was retweeted.

ticker.posts.post.originalUrl

ticker.posts.post.originalDate

In the case of retweets, time at which the tweet published was retweeted.

ticker.posts.post.originalDate

ticker.posts.post.originalVerified

In the case of retweets, boolean that indicates whether the user whose Tweet was retweeted is verified.

ticker.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.

ticker.posts.post.displayUserName

Full Name of the user in the Social Network that should be displayed.

ticker.posts.post.displayUserName

ticker.posts.post.displayScreenName

Username to be displayed.

ticker.posts.post.displayScreenName

ticker.posts.post.displayUrl

URL to the avatar of the user that should be displayed.

ticker.posts.post.displayUrl

ticker.posts.post.localAvatarPath

Full path to downloaded avatar image taken from 'displayUrl'.

ticker.posts.post.localAvatarPath

ticker.posts.post.displayDate

Date of the post that should be displayed (milliseconds since the epoch).

ticker.posts.post.displayDate

ticker.posts.post.displayVerified

Boolean indicator verified user that should be displayed.

ticker.posts.post.displayVerified

Database integration

When using this kind of integration, a database table with the following columns is created. The type of 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., 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 image posted by the user. It may be empty.

mainMediaUrl

mainMediaType

Image type of the media URL. It may be empty.

mainMediaType

localMainMediaPath

Full path to downloaded image taken from 'mainMediaUrl'. It may be empty.

localMainMediaPath

mainVideoUrl

URL to 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, full name of user whose Tweet was retweeted.

originalUserName

originalScreenName

In the case of retweets, name of 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

JSON File integration

6.1.1 JSON Example

{ "widgetId":34310, "title":"Ticker JSON", "posts":[ { "id":"1313886440342859777", "userName":"blackbird", "screenName":"artsportfun", "text":"Lionel Messi as Picasso artwork.\n#Messi", "url":"https://3rd-cdn.flowics.com/3rd/https/pbs.twimg.com/profile_images/1273927994248237056/SQbufxfs_reasonably_small.jpg", "date":1602089912000, "verified":false, "publisher":"twitter", "geolocation":null, "mainMediaUrl":"http://pbs.twimg.com/media/EjvcwBWWoAAJC7Z.jpg:large", "mainMediaType":"image/jpeg", "mainVideoURL":null, "mainVideoType":null, "originalUserName":"", "originalScreenName":"", "originalUrl":"", "originalDate":"", "originalVerified":"", "displayUserName":"blackbird", "displayScreenName":"artsportfun", "displayUrl":"https://3rd-cdn.flowics.com/3rd/https/pbs.twimg.com/profile_images/1273927994248237056/SQbufxfs_reasonably_small.jpg", "displayDate":1602089912000, "displayVerified":false, "localMainVideoPath":"", "localAvatarPath":"C:\\Midlleware test\\media\\https\\3rd-cdn.flowics.com\\dbadb934889b5bedd77b92e0e8c17199fd070d4b.jpg" }, { "id":"1313886950647099393", "userName":"Yanger Jamir", "screenName":"YangerJ24108662", "text":"@Lionel_Messi_ID Leo please don't be discouraged you are the best player....when you are sad I feel you but nothing is impossible.. bring the la Liga home #messi", "url":"https://3rd-cdn.flowics.com/3rd/https/pbs.twimg.com/profile_images/1230915842172321792/aGwL_eQe_reasonably_small.jpg", "date":1602090034000, "verified":false, "publisher":"twitter", "geolocation":null, "mainMediaUrl":null, "mainMediaType":null, "mainVideoURL":null, "mainVideoType":null, "originalUserName":"", "originalScreenName":"", "originalUrl":"", "originalDate":"", "originalVerified":"", "displayUserName":"Yanger Jamir", "displayScreenName":"YangerJ24108662", "displayUrl":"https://3rd-cdn.flowics.com/3rd/https/pbs.twimg.com/profile_images/1230915842172321792/aGwL_eQe_reasonably_small.jpg", "displayDate":1602090034000, "displayVerified":false, "localMainVideoPath":"", "localAvatarPath":"C:\\Midlleware test\\media\\https\\3rd-cdn.flowics.com\\4cff42e9a49ae719043434106b08d5618e2e2ceb.jpg" }, { "id":"1313889353710542849", "userName":"Nexho_11", "screenName":"Nexho__11", "text":"#CFC #MESSI #CHELSEAFC", "url":"https://3rd-cdn.flowics.com/3rd/https/pbs.twimg.com/profile_images/1263412725780303874/LvAkrt52_reasonably_small.jpg", "date":1602090607000, "verified":false, "publisher":"twitter", "geolocation":null, "mainMediaUrl":null, "mainMediaType":null, "mainVideoURL":null, "mainVideoType":null, "originalUserName":"", "originalScreenName":"", "originalUrl":"", "originalDate":"", "originalVerified":"", "displayUserName":"Nexho_11", "displayScreenName":"Nexho__11", "displayUrl":"https://3rd-cdn.flowics.com/3rd/https/pbs.twimg.com/profile_images/1263412725780303874/LvAkrt52_reasonably_small.jpg", "displayDate":1602090607000, "displayVerified":false, "localMainVideoPath":"", "localAvatarPath":"C:\\Midlleware test\\media\\https\\3rd-cdn.flowics.com\\222cc504f7d67ccc3057036fc5d81758be6472e8.jpg" } ] }

6.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'.

Did this answer your question?