RSS Feeds

Dynamic content collections (e.g. news) can be shared on or outside your site.

On this page:

Last reviewed: October 15, 2024

Browser Dependent

Browsers handle RSS feeds differently and those without a built-in RSS reader will display your feed as raw XML code or even throw up an error (e.g. Firefox and IE have RSS readers, but Chrome does not).

Building an RSS Feed from Your UBCMS Content

Using RSS, UBCMS content, especially news or announcements, can be embedded onto another website or pushed to subscribers. The technology is dated, but has regained some popularity (read more about RSS). For the UBCMS, setting up an RSS feed requires additional steps in the 'backend' (in CRXDE).

While any UBCMS page with a list can be set as an RSS feed, we recommend building a page for each feed in a clearly labeled /rss folder in your site. This will help with stewardship, and reduce the risk of that page being accidentally modified or deleted.

  1. Create an area for your feeds (e.g. /rss). This step is optional but recommended. You may also wish to hide this folder in site navigation but link to it selectivel,y (e.g. from your footer).
  2. Build a page for each desired RSS feed.
  3. Create a list with your desired content. 
    • Any list component will work.
    • The list can display-as any format.
    • Only the first on the page will be used.
  4. For your convenience, add a Call to Action at the top of the page (e.g. "RSS Feed") that will ultimately link to your feed's URL.
  5. Find the exact URL to that list’s node in CRXDE – we can help with that.
  6. Add “.txt.rss” to the end of the URL. So your URL will end up like …./page/jcr:content/par/listnodename.txt.rss.
  7. Optionally request a shortcut URL to make it easier to use -- the original path will will probably have “_######” with random digits in it.

In the examples, the News Center feeds have been shortened from
/content/www/news/rss/________/jcr:content/par/list.txt.rss
to /content/www/news/rss/________.rss

Example RSS feeds

Embedding an External Feed on Your UBCMS Page

To pull an external RSS feed into your UBCMS page, you will need to create a 'feeds' folder with a special Shared Content page, and then reference that page on your webpage using a Shared Content Reference.

Build the Shared Content Page

  • In your shared content folder, create a new parent page folder called "feeds". 
    • This folder must have the name "feeds", but its Title can be anything you wish.
    • You can build more than one feed in that folder.
    • The 'feeds' folder must be activated.
  • Within the 'feeds' folder, create a new page using the Feed Importer Template.
  • Your new page will be empty except for a Feed Importer component where you will configure your feed.

The UBCMS runs an import script that scans your source feed for new content. When each item is imported, an identifier is cached by the UBCMS so it will not be imported again.  This identifier is based on the fields available from the import, such as the <link> or <db:identifier>. The UBCMS does not do extensive comparison, so changes in title, time, or description at the source will not be recognized and the UBCMS version will not change. To change these details, delete the source item and introduce a new version into your feed.   

  • Source URL - Enter your target RSS feed's URL (e.g. http://libweb.lib.buffalo.edu/blog/music/?feed=rss2).
  • Update Interval - Define how frequently you wish your page to check for changes in the source feed in seconds (minimum is 300 seconds, or five minutes).  The feed will initially populate after the first interval passes (e.g. 300 seconds after you create and configure the page).
  • Removal Strategy - You have two choices:
    • 'remove items not present in feed' (default) - recommended
    • 'keep all items'

Be careful to use the right folder name.  /content/shared/..../feeds is required for this to work automatically.  

Learn more about using shared content.

Display the Feed on Your Web Page

Simple Solution

Use a Shared Content Reference to pull the feed through your new Shared Content page onto your UBCMS Web page.

> Read more about using the Shared Content Reference.

Please Note: This solution does not allow any control over the feed, such as the number of entries displayed.

Advanced Solution

Use a List Builder Component to gain more control , including the number of items revealed from the feed.

Using a List Builder, you can control how many items from the feed you wish to display.

> Read more about the List Builder Component.

  • Choose the 'Child Pages' option.
  • Point the component to your new Shared Content page.
  • In the Advanced Settings, select how many 'child pages' you wish to see, starting from the top of the feed (most recently added items). 

An example -- below are the first entries from the Music Library's news feed (http://libweb.lib.buffalo.edu/blog/music/?feed=rss2) displayed using a List Builder component. 

Technical Considerations

Server Caching

While your feed may be set to refresh frequently (default is 300 seconds), the page(s) it is displayed on may not update as regularly due to server caching. To ensure each page displaying the feed stays current, set a Flush Trigger in its Properties.

Best Practice: In the Properties Advanced tab, under Server Caching, Add a Flush Trigger referencing your /feed page (read more about Flush Triggers) on each page that displays your feed.

Daily Limits

From 5 a.m. - 9 p.m. daily limits are set to reduce server load. Feed imports are limited to 50 items for each import. If an import exceeds that number of records, the import will not occur until after the 9 p.m.

Best Practice: Keep your feed below 50 items.

Also, storing a large number of blog items locally in the UBCMS will interfere with synchronisation. 

Best practice: Use the default removal strategy setting 'remove items not present in feed' -- do not keep all items in the UBCMS.  

Updating Feed Records (Entries)

The UBCMS only makes a simple comparison during the import to see if a record already exists. It does not check each field in the entry, so changes to the headline, date, time, description, etc. will be ignored and the existing record in the UBCMS will be displayed.

Best Practice:

  • To revise a record, delete the original and create a new record in the source feed.

Additional Resources

Master Class

Was This Information Helpful?

(Required)
(Required)
(so we can thank you or request more details)
(Required)
(buffalo.edu addresses only please)
(Required)