Audience

Audience is used to determine content access. The four audience scopes (groups) are:

Audience Common NameAudience Internal Name
PBS Nationalnational
PBS KIDSkids
All Stationsall-stations
Local*local

* The "local" one is special, because the "local" Audience Scope will always have a station attached to it. So we can have a "local" Audience Scope with the WETA station. Or a "local" Audience Scope with WNET, and so on. 

Multiple audiences can be attached to a show. Let's suppose we have following shows:

  • Foo (local WETA)
  • Bar (local WETA, local WNET, all-stations)
  • NOVA (national)
  • Arthur (kids)

The audience filtering in the API works as follows:

  • You can use multiple scopes when filtering: audience-scope=national&audience-scope=kids
  • If the "local" scope is used in the filtering, the "audience" parameter is required. "audience" is the call sign of a station or the station content id. we can have multiple audience filtering: audience=weta&audience=wnet. you can use either the id of the station or the call sign, but not both.

Examples:

  • all national shows and wnet local: audience-scope=national&audience-scope=local&audience=wnet: Bar, NOVA
  • all national shows, wnet and weta local: audience-scope=national&audience-scope=local&audience=wnet&audience=weta: Foo, Bar, NOVA
  • wnet and weta local: audience-scope=local&audience=wnet&audience=weta: Foo, Bar
  • national and kids: audience-scope=national&audience-scope=kids: NOVA, Arthur
  • all-stations and national: audience-scope=all-stations&audience-scope=national: Bar, NOVA

Asset Availability

Due to the various cache times, we cannot guarantee that a video asset will be available exactly at the start time that is set in Media Manager. For timely content, such as a video that is aligned with a broadcast, we recommend that you schedule your content to go live 30-60 minutes before you want it to go live on your site. This ensures it will go live on time, despite cache times.

Availability is used to describe the interval during which an asset is available. It is also used when playing videos. For example, if a user donated to WGBH and wants to play a video for a show with local audience WGBH, we must use a URL Redirection Service (URS) url from the station members block. This is because when the URS link was registered, the available dates from the "stations members" block were used.

There are three levels of asset availability: 

PublicAll users who we don't know anything about (anonymous/non-logged in users or those without a localized station).
All MembersAll users who made a donation to a station that is different from the show's local audiences. For example, if a user donated to WGBH but is watching a show with audience PBS National, "all members" availability can be used. 
Station MembersAll users who made a donation to a station that is the same as one of the show's local audiences. For example, if a user donated to WGBH and is watching a show with local audience WGBH, "station members" availability can be used.

Relationship between shows and audience

Let's assume we have the following shows with assets:Let's assume we want to have the following shows on a site:
  1. Show #1 with Audience: PBS National
    1. Asset #1.1 availability:
      1. public: Not Available
      2. all members: Not Available
      3. station members: Available
    2. Asset #1.2 availability:
      1. public: Not Available
      2. all members: Available
      3. station members: Available
    3. Asset #1.3 availability:
      1. public: Available
      2. all members: Available
      3. station members: Available
  2. Show #2 with Audience: All Stations
    1. Asset #2.1 availability:
      1. public: Not Available
      2. all members: Not available
      3. station members: Available
    2. Asset #2.2 availability:
      1. public: Not Available
      2. all members: Available
      3. station members: Available
    3. Asset #2.3 availability:
      1. public: Available
      2. all members: Available
      3. station members: Available
  3. Show #3 with Audience: All Stations, WETA, WKLE
    1. Asset #3.1 availability:
      1. public: Not Available
      2. all members: Not available
      3. station members: Available
    2. Asset #3.2 availability:
      1. public: Not Available
      2. all members: Available
      3. station members: Available
    3. Asset #3.3 availability:
      1. public: Available
      2. all members: Available
      3. station members: Available
  4. Show #4 with Audience: WETA
    1. Asset #4.1 availability:
      1. public: Not Available
      2. all members: Not available
      3. station members: Available
    2. Asset #4.2 availability:
      1. public: Not Available
      2. all members: Available
      3. station members: Available
    3. Asset #4.3 availability:
      1. public: Available
      2. all members: Available
      3. station members: Available
  1. On the PBS.org, being localized to WKLE, I want to have all national shows and shows that are WKLE shows. We will have:
    1. Show #1 because the audience is PBS National
    2. Show #2 because the audience is All Stations (WKLE is included in all stations)
    3. Show #3 because the audience contains WKLE
    4. Show #4 must be excluded because the only audience is WETA.
  2. On PBS.org, not being localized, I want to have all national shows and (maybe?) all stations shows. We will have:
    1. Show #1 - audience PBS National
    2. Show #2 - audience All Stations
    3. Show #3 - audience All Stations
    4. Show #4 - must be excluded because the only audience is WETA
  3. On a WETA station portal, I want to have all national shows and only WETA specific shows. We will have:
    1. Show #1 - audience PBS National
    2. Show #4 - audience WETA.
    3. Show #2 and Show #3 must be excluded because they have All Stations and multiple local audiences (show #3)

