Complex playlist / staggering content: best practice

Hello everyone,

I have question regarding the design of more complex playlists within a region. My display uses a layout with one region that fills the entire screen. In this region I want to show media from a set of differnt customers in a loop. Some of my customers may provide multiple artowrks that should be shown in a rotating manner.

To make up an example, each covering 1/3 of the duration of the loop
Customer A: 1 image
Customer B: 2 images (B.1, B.2)
Customer C: 3 movies (C.1, C.2, C.3)

Right now the playlist in the region will look like this:
Customer A
Customer B.1
Customer C.1
Customer A
Customer B.2
Customer C.2
Customer A
Customer B.1
Customer C.3
Customer A
Customer B.2

Depending on the amount of artwork supplied this can become unwiedly. It would be great if anyone could point me to a good approach on this. Maybe there is a built in feature that could be used in this scenario.


You are probably doing it the best way possible at the moment… we do have plans to add some sort of dynamic playlists functionality where you could manage it with tags - i.e you tag each image with something and then your playlist is based on anything returned by that tag.

It would be great if you could mention your ordering requirements here - i’d imagine that you’d want to apply some sort of ordering naming convention? Or perhaps order by a second tag? Not sure

If two campaigns have the same priority and the same schedule, layouts from each will appear interleaved on the client until one campaign runs out of layouts. After that, only those remaining from the second campaign will appear until it also runs out. After the second runs out, the process starts again from the beginning.

I imagine the same will occur for 3 layouts. Try copying the layout and using campaigns such as these.
Campaign A = A1, A1, A1, A1, A1, A1
Campaign B = B1, B2, B1, B2, B1, B2
Campaign C = C1, C2, C3, C1, C2, C3

I expect the layouts will appear ordered something like this.
A1, B1, C1, A1, B2, C2, A1, B1, C3, A1, B2, C1, A1, B1, C2, A1, B2, C3

Thank you very much for your reply dan.

Some of the commercial solutions I have seen use nested playlists to achieve this. These nested lists could have different playback modes (sequential on each call, play all items, play random).

To visualize this approach

  • Root playlist
  • Customer A
  • Nested playlist Customer B (e.g. sequential)
    • Asset B.1
    • Asset B.2
  • Nested playlist Customer C (e.g. random)
    • Asset C.1
    • Asset C.2
    • Asset C.3

A basic approach could use a 1 layer deep nesting. Theoretically a nested playlist could have a parent id and could be part of the root playlist or other nested playlists but I imagine that this would be difficult to implement regarding a user-friendly GUI and useless to most people. Nested playlists that can be referenced elsewhere would add the benefit of re-using playlists in different layouts, too.

If a tag-based solution offered a different way to achieve a similar result it would be great, too. Maybe both of these can co-exist for even better flexibility.

@RLaurette is absolutely right with his analysis - you could achieve what you want if you had 1 image per layout and added your layouts to a Customer “Campaign” and then scheduled them with exactly the same display order and from date.

The only downside of that is that it might turn out to be as complicated as doing what you currently do by manually assigning them to a layout.

Definitely worth a shot though, if you fancy a tinker…

We’ve not considered nesting playlists before - although the entire playlist concept is designed to be reused across multiple layouts/regions (still not nested though).

The tag idea might provide you what you want - you could tag your media as you upload it with a tag called “customer-asset” and then have your playlist generated from the same tag. Adding assets to the library would automatically push those to the layouts containing that tag.

However, im not sure how you would order them without some sort of human intervention… effectively you’d have a flat list

  • A-asset
  • B-asset.1
  • B-asset.2
  • C-asset.1
  • C-asset.2
  • C-asset.3

The only thing I can think of is an option called “interleave grouping” (the name needs work :smile:) which effectively expands that list into the permutations: A1, B1, C1, A1, B2, C2, A1, B1, C3, A1, B2, C1, A1, B1, C2, A1, B2, C3 based on their “A, B or C” tag. Or in other words interleave them until you get a repeating pattern.

This could be rather powerful, but needs some careful thought as it is already making my head hurt a little…

So basically you’d tag each one with 2 tags:

  • customer-asset (to include it in the playlist)
  • customer (to use as the interleave grouping)
1 Like