Skip to main content

RSS datasource

RSS datasources allow you to fetch and display content from RSS feeds, news sites, blogs, and other syndicated content sources. The system automatically parses RSS and Atom feeds, extracting article titles, descriptions, publication dates, and other feed data for use in your widgets and templates.

Prerequisites

Before creating an RSS datasource, ensure you have:

  • A valid RSS or Atom feed URL that returns properly formatted XML
  • Proper network access to the RSS feed source
  • Understanding of the RSS feed structure and data you want to consume
  • Authentication credentials if required by the RSS source
  • Familiarity with RSS feed refresh patterns and update frequencies

Supported RSS Formats

The RSS datasource supports various syndication formats:

RSS 2.0 Standard:

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>News Feed</title>
<description>Latest news updates</description>
<link>https://example.com</link>
<item>
<title>Breaking News Story</title>
<description>Full article description here</description>
<link>https://example.com/article1</link>
<pubDate>Wed, 15 Jan 2024 10:30:00 GMT</pubDate>
<guid>https://example.com/article1</guid>
</item>
</channel>
</rss>

Atom 1.0 Format:

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Blog Updates</title>
<link href="https://blog.example.com"/>
<id>https://blog.example.com</id>
<updated>2024-01-15T10:30:00Z</updated>
<entry>
<title>New Blog Post</title>
<link href="https://blog.example.com/post1"/>
<id>https://blog.example.com/post1</id>
<updated>2024-01-15T10:30:00Z</updated>
<summary>Blog post summary content</summary>
</entry>
</feed>

RSS with Namespaces (Media, Dublin Core):

<rss version="2.0" 
xmlns:media="http://search.yahoo.com/mrss/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<item>
<title>Video News Story</title>
<media:thumbnail url="https://example.com/thumb.jpg"/>
<media:content url="https://example.com/video.mp4" type="video/mp4"/>
<dc:creator>Reporter Name</dc:creator>
<dc:date>2024-01-15T10:30:00Z</dc:date>
</item>
</channel>
</rss>

Create datasource

Go to Datasources > Click Add new in the External datasource tab > Choose the RSS type.

Basic Configuration

1. Update Schedule Decide how your datasource updates from the RSS feed source:

  • Select a Refresh Frequency for regular intervals (every minute, hour, day, etc.)
  • Specify a Cron Expression for custom scheduling based on the feed's update pattern
Example Cron Expressions for RSS
  • 0 */15 * * * * - Every 15 minutes for news feeds
  • 0 0 */2 * * * - Every 2 hours for blog feeds
  • 0 0 8 * * * - Daily at 8:00 AM for weekly publications
RSS Update Frequency

Most RSS feeds update between 15 minutes to several hours. Check the feed's typical update pattern before setting a high-frequency refresh to avoid unnecessary server load.
For more information about external datasource refresh options, see the External Datasource Refreshing documentation.

2. RSS Feed URL In the URL field, enter the RSS or Atom feed URL. The URL must:

  • Return valid RSS 2.0, RSS 1.0, or Atom XML content
  • Be accessible from your server without authentication issues
  • Use HTTP or HTTPS protocol
  • Respond with proper Content-Type: application/rss+xml or application/xml headers
Valid RSS URL Examples
  • https://feeds.bbci.co.uk/news/rss.xml - BBC News RSS
  • https://rss.cnn.com/rss/edition.rss - CNN RSS Feed
  • https://blog.company.com/feed.xml - Company Blog Atom Feed
  • https://api.example.com/rss?category=tech - Dynamic RSS with parameters

Advanced Configuration Options

3. Datasource Settings Configure datasource behavior:

  • Active: Enable/disable the datasource without deleting it. Useful for temporarily stopping RSS updates
  • Ignore Error counter: Continue operation even if errors occur during RSS feed fetching. Recommended for feeds that may have occasional downtime

4. Editor Settings Configure how the system processes RSS feed data:

  • Cache external resources: Store external content (images, enclosures) referenced in RSS items locally for faster access and offline availability
  • Remove broken external resource references: Automatically clean up invalid media links found in RSS feed items
  • Rotate cache on every update: Clear and rebuild cache with each RSS refresh to ensure fresh content from the feed
  • Exchange internal resource references: Update internal file paths when media content is moved or reorganized
  • Request settings: Configure HTTP headers, authentication, user agent, timeout, and other request parameters for RSS feed access

5. Array Processing Enable Randomize arrays to shuffle the order of RSS feed items each time the datasource updates. This is useful for:

  • Rotating through different news articles on each refresh
  • Creating varied content presentation from blog feeds
  • Displaying random selections from large RSS feeds
  • Ensuring different items are highlighted on each update cycle

RSS Feed Authentication

