Announcement Integration: RSS and Atom feeds

As a Campus Cloud administrator, you may be asked to troubleshoot integrated feeds, such as by following the steps in this FAQ:

You can pull Announcement from an external RSS and ATOM source, as long as it is hosted on the web in a place accessible by our script, i.e. not protected by Firewalls or any other security system.

This article tells you how to format a feed for an announcement integration. There are specific formats for (1) RSS feeds and (2) ATOM feeds.

1. RSS

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
<channel>
<title>Test Feed</title>
<link>http://example.com/test/.atom</link>
<description>feed description</description>
<atom:link href="http://example.com/test.atom" rel="self" />
<lastBuildDate>Tue, 16 Apr 2019 14:45:15 +0000</lastBuildDate>
<item>
<title>Title</title>
<description>Description</description>
<guid>65c96b7f-a410-4494-b840-d5b82a52907</guid>
<pubDate>Tue, 16 Apr 2019 10:45:15 +0000</pubDate>
</item>
...
</channel>
</rss>

 

Each <item> tag in the feed must contain the following:

  • <description> String
  • <title> String
  • <guid> String | Number. Can be replaced by <id>
  • <pubDate> Datetime. Can be replaced by <start_date>, <startDate>, <start>, <startdate>, <pubdate> or <published>

If more than one of the datetime tags is present, we use the first and ignore the others. 

Note: Please make sure that the GUID key is unique for each announcements. The GUID key is a combination of the event host, feed URL, and GUID.

2. ATOM

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<id>2fff5f8a-39b9-4d7b-b102-28d53b28e0a2</id>
<title<Test Feed</title>
<updated>2019-04-16T14:45:15.475012+00:00</updated>
<link href="http://example.com" rel="alternate" />
<link href="http://example./test.atom" rel="self" />
<subtitle>feed description</subtitle>
<entry>
<title>Title</title>
<content>Description</content>
<id>65c96b7f-a410-4494-b840-d5b82a52907</id>
<published>Tue, 16 Apr 2019 10:45:15 +0000</published>
</entry>
</feed>

Each ​<​entry​>​ tag in the feed must contain the following:

  • <​id​>​ String | Number. Can be replaced by <​guid​>
  • <title> String
  • ​<​content​>​ String 
  • <published> Datetime. Can be replaced by <start_date>, <startDate>, <start>, <startdate>, <pubdate> or <published>

If more than one of the datetime tags is present, we use the first and ignore the others. 

Timing

The system syncs with the feed once per minute.