Feature Request: Common Alert Protocol (CAP) support

Introduction

Common Alert Protocol (CAP) - A frequently supported feature by many digital signage solutions allowing an alert message to be quickly pushed to digital signs, ‘overriding’ the existing layout content.

User Story

It is common to run into requests for this relatively frequently, especially from Universities, Health Care, or Government organizations requiring the solution to be tied into some sort of unified alerting system, (but increasingly from private companies as well). The lack of this functionality tends to make Xibo less attractive to customers looking for this built-in functionality in their RFPs, and digital signs are the obvious destination where alerting systems would want to push these emergency messages. CAP seems like the most universally established standard for this functionality.


For the dev team to fill in:

Status

The current status and the username of the:

  • Reporter
  • Drafter
  • Implementer

Implementation

A broad description of the changes required.

Effected Software

Which parts of Xibo are effected

DB Schema Changes

Any necessary DB Schema Changes

This is an interesting request - almost all of the hard work for this is done already (push messaging, layout overrides, etc) and in use via API integrations with other commercial alerting systems.

I’m not clear on how the CAP feed arrives at the CMS though - is it designed to be pushed or pulled?

That’s a good question. I’m guessing it’s pulled. I know it’s an XML based technology, and I am aware of some resources that may clarify that, however:

Here’s the Wikipedia link: https://en.wikipedia.org/wiki/Common_Alerting_Protocol
Here’s the link to the OASIS CAP 1.2 specification: http://docs.oasis-open.org/emergency/cap/v1.2/CAP-v1.2-os.html
And here’s a link to an existing PHP library for handling CAP on Git: https://github.com/AT-backbone/Cap-PHP-library

I imagine these might help?

After poking around a bit more, it looks like some implementations allow for push and pull sources, although I’m not sure what the mechanism behind this is, (https://www.weather.gov/documentation/services-web-alerts lists both push and pull sources for CAP content).

Hope this helps. But we are currently using a paid for digital display software that is able to switch to the alerts automatically. Most of the work is done by the emergency software, it creates a rss\xml. Through the CMS I was able to have the players parse the xml for a trigger word to either turn the emergency template on or off. Due to the high cost we are looking for an alternative.

Is this supported now?

No it isn’t; unfortunately it is one of those features that is requested occasionally, but never as much as other things. Its been raised again as something we should think about for 4.1 or 4.2.

1 Like

Understood. This may not be true in other countries, but here in the U.S., if you don’t support this, you’re automatically disqualified from most K12 and college/university campuses. They wouldn’t request as a feature because Xibo wouldn’t be far enough along in the process for someone to even entertain Xibo as a contender to begin with.

That’s an interesting insight, thank you. I’ll make a note of that against our log of the feature request so we can give it the proper weight.

According to this overview support for CAP is planned for version 4.1.

Is there any information about the expected release date?

Hi, welcome to the Community!

We are in the process of planning 4.1 and so included features are still subject to change at this point in the process. I can give you a clearer picture once those decisions have been made, I shall update here :slight_smile:

2 Likes

Hello Natasha,
Thank you for your reply. Do you think it will get some priority in the meantime? This feature would be of great use for displays across communities. For example, in Belgium we have BE-Alert which uses CAP since 2022 as the international standard for publishing alarm messages. It would be great if we can implement this.
Kind regards,
Marcel

The building blocks for this feature are already in place via several new features introduced in 4.1.

The workflow would be to create dedicated layouts for alerts which contain a CAP widget, schedule these layouts to the displays you want to show the alerts with their scheduling criteria set to the alert level you want from the CAP provider. The CAP provider connector keeps the feed up to date and sets the scheduling criteria on the displays which have it scheduled.

The piece we are missing is CAP providers to integrate with. It would be super useful if anyone interested in the topic could tell us which providers they are working with (ideally with documentation).

On that topic do you have the link to any API documentation for BE-Alert publish their CAP feed?

Hello Dan,
Thank you for the update. I have contacted the BE-Alert team for more information and have received an info package with a practical guide (in Dutch language). I think the most important parts are the following links.
The Sandbox test environment, with API documentation and a FAQ document:
https://sandbox.publicalerts.be
An example which shows a map, in case of live alerts:
https://publicalerts.be/CapGateway/#!/?lang=nl

1 Like

Thank you, very useful.

Did the guide go into any detail on how often the feeds could be requested or if there was any notification style system which informs the API that a new alert has been added?

Hello Dan,

I couldn’t find a limit for requests in the document. I took it through Google Translate and it seems quite readable for reference. Link to shared folder in Google Drive:
https://drive.google.com/drive/folders/1kAgRa77uCYnkUVeCajE0SJAEO_FuSc3a?usp=drive_link
The name of the PDF is “NCCN BE-Alert CAP-infopakket (English Google Translate)”.

Thanks, looking at the example it seems to just poll the feed once a minute.