New User Progress

CMS Version

3.3.1 from Docker on U18.04LTS over VBox 7

Player Type

Android APK on A11 STB

Player Version



So I’ve finally gotten to the point where I have a running CMS and Player again (after crashing into a wall 4 years ago and dropping it), and I’ve put some images into a Layout, and scheduled 2 layouts (one with 3 1080p slides, and one with a URL to, and this all works as I’d expect.

So now it’s time to try to get a handle on the internal model of the CMS, so that I can suss out how to use the tools to accomplish what I want. And I just can’t.

Starting in almost the first 'graf of

I fall off. I cannot parse the very first sentence:

“Playlists allow for the creation of ‘Reusable Playlists’ which are created and managed independently to Layouts. Once created, Playlists can then be easily reused across multiple Regions and Layouts.”

And it seems to me like it’s critical to me to be able to: I can’t figure out the 50,000ft logical model of the data and dataflows which the CMS implements to the Players, and what order the data objects are stacked in – is that information somewhere else in the doco that I haven’t looked yet? Or is it just not in there? Cause it seems pretty important, to those of us out here who haven’t been developing the package for 10 years. :slight_smile:

All suggestions cheerfully accepted. Be happy to assist in fleshing out the documentation, as well, as I have with Zoneminder, K9, MythTV, and a number of other packages.

It is good to hear that you’re up and running and have some Layouts working as you’d expect.

We know we have to improve onboarding for new users into the platform, and that there can be a steep learning curve. We are trying to address that in our next major release with a simplified layout editing experience, and a simplified developer experience.

I do think that our dev/docs team do a great job and have spend 1000s of hours working on what is a huge set of features and documentation. We do really try to provide clear and concise documentation for how things work, as well as unpacking complex concepts. But, there is always more to do, and we’re happy to do it.

What do you think would help you understand the workflows within the system? Xibo has 5 core concepts explained on the first page of the user manual, but I presume this explanation didn’t help or wasn’t understood?

We’ve assumed here that people will understand the concept of a playlist - do we need to explain that? Where does this page break down for you?

Are you looking for an overall architecture diagram here then? A technical map of how the services operate?

The 50,000ft model is that a user creates layouts, schedules them to displays and then displays check-in with the CMS, download those layouts and show them at the allocated time. Is that more like 100,000ft? Where does this break down for you?


Well, as I imply later, I think the problem is that my mental model of the problem space differs, somewhat markedly, from that of your design.

Well, I think that, for me, the problem is that Layout is the toplevel object. This implies to me that it’s not possible to, for example, create a ‘playlist’ of different layouts, with different content, which do different things, and then schedule that ‘playlist’ as a package to displays – and indeed, I can’t; once I’ve scheduled layouts to a display, I can’t even find a place to unschedule them; I had to just whack the layouts and start over.

I’m sure that can’t be right, but it was all I found.

Right in that sentence. It uses ‘Playlist’ as both a jargon term and an English word, in the same sentence, and then also doesn’t define either, though I think that the sentence (ok, the writer) believes they’re defining it there.

Since I already have a problem with the “Layouts on top” model, I completely fall off the wagon right in that sentence, and even reading on further didn’t seem to help much. More on that below.

A drawing would sure help, yeah.

As noted, at the place where it doesn’t seem possible to see that list of scheduled layouts for a display; is that in there somewhere and I just didn’t find it? ‘Schedule’ seems the obvious name. But the Schedule tab on the CMS UI doesn’t seem to be talking about that. So maybe ‘Rundown’?

That would be the higher-level “playlist” I’m talking about, which would need a different name since that’s already taken. :slight_smile: I think that this is the core of my problem. It seems like that list of layouts, in play order, exists somewhere, but it’s not a first-class object, and I need it to be one.

Additionally: I’m a bit worried about "Playlist and “Sub-Playlist”; that those both need the same name suggests one is misnamed, or that the implementation is kind of a design hack to avoid some earlier-discerned problem. Another place where a drawing, preferably of someone’s actual working system, would help a lot.


My plan and goal for a signage system is that I want a Smart Person to do all the configuration (layout design and scheduling and that sort of thing), and then an operations person (essentially a secretary), to be able to log in and just see a folder full of slides, active and retired, and add new ones with optional run dates, and maybe manually retire and un-retire existing slides. And maybe some subfolders of slides for departments, buildings, or individual displays. I don’t need those folders to be magical; I’m ok with the sysop having to create them and group things into them. I just need that to be outside the domain of the slide-wrangler. I’m aware this will limit the power of the system from their perspective, but for me, that’s a feature, not a bug.

It’s possible that, for my use case, more complicated things might need to be possible later, but being able to separate content from structure by user is pretty important, and I’d bet I’m not alone in wanting that – and I expect that it’s there; I just can’t see where the lines are.

I note that you guys have a YT channel and a few tutorials and other videos, and that there are some user tutorials out there as well, but they’re all out of date, some going back to 1.7… and it’s clear that “the way we do things” has changed markedly since then.

Once I understand the damn thing, I’d be happy to contribute some on that front as well, but I gotta figure it out first.

[ It looks like my quoting problem was that the Quote All didn’t properly handle multi-level quoting; weird ]

You can blame Discourse for that one, not us :laughing:

A layout is the core object which we intend for you to use in a similar way to a “slide” in a presentation. You can group up layouts into campaigns, which are lists of layouts.

We intend for everything to be scheduled using the schedule, which is our concept that links date/time, the layout and the display together. You can schedule a campaign or a layout. You can chose for a layout to be scheduled “always”, or with various other common scheduling patterns (date/time, recurrence, etc). You can delete schedules from here too.

A layout has regions on it, and when you have more than one thing inside a region it plays them in turn. You might want to take a list of things in a region and reuse it across multiple layouts, in which case you can create a playlist for it.

When you want to use that Playlist, you add it to a layout with a sub-playlist widget - i.e. a playlist inside a playlist. There are various options for combining different playlists together in different ways.

We do hope to introduce some pithy short howto videos on this when we can - but to put it bluntly we’ve got so much to do and not enough hours in the day!

If you don’t want your content person to edit layouts, then you probably want them editing a playlist which you’ve assigned to your layout already. They can do that without ever seeing the layout or being able to change its structure, etc.

To do that create their playlist first, add some stuff to it. Create your layout, build it out as you would a slide and put a sub-playlist widget in the main content region. Assign the playlist you created, publish the layout and schedule it on the schedule (perhaps an always schedule will work for you, unless you have multiple layouts (slides) you want to swap in and out).

Now if you change the playlist’s content, the layout will update.

I’ve run out of time for today, but hopefully that gives you a pointer to continue your journey?

Kind of, and in doing some more poking around, with my thoughts focused some by this, I have figured out that the problem as I view it may be that layout scheduling is just a side effect, a property of a display; the grouping is, that is. There is no visible Schedule object that I can see, that there’s UI for, that you put layouts in, and then assign to (one or many) displays.

If I have a Schedule of 6 layouts on a display, I don’t see a way to edit it, or to assign it now to the 6 new displays I’m deploying this week. Or to flip a display or group to the “EMERGENCY: EVACUATE NOW” slide, and then go back… (Our deployment is a college campus.)

(This is a separate issue from the playlist-related stuff, for the record.)

In general, I’m pretty impressed with Discourse, actually.

And, completely out of order, it seems to me like, while I understand why you can sequence both Layouts, and items in a pane of a Layout, there may be some times when similar or identical objects might need to be put in one place or another, depending on – to service – the designs of the layouts. That takes some thinking, and everyone oughtta not have to do it…


I think part of the problem here is in fact “Sub-Playlist”.

That’s all Playlists do, right, is go into layouts as widgets? If so, that Widget should just be called Playlist, I suspect.

And I too, will leave it there for now; yes, I understand that most of this isn’t same-day-service stuff. :slight_smile:

Take a look at the Schedule page and the Campaign page. You should add a schedule in order to show a layout on a display.

You put in another schedule with a higher priority for as long as you need.

Currently that is all they do, correct.

Maybe it should, we have been thinking about that a lot.

It’s called Sub Playlist because it has more capability than simply adding a playlist - you can add more than one, mix them, cycle their items, etc.

Im afraid I dont understand your comments about layout ordering.

I did look at those places, and I do not see a manageable, first-class object which was created by my scheduling 3 layouts onto 1 display.

Is there some way to determine what that ‘higher priority’ needs to be, outside of merely making it a policy?

Well, part of this problem may be that I don’t yet properly understand where you can put a Playlist object, since that’s clearly not “on a layout”. :slight_smile: Where can a Playlist be added and managed, and what can it contain? [ RTFM is acceptable here, though a link would be handy ]

On looking back, I don’t either. And I’m no less tired tonight. Let me get back to you on that one. I think that I’m slowly groping, though, in the direction of “do you have a formal E-R diagram of the user-visible system?” as a modification/extension of my earlier comment.

Here is a screenshot of the schedule page on a test CMS:

The icons in each day denote an event, and I have opened today to show a list of events on that day. They all happen to be “Always” schedules with no start/end date, but you get the idea.

It works like most other calendar applications.

It is a policy thing - lowest to highest - the highest priority events are cycled by the player.

The only place you can assign a Playlist is on a Layout using the Sub-Playlist Widget.

They are added and managed on the Playlists page. You’ve read the documentation for that page already and it didn’t click for you, but we are rewording it to try and make it clearer.

We’re working on one, combined with a reword of the introduction page to both simplify it and make it more complete :crossed_fingers:

Well, with that hint, I managed to a) select a display and b) switch to Agenda view, and now I can at least see the contents of those Always items. I still can’t get my hands on the group of things scheduled on that display to copy it to some other display(s), but at least I can see and edit the pieces, and that’s a start. :slight_smile:

I note that you can’t see all displays in Agenda mode, but that makes sense since you’re drilled down into the virtual object which is “all the stuff scheduled on a display”.

Yeah, and now that I can see those events, I can figure out what to set it at.

Well, that seems to close the book on whether that widget should be renamed, eh? :slight_smile:

That may be a side effect of the name of the widget.

Indeed. Well, anything that makes the system more popular and hence better supported is a good investment of my time, even if it’s just by socratic inquiry. :slight_smile:

I think it might be productive for you to have a data package that… people could find in a new installation, or import into one, that is a complete fake company’s signage package with all the pieces in all the right places, that a tutorial could walk them through…

1 Like

It certainly merits some further discussion on our side. We’ve got a fairly large pack of changes to the layout editing experience which we’ve been working on for ~9 months, and some of them are related to playlists.

Is that something you’d be interested in alpha testing when its available?

Thanks, that’s a good idea too. We will give that some further thought as well.

You bet.

Alpha? Even better; enough time to make a contribution. :slight_smile:


1 Like

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.