Targeting Digital Signage Content with Drupal, Xibo and RSS

a Xibo signage screen

A Xibo signage screen

One of the most popular articles on my blog is about Xibo – an open source digital signage system. I first setup our Xibo installation a couple of years ago; it hasn’t been developed heavily, but serves a useful function for informing our students and staff. In response to a request from Ben in response to my ‘Getting the message out with Xibo‘ post, here’s an overview of how I paired Xibo with the RSS aggregation and publishing functions of Drupal.

RSS in Drupal

Drupal offers as standard two very useful RSS functions; one for aggregating content, the other for publishing. Let’s focus on the publishing first.

Working with the default content type (that of a story), Drupal by default offers you an RSS feed of published content; just go to the root page of your Drupal installation to see the list of current stories and look for the RSS feed button at the foot of the page. The RSS feed can be customised (number of articles, feed content) by opening the Drupal content management settings and adjusting parameters in the RSS Publishing section. There’s no more configuration necessary.

Filtering RSS feeds with Drupal Taxonomy

We have a number of display screens around campus, each with a slightly different audience. For example, visitors to reception will be interested in different content than our students in the coffee shop. I have configured taxonomy in Drupal, which enables me to deliver targeted RSS feeds to specific displays. A single taxonomy vocabulary is defined, and populated this with multiple terms, each of which describes the location of our displays. For example, these include ‘refectory’, ‘reception’ and ‘staff room’. Users may not enter their own taxonomy terms, and in applying taxonomy, it’s therefore easy to train our users in one simple concept: choose from a defined list of displays which they would like content displayed on. So, for a content item intended to display in the reception area, ‘Reception’ is the taxonomy term selected from the list of available terms in the vocaubulary.

Having configured this, it’s worth heading back to your stream of stories from Drupal; by this point you need to have entered a few stories, then attached some different Taxonomy terms to each. At the root of the Drupal site, you will see all stories – and an RSS feed for the same content. Follow the link to one of your taxonomy terms (click the term itself); your list of stories immediately changes. What you now see is only the articles matching the taxonomy term you just selected. Most usefully for us, this view will be accompanied by an RSS feed – the feed will match the content you are viewing, and we can take this URL for use in Xibo. Your feed URL will look something like this:

<site name>/?q=taxonomy/term/<term ID>/0/feed

Obviously <site name> will be your Drupal root path, and <term ID> is the identity number of the taxonomy term you have selected.

Targeted Content Publishing in Xibo

This part is pretty easy now; we’ve got our filtered RSS feed URL and can paste this into the content for a given display. Just open the content editor, select the area in which you want to publish, and add (or edit) the RSS feed component, pasting the filtered URL we generated in Drupal. Save everything and go check out your Xibo display; after a refresh (which depends upon the rate you have set at both the server and client).

I haven’t mentioned RSS Aggregation here; this is an additional feature of Xibo that should work equally well. Aggretation will simply draw content from external feeds into Drupal on a scheduled basis for re-publishing. I have ambition to do this with content from our virtual learning environment (Moodle). Once you have aggregated the feeds, content can be re-published using the same principle.

If you are using Xibo, I hope you find this useful; it would be great to hear your experiences of using the application alongside Drupal in the comments.

(PS. Don’t forget to check out Ben’s computer repair service!)

8 Responses

  1. Ben Mangeng November 7, 2011 / 22:15

    Thanks a lot!
    The only part I am stuck at now is my feed will only update if I close the xibo client program and then open it again… Any ideas what I am missing?

    • chri5grant November 8, 2011 / 09:15

      Glad you are making progress, Ben! Check the Xibo Client Options; the ‘collection interval for content’ variable is set to 900 seconds by default (15 minutes). Try reducing this for more frequent updates. Personally I have found this setting to be a little unreliable, but it does work most of the time.

  2. Ben Mangeng November 8, 2011 / 17:54

    That is where I thought it was set at, I have mine set to 60 second. I will try a couple others to see if that helps any.

  3. Andy December 1, 2011 / 18:06

    In the client setup utility, check out the ‘expire layouts when running’ (or words to that effect) checkbox on the last tab. Could be that.

    • chri5grant December 1, 2011 / 19:44

      Nice one, Andy – thanks for the tip!

  4. Ben Mangeng December 3, 2011 / 00:53

    Figured out the timeline on the RSS feed must be less than the update interval. After that it updates exactly as it should!

    • Chris August 15, 2014 / 09:27

      Thanks for the positive feedback, Mike. The article is a bit dated now, but still includes some valid pointers for anyone looking to implement a signage solution on a limited budget. Digital signage has come a long way since – I can see that your business offers far more current and professional solutions!

Leave a Reply

Your email address will not be published. Required fields are marked *

Let\'s make sure you are human * Time limit is exhausted. Please reload CAPTCHA.