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!)