For RSS feeds requiring authentication or special access:

  1. Basic Authentication: Username and password for protected feeds

    • Configure in Request settings with basic auth credentials
    • Common for internal company news feeds or premium content
  2. API Key Authentication: For feeds requiring API keys

    • Header Name: Authorization or custom header like X-API-Key
    • Header Value: Your feed provider's API key
  3. User Agent Requirements: Some feeds require specific user agents

    • Header Name: User-Agent
    • Header Value: Wallboard-RSS-Reader/1.0 or provider-specific agent
  4. Custom Headers: Additional headers for feed access

    • Referrer headers for feeds that check source
    • Accept headers for content type preferences
    • Cookie headers for session-based feeds
Feed Access Best Practices
  • Use HTTPS RSS feeds when available for security
  • Respect feed provider's robots.txt and terms of service
  • Implement reasonable refresh intervals to avoid being blocked
  • Use proper User-Agent identification

6. Save Configuration Once all settings are configured according to your RSS feed requirements, click Save to create the datasource.

RSS Feed Testing

After saving, check the datasource preview to ensure RSS items are being parsed correctly and verify the data structure matches your widget requirements.

RSS Data Structure

RSS datasources provide access to standard RSS elements and namespaced extensions:

Standard RSS 2.0 Fields

  • title: Item headline or title
  • description: Item summary or full content
  • link: URL to the full article or content
  • pubDate: Publication date and time
  • guid: Unique identifier for the item
  • author: Content author or creator
  • category: Item categories or tags
  • enclosure: Media attachments (audio, video, images)

Atom Feed Fields

  • title: Entry title
  • summary: Entry summary content
  • content: Full entry content
  • link: Entry URL
  • updated: Last updated timestamp
  • published: Original publication date
  • author: Entry author information
  • category: Entry categories

Extended Namespace Fields

  • media:thumbnail: Thumbnail image URL
  • media:content: Media file URLs and metadata
  • dc:creator: Dublin Core creator field
  • dc:date: Dublin Core date field
  • content:encoded: Full HTML content

Using RSS Data in Widgets

After creating the RSS datasource, you can bind RSS feed data to widgets using standard notation:

RSS Item Properties:

  • Headlines: data.items[0].title, data.items[1].title
  • Descriptions: data.items[0].description, data.items[0].summary
  • Links: data.items[0].link, data.items[0].url
  • Dates: data.items[0].pubDate, data.items[0].published
  • Authors: data.items[0].author, data.items[0].creator

Feed Metadata:

  • Feed Title: data.title, data.channel.title
  • Feed Description: data.description, data.channel.description
  • Feed URL: data.link, data.channel.link
  • Last Updated: data.lastBuildDate, data.updated

Media Content:

  • Images: data.items[0].enclosure.url, data.items[0].media_thumbnail
  • Media Type: data.items[0].enclosure.type
  • File Size: data.items[0].enclosure.length

Widget Integration Examples

News Ticker Display:

  • Article titles: Breaking: data.items[0].title
  • Publication time: Published: data.items[0].pubDate
  • Source link: Read more: data.items[0].link

Blog Feed Widget:

  • Post headlines: Display data.items[].title in a list
  • Post summaries: Show data.items[].description or data.items[].summary
  • Author information: Present data.items[].author and data.items[].pubDate

Media Feed Display:

  • Video thumbnails: Show data.items[].media_thumbnail
  • Media descriptions: Display data.items[].description
  • Play links: Link to data.items[].enclosure.url

Common RSS Feed Sources

News and Media:

  • News websites (BBC, CNN, Reuters)
  • Magazine feeds (TechCrunch, Wired)
  • Local news and weather services
  • Press release feeds

Content and Blogs:

  • Corporate blogs and announcements
  • Industry publications and journals
  • Personal blogs and creative content
  • Educational institution updates

Social and Community:

  • Forum feeds and discussion updates
  • Social media RSS exports
  • Community announcements
  • Event and calendar feeds

Business Applications:

  • Internal company news feeds
  • Product update announcements
  • Customer support updates
  • Marketing campaign feeds

RSS Feed Characteristics and Limitations

Update Frequency Considerations:

  • Most RSS feeds update every 15 minutes to several hours
  • News feeds typically update more frequently than blog feeds
  • Some feeds may have inconsistent update schedules
  • Historical items may be removed as new content is added

Content Limitations:

  • RSS descriptions may be truncated (often 150-500 characters)
  • Full content may require following the article link
  • Media enclosures might have bandwidth or size restrictions
  • Some feeds provide only partial content to drive traffic

Technical Considerations:

  • RSS feeds are XML-based and require proper parsing
  • Invalid XML will cause feed processing to fail
  • Large feeds may take longer to process
  • Some feeds use non-standard elements or namespaces