Implicit Tags

Implicit tags are those that aren’t explicitly set when defining an asset but instead are implied by either the program schedule for a channel, current time/date, current channel or a countdown. A scene (aka template) can have any combination of implicit and explicit tags. There are no limits on the number of implicit or explicit tags in a scene and all tags are case insensitive except for date/time/countdown formatting strings.

 When defining an asset, the implicit tags are displayed in Flow in the top right. These tags will be set at render time based on the implicit condition:

Implicit tags fit into 4 categories:

  1. Program schedule tags

  2. Channel tags

  3. Date/time tags

  4. Countdowns tags

  5. Asset tags

Program Schedule Tags

Each channel can have a program schedule associated with it. This can be manually entered in Flow or can come from a datafeed or from a traffic system’s feed. Chameleon provides a series of tags to dynamically insert programming data into an asset. This comes from tags that look like:

 ^next.name – the name of the show that is coming up next

^now.hashtag – the current show’s hashtag

^next[3].time – the start time for the 3rd show after the current show

 Program schedule tags use the format next[#].<tag> where # represents the show relative to now and <tag> is the tag related to a show. # can be 0 or greater where next[0] is the current show and next[1] is the next show. As a simplification, there are 2 aliases for next[0] and next[1]:

  1. now is an alias for next[0]

  2. next is an alias for next[1]

 In Chameleon we support both programs and episodes. That is, if a program is a series, when we schedule the program, we can specify the episode for the series show. There are several standard tags for programs and episodes but additional tags can be defined. We call these dynamic tags. Basically, dynamic tags are a way of attaching additional information to a program or episode. They can be text or media.

 The standard tags for program are:

  1. name

  2. shortname

  3. time (the start time for a scheduled program)

  4. duration (the duration for the schedule program)

  5. synopsis

  6. hashtag

  7. rating

  8. firstaired

  9. url

Those tags correspond with the data that can be entered in Flow for a show:

This allows us to use tags like ^now.hashtag and ^next.name.

 The standard tags for episodes are:

  1. episode.name - the name of the episode

  2. episode.season - the episode's season (integer)

  3. episode.number - the episode's # in the season (integer)

  4. episode.synopsis - the episode's synopsis

  5. episode.firstaired

  6. episode.url

 Which corresponds with the standard data that can be defined for an episode in Flow:

This allows us to use tags like ^now.episode.name and ^now.episode.synopsis.

 But both program and episode tags can be supplemented with additional tags by defining dynamic tags. Additional tags can be defined for either using the dynamic tag editor:

In the above, the additional tags are Host and Headshot.

 By default, the program schedule of the current channel is used. But it’s possible to specify programming on other channels or even include more than one channel in a scene. This is done by using an optional prefix to program schedule tags:

 For example, if we want to show the name of the current show on ESPN1 and ESPN2 in a single scene, we use the tags:

^ESPN1.now.name

^ESPN2.now.name

This is what we call co-channels. We can give indexes to co-channels so that we can refer to them as channel 1 and 2. So, for the 2 ESPN tags, if we made ESPN1 the 1st co-channel and ESPN2 the second co-channel in the Branding Player, we can use the tags:

^1.now.name

^2.now.name

The reason this is useful is so the same scene can be used for different channels.

While tags by default are relative to now, they can also be setup to be relative to a specific time of day by using TagTime. This is done when defining an asset. If the Tag Time field in Flow is left empty, we use the current time when rendering the channel’s show data:

However, if we want the program schedule tags to be relative to a certain time of day, a tag time can be used. That way, the next tags are relative to the tag time. So, if we set a tag time of 7pm:

 

A tag like ^now.name refers to the name of a show at 7pm. And ^next.name refers to the show after that.

Channel Tags

Channel tags correspond to channels and their associated tags. They are defined here:

And channel can have unlimited dynamic tags associated with it. It can be used for bugs or hashtags.

To use these implicit tags in a scene, the corresponding tags would be:

  1. ^channel.hashtag

  2. ^channel.bug

There’s also support for co-channels for channel tags. So, if TSN1 is co-channel 1 and TSN2 is co-channel 2, we can use either:

^TSN1.channel.hashtag and ^TSN2.channel.hashtag or ^1.channel.hashtag and ^2.channel.hashtag.

Date/Time Tags

There is support for inserting time and date using implicit tags. The standard tags are:

  1. ^date

  2. ^time

 And they would format as defined using Window’s system’s date and time formatting.

But we can have finer control of the format of dates and times with the formatting string. For example:

  1. ^date[MM/dd/yyyy] gives us 10/22/2020

  2. ^time[HH:mm] gives us 16:33 is the time is 4:33pm.

The formatting is quite flexible. Here are a couple of references to formatting of date and time:

https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

https://www.c-sharpcorner.com/blogs/date-and-time-format-in-c-sharp-programming1

Countdown Tags

Countdown tags allow for setting up assets with countdowns to absolute or relative times. For example this asset which uses a scene with a countdown tag has been setup to countdown 1 minute from when the asset is taken:

This asset has been setup to countdown to the 2020 Halloween evening at 6pm.

Countdowns can also be relative to a time with no date required. For example, this asset is defined to countdown to 6pm from when the asset is taken:

The standard tag for a countdown is:

^countdown

But like date and time, countdowns can have formatting. For example:

^countdown[dd\.hh\:mm\:ss]

The formatting for countdowns is explained here:

https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-timespan-format-strings

 Asset Tags

There is only one asset tags at the moment. It’s a text tag which returns the name of the asset. It’s useful when writing a script in the CG where if the asset name is x, use media y or text z.