Connection between audience and availability 

Let's assume we have the following shows with assets:Let's assume we want to display assets on a site that are available (the value of availability_window property from the API):
  1. Show #1 with Audience: PBS National
    1. Asset #1.1 availability:
      1. public: Not Available
      2. all members: Not Available
      3. station members: Available
    2. Asset #1.2 availability:
      1. public: Not Available
      2. all members: Available
      3. station members: Available
    3. Asset #1.3 availability:
      1. public: Available
      2. all members: Available
      3. station members: Available
  2. Show #2 with Audience: All Stations
    1. Asset #2.1 availability:
      1. public: Not Available
      2. all members: Not available
      3. station members: Available
    2. Asset #2.2 availability:
      1. public: Not Available
      2. all members: Available
      3. station members: Available
    3. Asset #2.3 availability:
      1. public: Available
      2. all members: Available
      3. station members: Available
  3. Show #3 with Audience: All Stations, WETA, WKLE
    1. Asset #3.1 availability:
      1. public: Not Available
      2. all members: Not available
      3. station members: Available
    2. Asset #3.2 availability:
      1. public: Not Available
      2. all members: Available
      3. station members: Available
    3. Asset #3.3 availability:
      1. public: Available
      2. all members: Available
      3. station members: Available
  4. Show #4 with Audience: WETA
    1. Asset #4.1 availability:
      1. public: Not Available
      2. all members: Not available
      3. station members: Available
    2. Asset #4.2 availability:
      1. public: Not Available
      2. all members: Available
      3. station members: Available
    3. Asset #4.3 availability:
      1. public: Available
      2. all members: Available
      3. station members: Available
  1. Not being logged in and not being localized we want to see all national and all station assets. We don't know anything about the user who's looking at the site, so we will go with public availability. And we will look at the shows with audience PBS National or All Stations
    1. Show #1. Asset #1.1 - not available for public
    2. Show #1. Asset #1.2 - not available for public
    3. Show #1. Asset #1.3 - available for public
    4. Show #2. Asset #1.1 - not available for public
    5. Show #2. Asset #1.2 - not available for public
    6. Show #2. Asset #2.3 - available for public
    7. Show #3. Asset #1.1 - not available for public
    8. Show #3. Asset #1.2 - not available for public
    9. Show #3. Asset #3.3 - available for public
    10. Show #4 - has only WETA audience, so we don't care about this show.
  2. Not logged in and being localized to WETA, I want to see all national and all station assets. We know that WETA station is not passport enabled, so we will look only at the public availability, because we don't care about passport, so all members and station members make no sense.  
    1. Show #1. Asset #1.3 - available for public
    2. Show #2. Asset #2.3 - available for public
    3. Show #3. Asset #3.3 - available for public
    4. Show #4. Asset #4.3 - available for public
  3. Not logged in and being localized to WKLE. I want to see all national and all station assets. We know that WKLE station is passport enabled, so we want to use passport assets to persuade the user to donate some money. If the audience for that show is a local audience, we will use station members availability, because we want to show the user what they get for donating money to WKLE. If the audience is National, we will use public. 
    1. Show #1. Asset #1.3 - available for public
    2. Show #2. Asset #2.1 - available for station members
    3. Show #2. Asset #2.2 - available for station members
    4. Show #2. Asset #2.3 - available for station members
    5. Show #3. Asset #3.1 - available for station members
    6. Show #3. Asset #3.2 - available for station members
    7. Show #3. Asset #3.3 - available for station members
  4. Being logged in (MVault member for WGBH) and not localized. I want to see all national and station assets. We don't know that the user is localized, so we will use national shows and shows that have All Stations audience. Because the user is a donator, we will use all members availability. 
    1. Show #1. Asset #1.2 - available for all members
    2. Show #1. Asset #1.3 - available for all members
    3. Show #2. Asset #2.2 - available for all members
    4. Show #2. Asset #2.3 - available for all members
    5. Show #3. Asset #3.2 - available for all members
    6. Show #3. Asset #3.3 - available for all members
  5. Being logged in (MVault member for WGBH) and localized to WETA (not passport enabled). I want to see all national and station assets. We will have the same business rules as for #4. We also know that the user is localized to WETA, so we can include those assets.
    1. Show #1. Asset #1.2 - available for all members
    2. Show #1. Asset #1.3 - available for all members
    3. Show #2. Asset #2.2 - available for all members
    4. Show #2. Asset #2.3 - available for all members
    5. Show #3. Asset #3.2 - available for all members
    6. Show #3. Asset #3.3 - available for all members
    7. Show #4. Asset #4.3 - available for public
  6. Being logged in (MVault member for WKLE) and not localized. I want to see all national and station assets. Because the user is a donator for WKLE, we will use all members for all shows, except for those with audience WKLE where we will use station members.
    1. Show #1. Asset #1.2 - available for all members
    2. Show #1. Asset #1.3 - available for all members
    3. Show #2. Asset #2.2 - available for all members
    4. Show #2. Asset #2.3 - available for all members
    5. Show #3. Asset #3.1 - available for station members
    6. Show #3. Asset #3.2 - available for station members
    7. Show #3. Asset #3.3 - available for station members
  7. Being logged in (MVault member for WKLE) and localized to WETA (not passport enabled). I want to see all national and station assets. The same rules as #6 apply but we will include Show #4 which has only WETA audience. 
    1. Show #1. Asset #1.2 - available for all members
    2. Show #1. Asset #1.3 - available for all members
    3. Show #2. Asset #2.2 - available for all members
    4. Show #2. Asset #2.3 - available for all members
    5. Show #3. Asset #3.1 - available for station members
    6. Show #3. Asset #3.2 - available for station members
    7. Show #3. Asset #3.3 - available for station members
    8. Show #4. Asset #4.2 - available for all members
    9. Show #4. Asset #4.3 - available for public

Let's assume we have the following shows with assets:

Let's assume we want to play assets that are available in a player (the value of playable_window property from the API):
  1. Show #1 with Audience: PBS National
    1. Asset #1.1 availability:
      1. public: Not Available
      2. all members: Not Available
      3. station members: Available
    2. Asset #1.2 availability:
      1. public: Not Available
      2. all members: Available
      3. station members: Available
    3. Asset #1.3 availability:
      1. public: Available
      2. all members: Available
      3. station members: Available
  2. Show #2 with Audience: All Stations
    1. Asset #2.1 availability:
      1. public: Not Available
      2. all members: Not available
      3. station members: Available
    2. Asset #2.2 availability:
      1. public: Not Available
      2. all members: Available
      3. station members: Available
    3. Asset #2.3 availability:
      1. public: Available
      2. all members: Available
      3. station members: Available
  3. Show #3 with Audience: All Stations, WETA, WKLE
    1. Asset #3.1 availability:
      1. public: Not Available
      2. all members: Not available
      3. station members: Available
    2. Asset #3.2 availability:
      1. public: Not Available
      2. all members: Available
      3. station members: Available
    3. Asset #3.3 availability:
      1. public: Available
      2. all members: Available
      3. station members: Available
  4. Show #4 with Audience: WETA
    1. Asset #4.1 availability:
      1. public: Not Available
      2. all members: Not available
      3. station members: Available
    2. Asset #4.2 availability:
      1. public: Not Available
      2. all members: Available
      3. station members: Available
    3. Asset #4.3 availability:
      1. public: Available
      2. all members: Available
      3. station members: Available
  1. Not being logged in and not being localized, we want to play all national and all station assets. We don't know anything about the user who's looking at the site, so we will go with public availability. And we will look at the shows with PBS National or All Stations audience.
    1. Show #1. Asset #1.3 - available for public
    2. Show #2. Asset #1.3 - available for public
    3. Show #3. Asset #1.3 - available for public
  2. Not logged in and being localized to WETA (not passport enabled), I want to play all national and all station assets. 
    1. Show #1. Asset #1.3 - available for public
    2. Show #2. Asset #1.3 - available for public
    3. Show #3. Asset #1.3 - available for public
    4. Show #4. Asset #1.4 - available for public
  3. Not logged in and being localized to WKLE. I want to play all national and all station assets. Because we don't know anything about the user, we will always use the public window. 
    1. Show #1. Asset #1.3 - available for public
    2. Show #2. Asset #1.3 - available for public
    3. Show #3. Asset #1.3 - available for public
  4. Being logged in (MVault member for WGBH) and not localized. I want to play all national and station assets. We don't know that the user is localized, so we will use national shows and shows that will have All Stations audience. Because the user is a donator, we will use All Members availability. 
    1. Show #1. Asset #1.2 - available for all members
    2. Show #1. Asset #1.3 - available for all members
    3. Show #2. Asset #2.2 - available for all members
    4. Show #2. Asset #2.3 - available for all members
    5. Show #3. Asset #3.2 - available for all members
    6. Show #3. Asset #3.3 - available for all members
  5. Being logged in (MVault member for WGBH) and localized to WETA (not passport enabled). I want to play all national and station assets. We will have the same business rules as for #4. We also know that the user is localized to WETA, so we can include those assets.
    1. Show #1. Asset #1.2 - available for all members
    2. Show #1. Asset #1.3 - available for public
    3. Show #2. Asset #2.2 - available for all members
    4. Show #2. Asset #2.3 - available for all members
    5. Show #3. Asset #3.2 - available for all members
    6. Show #3. Asset #3.3 - available for all members
    7. Show #4. Asset #4.3 - available for public
  6. Being logged in (MVault member for WKLE) and not localized. I want to play all national and station assets. Because the user is a donator for WKLE, we will use All Members for all shows, except for those with audience WKLE, in which case we will use station members.
    1. Show #1. Asset #1.2 - available for all members
    2. Show #1. Asset #1.3 - available for all members
    3. Show #2. Asset #2.2 - available for all members
    4. Show #2. Asset #2.3 - available for all members
    5. Show #3. Asset #3.1 - available for station members
    6. Show #3. Asset #3.2 - available for station members
    7. Show #3. Asset #3.3 - available for station members
  7. Being logged in (MVault member for WKLE) and localized to WETA. I want to play all national and station assets. The same rules as #6 apply, but we will include Show #4 which has only WETA audience. 
    1. Show #1. Asset #1.2 - available for all members
    2. Show #1. Asset #1.3 - available for all members
    3. Show #2. Asset #2.2 - available for all members
    4. Show #2. Asset #2.3 - available for all members
    5. Show #3. Asset #3.1 - available for station members
    6. Show #3. Asset #3.2 - available for station members
    7. Show #3. Asset #3.3 - available for station members
    8. Show #4. Asset #4.3 - available for public